Kinh tế ngược

*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.

Kinh học ngược lại (IK) là một phương pháp phổ biến trong hoạt họa máy tính để hiệu quả hóa việc di chuyển và tương tác của nhân vật với môi trường của họ. Quá trình tạo ra một chuyển động thực tế cho một nhân vật thường yê

Các hướng dẫn hoạt họa này có thể cung cấp giải pháp cho các ví dụ sau đây:

Lấy và đặt tay một nhân vật trong khi điều chỉnh tự động các vị trí liên quan, ví dụ như cổ tay, cánh tay và vai.
Làm cho chân của một nhân vật tương tác thực tế trên các bề mặt và dốc khác nhau.
Lấy và di chuyển một mục tiêu duy nhất để tạo nên những hiệp đấu tương tác với nhân vật và phụ kiện của bạn một cách nhanh chóng.

IKControl

Bạn có thể sử dụng một IKControl để thêm IK vào các thiết bị của mình một cách chủ động ngoài Animation Editor. Studio cho phép bạn chương trình hóa việc áp dụng IK cho tất cả các nhân vật, bao gồm R15, Rthro và những nhân vật nhập khẩu tùy ch

Khi thêm một IKControl , hãy thiết lập các property yêu cầu đúng đắn để tránh kết quả hoạt họa không mong muốn và không tự nhiên. Như với tất cả các hoạt hiệu ứng động, kiểm tra các điều khiển IKControls của bạn để đảm bảo bạn

Yêu cầu các thuộc tính

Khi thêm một IKControl vào Class.Humanoid hoặc Class.AnimationController của nhân vật của bạn, bạn phải cài đặt các thuộc tính theo yêu cầu sau đây để bật IK:

Thuộc tínhMô tả
TypeĐịnh nghĩa loại hành động của IK control. Tham khảo Enum.IKControlType để có danh sách các tùy chọn hành động. Các loại hành động thông thường là Position hoặc Transform .
EndEffectorMột BasePart hoặc Bone trong cấu hình của bạn để theo dõi hướng tới Target . Ví dụ, bạn có thể thiết l
TargetĐối tượng mà EndEffector đạt đến hoặc chỉ thẳng vào. Một Target có thể là bất kỳ đối tượng nào với một vị trí thế giới.
ChainRootĐịnh nghĩa chuỗi của Class.BasePart|BaseParts

Thử nghiệm IKControls

Bạn có thể thêm và chỉnh sửa IKControl programmatically hoặc trực tiếp qua Explorer. Bạn thậm chí có thể thêm và make changes to IKControl during a Play test để kiểm tra nhanh chóng cách các thuộc tính khác nhau ảnh hưởng đến các chuyển động của một nhân vật.

Để nhanh chóng kiểm tra Class.IKControl của bạn bằng cách sử dụng một Class.Attendance như mục tiêu:

  1. Ở trang Thử nghiệm, chọn Chơi để bắt đầu thử nghiệm Chơi.

  2. Trong Explorer, hãy đến Workspace → Class.Model của người dùng của bạn. Đối tượng này được gọi là Model để lấy tên từ tài khoản Roblox hiện tại của bạn.

  3. Nhấp vào biểu tượng bên cạnh mô hình nhân vật của bạn và thêm một HumanoidRootPart .

  4. Chọn Kết Nối và sử dụng công cụ Di Chuyển để đặt mục đính trước mặt nhân vật của bạn trong cửa sổ xem.

  5. Trong cửa sổ Explorer , chọn icon ở bên cạnh biểu tượng Humanoid của nhân vật của bạn và thêm một 1> IKControl1> .

  6. Chọn IKControl và đặt các giá trị thuộc tính sau đây trong các trang Thuộc tính trong các trang:

    1. Nhập lại : Select Transform từ dropdown.
    2. EndEffector : Chọn LeftHand MeshPart trong Explorer.
    3. Mục tiêu : Chọn đối tượng Phụ kiện đã tạo mới trong Trình phát.
    4. ChainRoot : Chọn Cánh trên của mô hình của bạn MeshPart trong Explorer.
    Thuộc tính IKControl
    Bảng điều khiển Explorer - Mô Hình Nhân Vật

    Cánh tay trái của nhân vật của bạn bây giờ nên đạt đến mục tiêu Attachment . Bạn có thể thử nghiệm di chuyển Attachment hoặc chỉnh sửa IKControl 属性 để đạt được các kết quả khác nhau.

Thêm Con Trình

Bạn có thể sử dụng Constraints để hạn chế cách các khớp có thể di chuyển khi đạt đến mục tiêu của nó. Các rào chặn có thể đảm bảo các khớp như các khớp vai và đầu gối bên tay tự nhiên hoặc để làm cho các khớp cơ khớp xoay theo một hướng cụ thể.

Gậy gù bên hạng vành nhân tạo
Gập đầu gối đúng cách

Để thêm hạn chế cho nhân vật của bạn bằng cách sử dụng IKControl, yêu cầu IKControl và hạn chế của bạn phải đáp ứng các điều kiện sau đây:

  • Các thuộc tính được tham chiếu ở Attachment0 / Attachment1속性 của Motor6D1> Class.Motor6D.Part0|Part01> /
  • Các vị trí tương đối của Attachment0 / Attachment1 phải bằng vị trí tương đối của Motor6D 1> Class.Motor6D.C0|C0</
  • Hạn chế và IKControl chia sẻ cùng một cha đẻ Model .

Các hướng dẫn sau đây mô tả quá trình thêm một HingeConstraint vào quá trình quay của một cánh tay nhân vật để hạn chế góc quay của cánh tay và thêm một BallSocketConstraint vào cổ tay để giới hạn góc quay.

Cổ

Roblox R15 characters đã bao gồm các kèm theo trong các khớp của họ mà bạn có thể sử dụng để áp dụng hạn chế của cánh tay. Đối với cánh tay, cả LeftUpperArm và LeftLowerArm đều bao gồm một LeftElbowRigAttachment . Bên c

Để thêm HingeConstraint và các kết nối con:

  1. Trong Explorer, tìm LeftLowerArm của mô hình của bạn và nhấp vào nút .

  2. Thêm một HingeConstraint với tên LeftElbowConstraint .

  3. Trong Explorer, navigate to the Bên trên cùng bên trái của cánh tay trái và add anattachment:

    1. Nhấp vào nút để thêm một phụ kiện với tên LeftElbowConstraintAttachment0 .

    2. Trong cửa sổ, chọn phụ kiện và sử dụng công cụ quay để quay phụ kiện để màu vàng trục chính là trục chính của cánh tay của bạn.

    3. Đặt thuộc tính LeftElbowConstraint.Attachment0 này cho phần mới này.

  4. Trong Explorer, navigate to your model's LeftLowerArm.LeftElbowRigRotation add anattachment:

    1. Nhấp vào nút và thêm một Phụ kiện với tên LeftElbowConstraintAttachment1 .
    2. Đặt LeftUpperArm.LeftElbowConstraint.Attachment1 property cho cái kết này.
    3. Bạn dán các thuộc tính LeftElbowConstraintAttachment0.CFrameOrientationLeftElbowConstraint.Attachment1.CFrameOrientation vào nhau.

Thử IKControl của bạn để xác nhận rằng cánh tay chỉ xoay xung quanh trục cánh tay của nó:

Mắt cá chân

Mặc dù với hạn chế cánh tay, IKControl vẫn có thể tạo ra những tư thế không thực tế với các mắt cá chân.

Các mắt cá chân cong không tự nhiên ở một số hướng tốt hơn

Bạn có thể cải thiện điều này bằng cách thêm một BallSocketConstraint để giới hạn sự quay của cổ tay. Khi đây giống như quá trình thêm một HingeConstraint vào cổ tay, bạn có thể sử dụng thuộc

Để thêm một BallSocketConstraint cho cổ tay:

  1. Ở Explorer, tìm Bàn tay trái của mô hình của bạn và nhấp vào nút .
    1. Thêm một BallSocketConstraint với tên LeftWristConstraint .
  2. Tìm LeftLowerArm.LeftWristRigRotationAttach của mô hình của bạn và thêm một phụ kiện:
    1. Nhấp vào nút và thêm một Phụ kiện với tên LeftWristConstraintAttachment0 .
    2. Trong cửa sổ xem, chọn phụ kiện và sử dụng công cụ quay để quay phụ kiện để cho phép màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu màu m
    3. Đặt thuộc tính LeftWristConstraint.Attachment0 lên đối tượng mới LeftWristConstraintAttachment0 .
  3. Tìm LeftHand.LeftWristRigRotationAttach của mô hình của bạn và thêm một kết nối:
    1. Nhấp vào nút và thêm một Phụ kiện với tên LeftWristConstraintAttachment1 .
    2. Bạn dán các thuộc tính LeftWristConstraintAttachment0.CFrameOrientationLeftWristConstraintAttachment1.CFrameOrientation 3. Đặt thuộc tính LeftWristConstraint.Attachment1 này cho đồng hồ bên trái.
  4. Trong Explorer, hãy chọn LeftWristConstraint .
  5. Trong Editor Thuộc tính, hãy thiết lập những điều theo dõi:
    1. Kích hoạt LimitsEnabled .
    2. Đặt Góc trên của mũi tên để 80 . Điều này kiểm soát mức độ mà trục hạn chế có thể quay, và 80 độ là khoảng bao nhiêu độ cúi của cổ tay.
  6. Tùy vào nhân vật của bạn, bạn có thể muốn điều chỉnh hướng mà hình nón đang chỉ vào. Bạn có thể làm điều này bằng cách sử dụng công cụ Xoay để quay mắt nối dõi của hạn chế 2> 5> 8> 1> 4> 7> 0> 3> 4> 5> 6> 7> <

Khi chọn LeftWristConstraint , một hình nón xanh xuất hiện thị hình về phạm vi di chuyển của cổ tay.

Với hạn chế được cài đặt, kiểm tra IKControl bằng cách cho tay hướng xuống trước nhân vật và mắt cá chân nên quay và uốn nắn một cách chân thực hơn.