IKControl

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

IKControl 实例生成程序动画位置,使用逆向动画(IK)来实现角色在其环境中的真实反应。

例如,您可以让角色将手放在门把手上,这会使角色在其位置独立于其位置。IKControls 提供优势,需要为您的游戏创建大幅减少动画,同时为您的体验提供更真实、更光滑的感觉。

IKControls 必须是 HumanoidAnimationController 的子集,并且所有必要属性设置都

您可以使用 IKControls 来创建角色:

  • 旋转头部和躯干以查看世界上的一个重要点。
  • 修改其脚位以反应动态地形。 调整其腿和脚以适当地放置它们在地形上,并且有岩石和斜坡。
  • 拿起枪,将手放在握把上,无需为游戏中的每个枪创建动画。
  • 指向世界上的一个点,以便枪头的提示正确地指向您想要射击的东西。 特别有用在第三人称射击者。
  • 把它的手放在汽车的方向盘上,并跟随它当它旋转。
  • 更多!

IKControl 将覆盖所有部件之间的动画,在 ChainRoot

代码示例

IKControl setup

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

概要

属性

属性

ChainRoot

读取并联

通过指定一个 ChainRoot 和一个 Class.IKControl.EndEffector|End

Enabled

读取并联

此属性允许您切换 IK 控制是否打开或关闭。它是默认打开。当 Enabled 为 false 时,IK 控制关闭,因此不会由默认解决器解决。

EndEffector

读取并联

Class.IKControl.EndEffector|EndEffector 描述您想要影

EndEffectorOffset

读取并联

或者,您可以使用附件,将附件设置为 EndEffector,将其移动到 Target 而不是它的部件,从而实现相同的结果。

您还可以使用 EndEffectorOffset 来修改 EndEffector 在使用 Target 作为 1> Class.IKControl.Type|Type1> 时所指向的 4> Class.I

Offset

读取并联

抵消是在 CFrame 上的额

读取并联

The Pole is an optional Instance that gives you control over how the intermediate parts in your character should bend. It can be anything that has a position in the world, such as BasePart , 1> Class.Arrow1> , and 4> Class.Bone4> . It is by default nil. When you specify it, the chain might not bend as you

Priority

读取并联

当多个控件在角色上激活时,多个控件之间的顺序在基础系统中解决的顺序会影响最终生成的姿势。通过修改此值,您指定控件的优先级。更高值会有更高的优先级,而且更高级别的控件将在后台解决。因此,如果您在角色上有多个 IK 控件,并且其中一个比另一个重要,请

SmoothTime

读取并联

此值指示 EndEffector 到达 Target 所需的平均秒数。 它的行为是由受到抑制的弹簧驱动,其��

Target

读取并联

Class.IKControl.Target|Target 代表一个点

读取并联

通过改变 Type 的行为,您可以改变控制的行为。这些是可用的选项:

Weight

读取并联

您可以使用此属性来控制控制对角色的姿势的影响。 值应在 [0, 1] 范围内。 0 表示无效, 1 表示完全的 IK 控制。 值在外的值是不连续的。 使用此值来将特定控制混合在或将其全部显示以避免窟窿动画。 默认为 1。

重量决定了端效果器和IK目标之间的插件因素。将重量设置为0不会禁用IK控制,因为其他因素,包括平滑时间平滑因素和柱子,仍然可以改变姿势。要真正禁用IK控制,请将Enabled属性设置为false。

方法

GetChainCount


返回

GetChainLength


返回

GetNodeLocalCFrame

参数

index: number

返回

GetNodeWorldCFrame

参数

index: number

返回

GetRawFinalTarget


返回

GetSmoothedFinalTarget


返回

活动