IKControl
*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.
IKControl instances tạo ra các tư thế hoạt họa thủ tục sử dụng Inverse Kinematics (IK). Chúng cho phép bạn làm cho các nhân vật phản ứng thực tế với môi trường của họ.
Ví dụ, bạn có thể làm cho một nhân vật đặt tay của mình trên tay cầm cửa chính xác, và nhân vật sẽ làm điều đó một cách độc lập với vị trí của nó. IKControls cung cấp lợi thế của việc cần phải tạo ít hơn các hoạt họa cho trò chơi của bạn khi cho trải nghiệm một cảm giác th
IKControls phải là con của một Humanoid hoặc AnimationController với một
Bạn có thể sử dụng IKControls để tạo một nhân vật:
- Xoay trục đầu và ngực của nó để xem một điểm quan tâm trên thế giới.
- Điều chỉnh vị trí chân của nó để phản ứng với địa hình. Điều chỉnh chân và chân của nó để đặt chúng theo cách phù hợp trên địa hình với những khu vực có đá và dốc.
- Giữ một khẩu súng và đặt tay của nó một cách hợp lý trên tay cầm mà không cần phải tạo ra hoạt họa cho mỗi khẩu súng trong trò chơi.
- Hãy nhắm tới một điểm trên thế giới, để đầu của súng chỉ vào nơi bạn muốn bắn. Đặc biệt hữu ích trong những người bắn thứ ba.
- Đặt tay của mình vào vô lăn của một chiếc xe và theo nó khi nó quay.
- Nhiều hơn!
IKControl sẽ thay đổi hoạt họa cho tất cả các bộ phận giữa Class
Mẫu mã
local character = script.Parent.Character
local humanoid = character.Humanoid
local root = character.HumanoidRootPart
-- Create a new attachment to use as the IKControl.Target
local target = Instance.new("Attachment")
target.CFrame = CFrame.new(-1, 0, -1)
target.Parent = root
local ikControl = Instance.new("IKControl")
ikControl.Type = Enum.IKControlType.Position
ikControl.EndEffector = character.LeftHand
ikControl.ChainRoot = character.LeftUpperArm
ikControl.Target = target
ikControl.Parent = humanoid
Tóm Tắt
Thuộc Tính
Phần cuối cùng mà bạn quan tâm đến việc di chuyển nhân vật của bạn. Ví dụ, cánh tay trên. Phải là một tổ tiên của EndEffector và là một BasePart hoặc một Bone trong nhân vật của
Bật/tắt điều khiển. Thật bởi mặc định.
Phần mà bạn quan tâm di chuyển để đạt đến Target . Ví dụ, bàn tay của nhân vật của bạn. Phải là một con cháu của ChainRoot và là một BasePart
Một lỗi cộng dồn được ứng dụng ở trên cùng của EndEffector trong không gian địa phương của nó để thay đổi nơi nó di chuyển.
Một lỗi thêm được áp dụng trên trên cùng của Target để thay đổi nơi mà EndEffector di chuyển.
Một instância tùy chọn xác định cách con chuỗi uốn. Bạn có thể sử dụng này để xác định cách mà một cổ tay hoặc đầu gối uốn.
Đặt hàng để điều khiển được giải quyết trong thứ tự nào. Giá trị càng cao càng có ưu tiên càng cao.
Đặt ra số lượng trung bình của giây mà nó mất để đạt đến EndEffector một cách mượt mà.
Đối tượng mà Class.IKControl.EndEffector|EndEffector đạt đến hoặc chỉ vào. Nó có thể là bất kỳ thứ gì có vị trí trên thế giới, chẳng hạn như EndEffector, BasePart, Attachment hoặc <
Chỉ định cách solver đáp ứng kiểm tra này.
Chỉ định trọng lượng của mục tiêu điều khiển IK. Nó nên ở trong phạm vi [0, 1].
Phương Pháp
Thuộc Tính
Enabled
Đặ性 này cho phép bạn bật/tắt kiểm soát IK. Nó được mặc định. Khi Enabled bị sai, kiểm soát IK được tắt và không được giải quyết bởi nhà giải quyết dưới cơ sở.
EndEffectorOffset
Độ
Alternatively, you can use Attachments by setting an Attachment as EndEffector , which moves it to the Target instead of the parts it's attached to, effectively getting the same kết quả.
Bạn cũng có thể sử dụng EndEffectorOffset để điều chỉnh trục nào của EndEffector nên chỉ vào Target khi
Pole
The Pole is an optional Instance that gives you control over how intermediate parts in your character should bend. It can be anything that has a position in the world, such as BasePart , 1> LeftHand1> or 4> RightHand4> and as
Priority
Khi nhiều điều khiển được kích hoạt trên một nhân vật, thứ tự mà chúng được giải quyết bởi hệ thống nền tảng dưới cơ sở thay đổi theo thứ tự mà các điều khiển được đáp ứ
SmoothTime
Giá trị này đặt một giá trị trung bình của số giây mà nó mất để đạt đến EndEffector . Hành vi của một mũi
Bằng cách thay đổi Type , bạn có thể thay đổi hành vi của điều khiển. Đây là các tùy chọn có sẵn:
- Transform: it's a full 6-DoF constraint. Aligns the EndEffector``Datatype.CFrame to that of the Target .
- Vị trí: định vị EndEffector vị trí đến vị trí của Target .
- Độ quay: điều chỉnh EndEffector độ quay về Class.IKControl.Target|Target .
- LookAt: di chuyển và hoặc chuyển hướng toàn bộ chuỗi để tạo một trục (bởi mặc định là trục tiến) ở EndEffector điểm trên thế giới được xác định bởi Target .
Weight
Bạn có thể điều khiển mức độ mà một điều khiển ảnh hưởng đến tư thế nhân vật bằng cách sử dụng thuộc tính này. Giá trị nên ở trong khoảng [0, 1]. 0 có nghĩa là không có hiệu ứng, và 1 có nghĩa là hiệu ứng đầy đủ củ
Cân nặng xác định hệ số nhân bản giữa End-Effector và IK target. Đặt cân nặng để 0 không vẫn tắt điều khiển IK bởi vì các yếu tố khác, bao gồm SmoothTime smoothing factor và Pole, vẫn có thể thay đổi poses. Để thực sự tắt đ