Unity - Hiểu va chạm
Các va chạm trong Unity được tách ra khỏi chính Sprite thực tế, được gắn vào như các thành phần riêng biệt và được tính toán riêng. Bây giờ chúng ta hãy tìm hiểu nguyên nhân đằng sau điều này.
Everythingtrong trò chơi của bạn là một GameObject. Ngay cả các ô riêng lẻ tạo nên cấp độ của bạn cũng là GameObjects của chính chúng.
Khi chúng tôi coi mọi thành phần là một GameObject, chúng tôi nhận ra rằng có thể có thousandscủa GameObjects trong một cảnh, tương tác với nhau theo một cách nào đó. Bạn có thể tưởng tượng rằng nếu Unity thêm va chạm vào từng GameObject, thì công cụ này sẽ không thực tế khi tính toán va chạm cho từng đối tượng đó.
Chúng tôi sẽ tiếp tục và thêm một “bức tường” đơn giản mà nhân vật người chơi của chúng tôi có thể va vào. Để làm như vậy, hãy tạo một sprite khác và mở rộng quy mô nó bằng công cụ Rect. Chúng tôi cũng sẽ cung cấp cho nó một màu đỏ thông quaColor trong thành phần Sprite Renderer.
Bây giờ, đi tới Add Componenttrong Thanh tra và nhập “Box Collider 2D”. Bấm vào thành phần đầu tiên hiển thị và một thành phần mới sẽ xuất hiện.
Bạn sẽ thấy một đường màu xanh lục sáng trên chu vi của GameObject của bạn. Đây làcollision boundary. Nó là những gì xác định thực tếshape của các vật thể va chạm.
Lặp lại tương tự với GameObject di động của chúng tôi.
Tất nhiên, va chạm trong Unity không chỉ giới hạn ở các hộp. Chúng có thể có nhiều hình dạng và kích thước khác nhau và không nhất thiết phải là bản sao của các thông số của đối tượng.
Chúng cũng có thể có hình dạng đa giác.
Không có gì lạ khi thấy các nhà phát triển và nhà thiết kế sử dụng approximatehình dạng trong ranh giới va chạm của chúng để đơn giản hóa các máy va chạm của chúng và tránh các tính toán không cần thiết cho động cơ. Chúng ta sẽ sớm học cách tạo ra các hình dạng và kích thước khác nhau bằng máy va chạm.
Bây giờ chúng ta đã có ranh giới va chạm tại chỗ, hãy chơi và xem nó hoạt động.
Bạn sẽ nhận thấy rằng đối tượng di chuyển của chúng ta không hoạt động bình thường. Chúng ta sẽ thảo luận về hành vi của đối tượng trong chương tiếp theo của chúng ta.