IKControl 實例會生成使用逆向動畫學 (IK) 的程序動畫姿勢。它們允許您讓角色在環境中實際地回應。
舉例來說,您可以讓角色放置手指在門把手上,並且角色會在位置上獨立於角色的位置。IKControls 提供可以為您的遊戲創建更少的動畫,同時提供更實際、更光滑的體驗。
IKControls 必須是 Humanoid 或 AnimationController 的子兒,並且設定好所有必要的
您可以使用 IKControls 來製作角色:
- 旋轉它的頭部和軀體來查看世界上的一個點 of interest。
- 修改它的腳地位置以適應動態地形。 調整它的腳腳和腳腳以適當地放置它們在地形上,以及擁有岩石和傾斜。
- 拿起槍和將其手放在握把上,而不需要為遊戲中的每個槍創建動畫。
- 指向世界上的一個點,讓槍點的尖端正好對準你想要射擊的地方。對於第三人稱射擊模式的玩家來說,這是非常有用的。
- 把它放在汽車的方向盤上,當它旋轉時跟隨它。
- 更多!
IKControl 會覆蓋所有零件之間的動畫,在 ChainRoot
範例程式碼
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
概要
屬性
您最終想要移動您的角色的部分。例如,上臂。必須是 EndEffector 的祖先,並且必須是 BasePart 或 Bone 在您的角色中。
切換控制開關。 預設為 "真"。
您想要移動到Target的部分。例如,您角色的手。必須是ChainRoot的後代,並且必須是BasePart或1>Class.Bone1>在您的角色中。
在本地空間上加上一個額外的偏移,以改變它移動的地方。
在 Target 上添加額外的偏移來改變 EndEffector 的移動位置。
一個可選的實例,可以決定鏈子的彎曲方向。 您可以使用此來指定腳踝或膝的彎曲方向。
指定控制解決的順序。值越高,優先權越高。
指定需要平均Class.IKControl.EndEffector|EndEffector 平均Target 平均Class.IKControl.EndEffector 平均1>Class.IKControl.Target|Target1> 平均4>Class.IKControl.EndEffector4> 平均7>Class.IKControl.Target|Target7> 平均0>Class.IKControl.EndEffector0> 平均EndEffector3> 平
它可以是任何位於世界上的地方,例如 EndEffector 、 BasePart 、 Attachment 或 2>Class.Motor6D2> 。
指定解決器如何滿足此控制。
指定 IK 控制目標的重量。應該在 [0, 1] 範圍內。
方法
屬性
EndEffectorOffset
端
或者,您可以使用附件設定附件為 EndEffector,將它移動到 Target 而不是它的附件,從而獲得相同的結果。
您也可以使用 EndEffectorOffset 來修改 EndEffector 在使用 Target 作為 1> Class.IKControl.Type|Type1> 時所指向的軸。
Pole
Class.IKControl.Pole|Pole 是一個可選的 Instance ,它可以決定角色中的關節部位應該如何彎曲。它可以是任何位置在世界上的 BasePart 或 1>Class.IKControl.ChainBase1> 的一部分。當你指
Priority
當多個控制對一個角色啟用時,系統會因為基礎系統的順序而解決控制的次序。當你改變這個值時,你會指定控制是否以預期的順序解決。值越高,結果就越高。當你有更多個IK控制對一個角色啟用時,會先解決更重要的控制,因為它們的結果可能會覆蓋上一個
通過變更 Type 的行為,您可以改變控制的行為。這些是可用的選項:
- 位置:將 EndEffector 位置調整為 Target 的位置。
- 旋轉:將 EndEffector 旋轉調整到 Target 的旋轉位置。
- LookAt:移動和或向整個鏈條以使用中心點 EndEffector 來在 Target 點上世界中指定的位置。