【发布时间】:2021-08-27 22:11:58
【问题描述】:
我想用 MovePosition 移动我的角色,但是当我写这个时,我的角色下落得很慢
rigidbody.MovePosition(rigidbody.position + offset); //offset this vector2(x,0)
附:这种移动方法对实现人物移动有好处吗?如果我改变了rigidbody.position 我有很多错误。
【问题讨论】:
标签: c# unity3d game-physics
我想用 MovePosition 移动我的角色,但是当我写这个时,我的角色下落得很慢
rigidbody.MovePosition(rigidbody.position + offset); //offset this vector2(x,0)
附:这种移动方法对实现人物移动有好处吗?如果我改变了rigidbody.position 我有很多错误。
【问题讨论】:
标签: c# unity3d game-physics
RigidBody.MovePosition 是当游戏对象附加了刚体组件时更改位置的方法。 如果您需要更精确的物理模拟,您可以使用Rigidbody.AddForce 对力进行操作。
回到你的问题,物体下落很慢,因为偏移量的 x 太小了。 你可以这样计算:
float y = speed * Time.DeltaTime // In case you use FixedUpdate then Time.FixedDeltaTime
Vector3 offset = Vector3.down * y;
【讨论】: