คำถามติดแท็ก draw-order

9
ฉันจะเรียงลำดับสไปรต์ภาพสามมิติลงในลำดับที่ถูกต้องได้อย่างไร
ในเกม 2D บนลงล่างปกติสามารถใช้แกน y ของหน้าจอเพื่อจัดเรียงภาพ ในตัวอย่างนี้ต้นไม้ถูกจัดเรียงอย่างถูกต้อง แต่ผนังมีมิติเท่ากัน: กำแพง 2 คือหนึ่งพิกเซลใต้กำแพง 1 ดังนั้นจะถูกวาดหลังกำแพง 1 และสิ้นสุดที่ด้านบน ถ้าฉันจัดเรียงตามแกน y มีมิติเท่ากันผนังปรากฏในลำดับที่ถูกต้อง แต่ต้นไม้ไม่ได้: ฉันจะทำอย่างถูกต้องได้อย่างไร

4
ฉันจะกำหนดลำดับการวาดในเกมแฟลชมุมมองภาพสามมิติได้อย่างไร
นี่คือเกมแฟลชที่มีมุมมองภาพสามมิติ ฉันจำเป็นต้องรู้วิธีการเรียงลำดับวัตถุเพื่อให้ไม่จำเป็นต้องตรวจสอบบัฟเฟอร์ z เมื่อวาด สิ่งนี้อาจดูง่าย แต่มีข้อ จำกัด อื่นฉากหนึ่งอาจมีวัตถุมากกว่า 10,000 รายการดังนั้นอัลกอริทึมจะต้องทำงานในเวลาน้อยกว่า O (n ^ 2) วัตถุทั้งหมดเป็นกล่องสี่เหลี่ยมและวัตถุ 3-4 ชิ้นเคลื่อนที่ในที่เกิดเหตุ วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร? UPDATE ในแต่ละกระเบื้องมีเพียงวัตถุ (ฉันหมายถึงวัตถุไม่สามารถซ้อนทับกัน) และเราเข้าถึงทั้งแผนที่วัตถุและวัตถุมีตำแหน่งของตัวเอง UPDATE2 ดูตัวเลขเหล่านี้: ในวัตถุแรกสีน้ำเงินแรกควรวาดแล้วสีเขียวแล้วสีแดง ในขณะที่ในวินาทีที่คุณต้องวาดในลำดับย้อนกลับ คุณต้องวาดสีแดงก่อนแล้วจึงเป็นวัตถุสีเขียวและสีน้ำเงินในที่สุด อย่างที่คุณเห็นว่าไม่มีความแตกต่างในตำแหน่งของวัตถุสีน้ำเงินและสีแดงทั้งคู่มีระยะห่างที่แตกต่างจากกล้องและอื่น ๆ แต่เนื่องจากตำแหน่งสัมพัทธ์เป็นกล่องสีเขียวคุณต้องเปลี่ยนลำดับการวาดระหว่างสองภาพ นั่นคือสิ่งที่ทำให้ปัญหานี้เป็นระเบียบ หมายเหตุ: เนื่องจากวัตถุทั้งหมดเป็นปริซึมสี่เหลี่ยมจึงสามารถพิสูจน์ได้ทางคณิตศาสตร์ว่ามีอย่างน้อยหนึ่งคำสั่งวาดเพื่อตอบสนองความต้องการของปัญหา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.