หากคุณใช้ Rigidbody กับตัวละครคุณสามารถเอามันออกจากกล่องได้ :)
ดังนั้นลำดับชั้นของคุณอาจมีลักษณะเช่นนี้:
- ตัวละคร (มี Rigidbody และสคริปต์ควบคุม)
ข้อความ OnCollisionEnter จะทำงานกับ GameObject ที่มี Rigidbody ถึงสคริปต์ควบคุมของผู้ปกครองโดยไม่จำเป็นต้องเขียนสคริปต์รีเลย์เพิ่มเติมเพื่อติดกับแต่ละ collider
หากคุณต้องการทราบว่าลูกของคุณคนไหนที่มีส่วนร่วมในการปะทะกันคุณสามารถทำได้ดังนี้:
void OnCollisionEnter(Collision collision) {
Collider myCollider = collision.contacts[0].thisCollider;
// Now do whatever you need with myCollider.
// (If multiple colliders were involved in the collision,
// you can find them all by iterating through the contacts)
}