unity中模型,模型未挂载刚体组件,在使用transform.position直接赋值移动时会发现模型抖动,什么原因?
时间: 2023-11-06 22:34:45 浏览: 169
Unity相机抖动
在没有挂载Rigidbody组件的情况下,使用Transform.position直接赋值来移动模型也会出现抖动的情况。这是因为在每一帧更新时,Transform组件会先计算出模型的新位置,然后再将模型的位置赋值给Transform.position,但是在两帧之间的时间间隔内,模型会逐渐移动到新的位置,这就会导致抖动。
为了避免这种情况,可以使用Transform组件提供的Translate函数来移动模型。Translate函数会在模型当前位置基础上进行位移,而不是直接赋值新位置。具体代码如下:
```csharp
transform.Translate(moveVector, Space.World);
```
其中,moveVector为移动的向量,Space.World表示在世界坐标系中进行位移。使用Translate函数时,需要注意,该函数必须在Update函数中调用,而不是FixedUpdate函数。
阅读全文