[Unity 2D] วิธีการจัดหน้าหลังโดยไม่ใช่ Z! by

31
May
0

โดยปกติแล้ว Unity เป็น tool ที่เอาไว้ทำเกม 3D ซึ่ง offset ตำแหน่งต่างๆก็จะเป็น x y z แต่ในเมื่อเราต้องการเราจะทำเกม 2D แล้ว z จึงเป็นค่าที่เราไม่ควรไปยุ่งเป็นอย่างมาก (ใช้แล้วจะงงเอง) การจัดหน้าหลังของ Unity แบบปกติก็จะใช้ค่า z เพื่อกำหนดความลึกแบบ 3 มิตื แต่พอเรามาทำ 2D เลยมีวิธีที่ไม่ใช้ Z ดังนี้ครับ

  • Object ทั่วไปใน Scene ของเราจะใช้ Sprite Renderer ซึ่งมีค่า Sorting Layer และ Order in Layer ซึ่งเราจะมาเริ่มกับ Sorting Layer กันก่อน

หลักๆที่เราจะใช้คือค่า Sorting Layer และ Order in Layer

  • ให้เรากดที่เมนู Sorting Layer ซึ่งตอนแรกจะมีแต่ Default ให้เราทำการเพิ่มก่อนโดยการกด Add Sorting Layer….

Add Sorting Layer… เพื่อเพิ่ม / ปรับ Layer

  • จากนั้นก็เพิ่ม Layer ต่างๆที่เราต้องการใช้ในการจัดเรียงหน้าแบบหลักๆกันก่อน (สามารถคลิกลากขึ้นลงเพื่อปรับได้)

Layer UI ด้านหน้า / Layer ตัวเกม / Layer ฉากหลัง

  • จากตัวอย่างเมื่อเราแบ่ง Layer หลักๆเช่น UI ด้านหน้า / ตัวเกม / ฉากหลัง เป็นที่เรียบร้อยแล้ว ในส่วนเลเยอร์ของตัวเกมเองก็จะมี Object หลายๆตัวที่ยังจัดเรียงไม่ถูกอยู่ ให้เราใช้ Order in Layer ครับ

ตัวละครด้านหลังมาทับตัวละครด้านหน้าซึ่งอยู่ใน Sorting Layer เดียวกัน

  • ซึ่ง Order in Layer ที่มีค่ามากจะอยู่หน้า Object ที่มีค่านี้น้อยกว่าเสมอๆ

ปรับค่าตัวหน้าให้มากกว่าก็จะอยู่เหนือกว่าทันที!

* ภาคเสริม : ใน Object ของ NGUI จะไม่มี Order in Layer ให้เราตั้งค่าที่ Depth แทนนะครับ (ทำงานเหมือนๆกัน)

ปรับ Depth แทนได้เลย

Enjoy this article?

Consider subscribing to our RSS feed!

ไม่มีความเห็น

ยังไม่มีความเห็น

ใส่ความเห็น

RSS feed for comments on this post

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน