bài viết được trích của bạn đậu tài trong unityviet
=======================================================
Hãy tưởng tượng 1 quả cầu treo bằng dây xích trên trần nhà, bạn bắn vào quả cầu, và quả cầu đung đưa, làm thế nào để nó đung đưa?
Bài viết hôm nay sẽ trình bày vấn đề này
Giới thiệu tính năng Joint: đôi lúc bạn cần liên kết giữa hai vật thể theo kiểu chúng gắn với nhau tại 1 điểm (như mắt xích) hay 1 đường thằng (như bản lề cửa), lúc này bạn cần tới Joint.
Joint là 1 component trong Unity, để add joint, bạn vào menu Component > Physic > chọn một trong số các loại Joint. Trong giới hạn của bài viết này, tôi chỉ trình bày Fixed joint và Spring Joint. Còn Hinge Joint (bản lề) sẽ trình bày trong phần tiếp theo.
Nhưng trước hết, để thực hiện demo, bạn hãy tạo ra một số object như ví dụ sau:
Bạn có 2 cube là Trần Nhà và Sàn Nhà (màu xanh lá)
4 mắt xích là Capsule (màu vàng)
1 quả cầu Sphere (màu xanh dương)
4 object Capsule mắt xích và Sphere đã có sẵn Collider tương ứng, bạn thêm Rigidbody cho chúng
Tiếp đó, với Capsule1 (trên cùng, sát trần nhà), bạn thêm vào component Fixed Joint, mục đích là để cho phép object có Joint khác liên kết với nó nhưng không tác động lực lên nó (nó cố định)
Tiếp theo, đối với Capsule2,3,4 và Sphere, bạn add Spring Joint, mục đích là cho phép gắn mắt xích và tác động lực lên nhau:
Bạn để ý các thông số sau:
Connected Body: là object có Joint mà object hiện tại gắn vào, vậy capsule2 gắn vào capsule1, capsule3 gắn vào capsule2, …
Spring: lực liên kết, giá trị càng lớn thì liên kết càng mạnh
Damper: Độ chậm của object khi di chuyển trong chuỗi Joint
Min và Max Distane: giá trị khoảng cách mà trong khoảng min-max đó, liên kết Joint có hiệu lực
Break Force: giá trị lực kéo cần thiết để phá liên kết Joint
Break Torque: giá trị lực xoắn cần thiết để phá liên kết Joint
Rồi, bây giờ bạn hãy thay đổi từng thông số và chạy để xem thử sự khác nhau nhé!
Chúc bạn thành công và hẹn gặp lại ở phần tiếp theo!