Khi nào sử dụng OnCollisionEnter() và OnTriggerEnter()?

Collision action matrix

OnCollisionEnter() được gọi khi hai vật thể có Collider va chạm vật lý với nhau, thường dùng khi cần mô phỏng phản ứng thực tế như bật lại hay dừng lại.

Ngược lại, OnTriggerEnter() được kích hoạt khi một vật thể đi qua vùng Trigger của Collider khác (với thuộc tính “Is Trigger” được bật), phù hợp cho các tình huống không cần va chạm vật lý, như phát hiện nhân vật bước vào một khu vực.

Để hiểu rõ hơn về cách các loại va chạm này tương tác, bạn có thể xem xét Collision action matrix trong Unity.

Static Collider Rigidbody Collider Kinematic Rigidbody Collider Static Trigger Collider Rigidbody Trigger Collider Kinematic Rigidbody Trigger Collider
Static Collider Collision Trigger Trigger
Rigidbody Collider Collision Collision Collision Trigger Trigger Trigger
Kinematic Rigidbody Collider Collision Trigger Trigger Trigger
Static Trigger Collider Trigger Trigger Trigger Trigger
Rigidbody Trigger Collider Trigger Trigger Trigger Trigger Trigger Trigger
Kinematic Rigidbody Trigger Collider Trigger Trigger Trigger Trigger Trigger Trigger

Nguồn: Unity – Manual: Introduction to collision

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment