Menu
CoddyTech

Hình dạng collider

Thuộc phần Vật lý và lối chơi trong hành trình Unity của Coddy. Bài học 13 trên 71.

Vật lý không xét đến lưới mà bạn nhìn thấy: nó dùng bộ va chạm của đối tượng, và bộ va chạm đó có thể đơn giản hơn nhiều. Ba hình dạng cơ bản của Unity đáp ứng hầu hết nhu cầu. BoxCollider (size, center) phù hợp với thùng, tường, sàn và tòa nhà. SphereCollider (radius) phù hợp với quả bóng; đây là hình dạng có chi phí kiểm tra thấp nhất, và hình cầu sẽ lăn khi ma sát làm nó xoay. CapsuleCollider (radius, height, direction) là một hình trụ có hai đầu tròn, và chiều cao của nó tính cả hai đầu.

Viên nang là hình dạng thường dùng cho nhân vật. Đáy bo tròn giúp nó trượt qua các bậc nhỏ và đường nối giữa các viên gạch lát sàn, nơi góc của hình hộp có thể mắc lại; hai bên viên nang lướt qua các góc thay vì mắc vào đó. Capsule gắn với Rigidbody sẽ bị lật như chai nước, vì vậy Rigidbody của nhân vật sẽ khóa khả năng xoay (rb.freezeRotation = true), còn code sẽ tự xoay nhân vật.

Mỗi hình khối cơ bản đi kèm một bộ va chạm tương ứng: Cube có BoxCollider, Sphere có SphereCollider, Capsule có CapsuleCollider. Unity không có bộ va chạm hình trụ, vì vậy hình khối Cylinder sẽ dùng CapsuleCollider với hai đầu tròn. MeshCollider bám theo các tam giác của mô hình được nhập: phù hợp với cảnh vật chi tiết không bao giờ di chuyển, nhưng kiểm tra chậm hơn; nếu gắn với Rigidbody đang di chuyển, nó phải được đánh dấu là Convex. Với một đối tượng phức tạp đang di chuyển, một vài bộ va chạm đơn giản trên các đối tượng con sẽ nhanh hơn một bộ va chạm dạng lưới duy nhất.

Tự làm thử

Bài học này không có thử thách code.

Tất cả bài học trong Vật lý và lối chơi

Tự luyện tập: Playground Unity