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