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);
}
相关推荐
小贺儿开发6 小时前
《长征 · 征途》Unity 三维互动沙盘
科技·3d·unity·1024程序员节·地形·互动·沙盘
解决小子7 小时前
【虚幻引擎】【C++】【GAS框架】构建角色基类、属性集、数值钳制
c++·笔记·游戏引擎·虚幻·gas·能力系统
上班摸鱼下班游戏8 小时前
Unity 仿生智能算法 从蚁群算法 开始
算法·unity·游戏引擎
Oiiouui11 小时前
针对Godot-GridGame(网格游戏)的DI注入+RefCounted数据驱动信号流架构设计的研究(全程开源)
游戏·游戏引擎·godot·1024程序员节
Wanda121411 小时前
机器人与机电一体化3D数字孪生机器-Day6
unity·机器人·数字孪生·1024程序员节
淡海水16 小时前
07-03-源码-.NET Core GC标记与扫描
unity·c#·.netcore·gc
上班摸鱼下班游戏1 天前
从零开始玩转 DOTween
unity·游戏引擎
阿松爱学习1 天前
【Unity开发】Unity长截图功能实现
unity·c#·游戏引擎
小小数媒成员1 天前
Rect Transform
游戏·unity·游戏引擎
淡海水1 天前
07-01-源码-.NET Core GC总览与架构
unity·架构·c#·.netcore·gc