LookAt IK可用于任何角色或其他骨骼层次结构,以旋转一组骨骼以面向目标。
请注意,如果LookAtIK不符合您的要求,您还可以使用非常相似的AimIK,但提供不同的参数,以使角色(尤其是非Biped)查看目标。
从脚本开始
void LateUpdate(){
lookAt.solver.IKPositionWeight = 1f; //主人的体重
lookAt.solver.IKPosition =某事; //改变目标的外观
//改变个体部位的重量
lookAt.solver.bodyWeight = 1f;
lookAt.solver.headWeight = 1f;
lookAt.solver.eyesWeight = 1f;
//改变各个身体部位的夹紧重量
lookAt.solver.clampWeight = 1f;
lookAt.solver.clampWeightHead = 1f;
lookAt.solver.clampWeightEyes = 1f;
}
在运行时添加LookAtIK
通过脚本添加LookAtIK组件
调用LookAtIK.solver.SetChain()
界面
-
timeStep - 如果为零,将更新每个LateUpdate()中的求解器。将其用于动画链。如果>
0,将用作更新频率,以便求解器将在所有机器上同时到达其目标 -
fixTransforms -
如果为true,则将解算器使用的所有Transforms修复为每个Update中的初始状态。这可以防止未动画骨骼和动画师剔除的潜在问题,并且性能成本很低 -
target - 目标变换。如果已分配,则解算器IKPosition将自动设置为目标的位置
-
weight - 求解器的主权重(乘以所有其他权重)
-
bodyWeight - 旋转脊柱骨骼的权重
-
headWeight - 旋转头骨的权重
-
eyesWeight -转动眼睛骨骼的权重
-
clampWeight - 限制脊柱骨骼的旋转。0是自由旋转,1是完全限制到零效果
-
clampWeightHead - 限制头骨的旋转。0是自由旋转,1是完全限制到零效果
-
clampWeightEyes - 限制眼骨的旋转。0是自由旋转,1是完全限制到零效果
-
clampSmoothing - 用于限制的正弦平滑迭代次数,使其更平滑
-
spineWeightCurve - 脊柱骨骼之间的标准化重量分布。第一个脊骨处于“时间”0,最后一个脊骨处于1
-
Head - 头部骨骼
-
spine - 脊椎骨骼按降序排列(父亲优先),可以跳过骨骼
-
Eyes - 眼部的骨骼
官方FinalIk的网页L:http://root-motion.com/finalikdox/html/page12.html