ฉันดิ้นรนกับการตัดสินใจว่าจะใช้กราฟฉากในเกมของฉันหรือไม่ ฉันมีกรณีการใช้งานบางอย่างที่เรียกใช้เครื่องมือดังกล่าว แต่ฉันไม่สามารถรับรายละเอียดการใช้งานบางอย่างได้
พื้นหลังบางอย่าง: ฉันกำลังเขียนเกมประเภท Shooter อวกาศที่กำหนดเป้าหมายไว้ที่แพลตฟอร์มมือถือ (Android เป็นหลัก) และรหัสของฉันคือ C ++ เกือบทั้งหมด ฉันไม่ได้ใช้มิดเดิลแวร์ใด ๆ เครื่องยนต์เรนเดอร์และฟิสิกส์โดยเฉพาะเป็นการสร้างของฉันเอง เอนจิ้นฟิสิกส์ของฉันอัพเดทตำแหน่งของวัตถุตามแรงและแรงกระตุ้น ฉันยังไม่มีระบบแอนิเมชั่นในขณะนี้ แต่อาจไปที่จุดนี้ (ซึ่งอาจจะหรือไม่มีอะไรเกี่ยวข้องกับการสนทนานี้)
ก่อนอื่นฉันจะอธิบายกรณีใช้งานที่ดี ฉันต้องการมีเจ้านายที่ประกอบด้วยชิ้นส่วนแยกกันหลายส่วนซึ่งแต่ละชิ้นสามารถเสียหาย / ถูกทำลายได้อย่างอิสระ ตัวอย่างเช่นฉันอาจมีหัวหน้าที่มีแขนที่สามารถได้รับความเสียหายโดยอิสระจากเอนทิตีที่เหลือ เมื่อแขนถูกทำลายเอฟเฟกต์อนุภาคไฟที่ไหล่ของผู้บังคับบัญชาอาจบ่งบอกว่าตอนนี้แขนถูกทำลายแล้ว
เนื่องจากเป็นฉันได้ตัดสินใจลองแก้ไขปัญหาดังกล่าวด้วยข้อ จำกัด ในเครื่องมือฟิสิกส์ของฉันเพื่อให้วัตถุผสมดังกล่าวเข้าด้วยกัน ข้อ จำกัด หนึ่งข้อนั้นให้อิสระ 0 องศาและเป็นเมทริกซ์การแปลง นี่เป็นความพยายามที่จะหลีกเลี่ยงปัญหาที่ในที่สุดก็ปิดฉันออกจากฉากกราฟในสถานที่แรกที่อธิบายไว้ด้านล่าง
เหตุผลหลักที่ฉันหันหลังให้กับการใช้กราฟฉากก็เพราะฉันไม่สามารถหาวิธีที่มีประสิทธิภาพในการเก็บวัตถุที่ซ้อนกัน (วัตถุที่สืบทอดการเปลี่ยนแปลงจากผู้ปกครองของพวกเขา) ทั้งในโลกฟิสิกส์และฉากเรนเดอร์ โลกฟิสิกส์ต้องการวัตถุในอวกาศ (หรืออย่างน้อยพื้นที่เดียวกัน) ในขณะที่ฉากเรนเดอร์ต้องการวัตถุในพื้นที่แม่ การติดตามตำแหน่งในพื้นที่ทั้งสองอาจช่วย (และหลีกเลี่ยงไม่ได้) แต่ทำให้เกิดความกังวลของตัวเองไม่ใช่อย่างน้อยก็เกี่ยวข้องกับประสิทธิภาพ
อย่างไรก็ตามจากกรณีการใช้งานอย่างที่อธิบายไว้ข้างต้นฉันคิดว่าการสามารถ 'ทำงาน' ในพื้นที่ผู้ปกครองจะกลายเป็นเรื่องสำคัญมากและพยายามบังคับให้กลไกฟิสิกส์ของฉันรักษาความสัมพันธ์เหล่านี้ผ่านการใช้ข้อ จำกัด ที่จะเป็นปัญหา
จากกรณีการใช้งานและสถานการณ์ที่อธิบายไว้ข้างต้นฉันควรใช้โครงสร้างกราฟเพื่อส่งผ่านการแปลงจากวัตถุหนึ่งไปอีกวัตถุหนึ่งหรือไม่ ถ้าเป็นเช่นนั้นเครื่องยนต์ฟิสิกส์ของฉันควรคำนวณตำแหน่งใหม่และทำการทดสอบทางแยกสำหรับวัตถุในพื้นที่ต่างกันอย่างไร