[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 แทนได้เลย

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