Người điều khiển nhân vật

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Class.ControllerManager 实例管理 simulated motion control cho Class.ControllerManager.RootPart|RootPart của nó. Cùng với RootPart , nó có thể được sử dụng để xây dựng một điều khiển nhân vật dựa trên lý thuyết vật lý.

Cài đặt trung tâm

ControllerManager yêu cầu một BasePart để sử dụng làm rễ của nó. Các lực di chuyển và cảm biến phần sẽ ở trên phần này.

  1. Chọn một Part hoặc MeshPart và đặt tên nó RootPart .

  2. Grupp part as a Model instance for organization along with the other components.

  3. Thêm một ControllerManager 实例 vào mô hình. Nếu ControllerManager đầu tiên không xuất hiện trong menu đăng nhập mô hình, bỏ chọn “Hiển thị chỉ các đối tượng được đề xuất” trong cài đặt đăng nhập của menu.

    ControllerManager and RootPart inside model

Cài đặt cảm biến

Một ControllerPartSensor phát hiện các bộ phận có cùng mã mà Humanoid sử dụng để phát hiện sàn và cầu thang.

  1. Insert a ControllerPartSensor as a child of RootPart and rename it GroundSensor for easier identification of its purpose. Then, in the 1> Properties1> window, set its 4> Class.ControllerPartSensor.SearchDistance|

    GroundSensor as child of RootPart
    GroundSensor properties
  2. Insert another ControllerPartSensor as a child of RootPart and rename it ClimbSensor . Then, in the 1> Properties1> window, set its 4> Class.ControllerPartensor.SearchDistance|SearchDistance4> property to 7>1</

    ClimbSensor as child of RootPart
    ClimbSensor properties

Cài đặt điều khiển

Các đối tượng điều khiển như GroundControllerClimbController cho phép bộ phận quản lý làm việc cùng với các cảm biến bạn cấu hình trong Cài đặt cảm biến.

  1. Thêm cả một GroundControllerClimbController như con cái của ControllerManager .

    GroundController and ClimbController as children of ControllerManager
  2. Chọn mới GroundController instância và sau đó, trong cửa sổ 속성, thiết lập Class.GroundController.GroundOffset

    GroundController properties

Liên kết tham khảo

Để hoàn thành cài đặt chính, bạn sẽ cần phải liên kết các thuộc tính khác nhau của ControllerManager đối tượng với các thống kê trong chính Model .

  1. Chọn ControllerManager ví dụ / trường hợp.

    ControllerManager selected in Explorer window
  2. Trong cửa sổ Tên miền, nhấp vào mỗi trong các thuộc tính sau đó, trở về cửa sổ Nhà quản lý và nhấp vào mỗi mục tương ứng để hoàn thành liên kết.

    1. Kết nối ActiveController 속性 với GroundController ví dụ / trường hợp
    2. Kết nối RootPart đến phần bạn đã đặt tên là RootPart .
    3. Kết nối ClimbSensor đến ClimbSensor ví dụ / trường hợp.
    4. Kết nối GroundSensor đến GroundSensor ví dụ / trường hợp.
    ControllerManager properties linked to instances within overall model

Làm thử

Với cảm biếnđiều khiển ở địa điểm, và với tham chiếu liên kết , bạn có thể kiểm tra điều khiển ở Studio.

  1. Bắt đầu một lần chơi bằng cách sử dụng chế độ Chạy ( F8 ) vì bạn không cần phải thêm nhân vật của bạn vào tình huống này.

    Rapid playtest options in Test tab of Studio
  2. RootPart nên lơ lửng trên mặt đất ở giá trị GroundController.GroundOffset bạn đã cài đặt trong Adding Controllers . Nó cũng nên quay để đồng hướng với vektor 0> Class.ControllerManager.FacingDirection0>.

    Character levitating above ground at GroundOffset, facing in direction of FacingDirection vector
  3. Thử nghiệm với các hướng và hướng mặt bằng cách thay đổi Class.ControllerManager

    ControllerManager properties for moving and facing direction
    Manager điều khiển
    GroundController properties for acceleration, deceleration, and ground offset
    Bộ điều khiển mặt đất

Cảm biến tùy chỉnh

Các tùy chọn ControllerPartSensor.SensorMode của FloorLadder chạy mã cảm ứng chính xác của 1> Class.Humanoid1> , cho phép bạn sử dụ

  1. Đổi ControllerPartSensor.UpdateType từ OnRead sang Manual .

    • OnRead trình tác hạt đầu ra để cập nhật các thuộc tính đầu ra tương ứng với SensorMode mỗi khi bạn đọc chúng. Nó thực sự đặt cảm biến trong chế độ "đọc chỉ" khi bất cứ thứ gì bạn viết vào các thuộc
    • Manual tắt hành vi kiểm soát nội tại. Các đặt tải truyền thông được rộng rãi cho bạn để viết nhưng bạn có thể viết bất cứ điều gì bạn muốn và SensorMode không làm gì.
  2. Tạo một script thực hiện logic ngụy biện của riêng bạn và viết ra các kết quả vào các đầu ra của cảm biến của bạn. Thông thường bạn sẽ sử dụng một truy vấn không gian như WorldRoot:Raycast() hoặc

    Lưu ý rằng bạn sẽ cần quản lý thời gian chạy và cập nhật của các truy vấn của mình và thời gian thực hiện của các thuỷ ví dụ / trường hợpcủa chúng.

  3. The ControllerManager will continue to use the sensors it has been assigned, taking the data you pass to it.