Danh hiệu: Administration
Nhóm: Gia nhập: 20-08-2014(UTC) Bài viết: 60
Cảm ơn: 2 lần Được cảm ơn: 2 lần trong 2 bài viết
|
bài viết được trích của bạn đậu tài trong unityviet ======================================================= Ở phần trước, chúng ta đã tìm hiểu về Fixed Joint và Spring Joint, lần này, chúng ta sẽ tìm hiểu về Hinge joint, được dùng cho kiểu kết nối bản lề như cánh cửa. Để ví dụ, trước tiên các bạn tạo scene như hình sau, bao gồm:
1 cube Cánh Cửa
4 cube tượng trưng cho bức tường (làm màu thôi chứ không dùng tới)
Tiếp theo bạn remove component Collider cho các bức tường.
Viết code mở cửa, tạo script mới MoCua, viết code như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 using UnityEngine; using System.Collections; public class MoCua : MonoBehaviour { public float lucDay = 1000f; // Use this for initialization void Start () { } // Update is called once per frame void Update () { } void OnMouseDown() { rigidbody.AddForce(-transform.forward*lucDay, ForceMode.Acceleration); rigidbody.useGravity = true; } }
Giải thích:
Hàm rigidbody.AddForce(Vector3 luc, ForceMode mode = ForceMode.Force) dùng để tạo một lực đẩy là vector luc.
Add script MoCua vào object Cánh Cửa.
Sau đó bạn Add Regidbody vào cánh cửa, bỏ chọn Use Gravity
Cuối cùng bạn Add Hinge Joint vào cánh cửa, và cấu hình như sau:
Các thuộc tính của Hinge Joint, vui lòng xem tại link tham khảo!
Xong rồi đó, bạn nhấn Play chạy thử, rồi nhấn chuột vào cánh cửa để xem điều gì xảy ra!
Chúc thành công và hẹn gặp lại!
|
|
|
|
Di chuyển
Bạn không thể tạo chủ đề mới trong diễn đàn này.
Bạn không thể trả lời chủ đề trong diễn đàn này.
Bạn không thể xóa bài của bạn trong diễn đàn này.
Bạn không thể sửa bài của bạn trong diễn đàn này.
Bạn không thể tạo bình chọn trong diễn đàn này.
Bạn không thể bỏ phiếu bình chọn trong diễn đàn này.