Unity移动异常抖动|CharacterController与transform冲突问题解决

与Rigidbody位置同步问题类似,CharacterController也存在同步问题。它们与transform并不是立刻同步的。这就会导致当Unity CharacterController、Transform.Position在同时操作时发生不可预料的异常。即移动抖动,始终移动不到目标位置。所以我们说CharacterController与transform是冲突的。比如:

transform.position = new Vector3(0, transform.position.y, transform.position.z);
characterController.Move(transform.forward * speed * Time.deltaTime);

会导致移动抖动或偏移不自然。

解决办法:在Edit-ProjectSeeting-Physics 里面设置enabling Auto Sync Transforms开启. 或者使用代码执行 Physics.autoSyncTransforms = true;

 

视频:https://www.bilibili.com/video/BV1YC4y1W7KL/?p=12

作者:Miracle
来源:麦瑞克博客
链接:https://www.unitymake.com/archives/unity/unity_technologyshare/3020
本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0许可协议,转载请注明!
THE END
分享
打赏
海报
Unity移动异常抖动|CharacterController与transform冲突问题解决
与Rigidbody位置同步问题类似,CharacterController也存在同步问题。它们与transform并不是立刻同步的。这就会导致当Unity CharacterController、Transform.Po……
<<上一篇
下一篇>>
文章目录
关闭
目 录