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】Shader spine动画冻结效果
unity·spine
淡海水6 小时前
05-02-源码-Boehm GC标记阶段
算法·unity·c#·游戏引擎·gc
淡海水10 小时前
05-03-源码-Boehm GC分配与碎片管理
开发语言·算法·unity·c#·游戏引擎·gc
mister_guo11 小时前
Apache Lucene 底层原理:从倒排索引到一次搜索的执行过程
搜索引擎·全文检索·lucene
WarPigs2 天前
Unity无法修改Assembly-CSharp.csproj错误
unity
FairGuard手游加固3 天前
手游加固怎么做?SO、IL2CPP、AssetBundle 与运行时保护详解
安全·游戏·unity
阿松爱学习4 天前
【Unity开发】监听Scene场景事件
unity·c#
xiaogai_gai4 天前
BOM 物料清单同步实战:金蝶云星空 → 四化智造 MES 修改场景深度拆解
unity·游戏引擎
淡海水4 天前
03-03-架构篇-SGen GC架构解析
unity·架构·c#·gc·sgen
/**书香门第*/4 天前
Cocos Creator 打螺丝游戏的实现
游戏引擎·cocos2d·螺丝·打螺丝