Unity(第二十二部)官方的反向动力学一般使用商城的IK插件,这个用的不多

反向动力学(Inverse Kinematic,简称IK)是一种通过子节点带动父节点运动的方法。
正向动力学

在骨骼动画中,大多数动画是通过将骨架中的关节角度旋转到预定值来生成的,子关节的位置根据父关节的旋转而改变,这种构建骨架的方法被称为正向动力学。
反向动力学

与之相反,反向动力学是根据骨骼的终节点来推算其他父节点的位置的一种方法。

在 Unity中,使用反向动力学需要在状态机中开启 IK 设置。

  1. 在动画上加上 IK的脚本。
csharp 复制代码
//IK写到这个方法内  layerlndex是图层的索引
private void OnAnimatorlK(int layerlndex){
		//设置头部IK
		animator.SetLookAtWeight(1);//设置IK权重,只有头部可以这样使用,
		//target.position目标节点位置
		animator.SetLookAtPosition(target.position);
		//设置右手IK权重
		animator.SetlKPositionWeight(AvatarlKGoal.RightHand, 1);
		//旋转权重
		animator.SetlKRotationWeight(AvatarlKGoal.RightHand, 1);
		//设置旋转 四元数
		animator.SetlKRotation(AvatarlKGoal.RightHand, target.rotation);
		//设置右手IK
		animator.SetlKPosition(AvatarlKGoal.RightHand, target.position);
}
相关推荐
unityのkiven5 小时前
Unity 共享材质修改问题与 MaterialPropertyBlock 解决方案
unity·游戏引擎·材质
丁小未6 小时前
Unity 极致高效的IM设计方案教程
unity·性能优化·游戏引擎·im
unityのkiven6 小时前
Unity UGUI 中 EventTrigger 导致 ScrollRect 鼠标滚轮失效的问题分析与解决
unity·计算机外设·游戏引擎
丁小未10 小时前
Unity动态图集方案
unity·游戏引擎
元气少女小圆丶13 小时前
停止单机,开始学一点后台通信吧
unity
丁小未14 小时前
Unity高效的DOTS动画方案Rukhanka深度剖析
unity·游戏引擎·rukhanka·dots动画·gpu动画·gpuecsanimation
unityのkiven16 小时前
Unity 中的 Mesh 和 Renderer 详解:从模型数据到画面显示
unity·游戏引擎
玖玥拾2 天前
Unity 3D 基础(一)Unity基础架构、物理系统、视觉渲染、空间变换与对象查询
笔记·游戏·3d·unity·游戏引擎