Unity动画幅度太大怎么办

已知_animator.applyRootMotion ==true;的时候,动画位移也会算在位移里面。

但有些时候位移动作太大,这时候就需要调整了。

调整办法如下:

cs 复制代码
  /// <summary>
  /// 自定义根运动的核心回调函数
  /// </summary>
  void OnAnimatorMove()
  {
      var animator = AIBasicBehavior.Animator;
      // 1. 获取动画计算出的根运动增量(位移+旋转)
      Vector3 deltaPosition = animator.deltaPosition; // 本帧根运动的位移增量(世界坐标系)
      Quaternion deltaRotation = animator.deltaRotation; // 本帧根运动的旋转增量

      // 2. 缩放位移(仅缩放位移,旋转保持不变)
      deltaPosition *= 0.55f;

      // 关键修复:指定Translate使用世界坐标系(Space.World),匹配deltaPosition的坐标系
      transform.Translate(deltaPosition, Space.World);
      transform.rotation *= deltaRotation;
  }
相关推荐
黄思搏1 天前
基于标注平台数据的 Unity UI 自动化构建工作流设计与工程实践
ui·unity·蓝湖·vectoui
羊羊20351 天前
开发手札:Unity6000与Android交互
android·unity·android-studio
Zarek枫煜2 天前
C3 编程语言 - 现代 C 的进化之选
c语言·开发语言·青少年编程·rust·游戏引擎
Sator12 天前
Unity AStarPath的踩坑点
unity
榮華2 天前
DOTA全图透视辅助下载DOTA全图科技辅助下载DOTA外挂下载魔兽争霸WAR3全图下载
数据库·科技·游戏·游戏引擎·游戏程序·ai编程·腾讯云ai代码助手
RPGMZ2 天前
RPGMakerMZ 游戏引擎 野外采集点制作
javascript·游戏·游戏引擎·rpgmz·野外采集点
星河耀银海2 天前
Unity基础:摄像机Camera的参数设置与视角控制
unity·游戏引擎·lucene
星河耀银海2 天前
Unity基础:Transform组件的位移、旋转与缩放详解
unity·游戏引擎·lucene
weixin_409383123 天前
godot 击败敌人后增加经验的脚本
游戏引擎·godot
海清河晏1113 天前
数据结构 | 单链表
数据结构·unity·dreamweaver