关于Unity中控制物体移动的方式,大致可以分为两类:一类是利用Transform来实现移动,一类是利用Rigidbody来实现移动。这是我自己常用的两类。
1、Transform控制物体移动的实现方式:
Transform.Transla(Dir*Time.Deltatime*speed):
Dir是要移动的方向,比如:Vector3.forward,Vector2.right;Time.Deltatime:Time.deltatime是时间增量;speed是自己给定的速度值。这个方法在移动中会忽视障碍物,因为它是使游戏物体发生位移,而并非给物体一个速度。
2、Rigidbody实现物体的移动:
Rigidbody.AddForce(Dir*Time.DeltaTime*speed,ForceMode):
Dir是施加力的方向,比如:transform.forward;然后是时间增量;speed自己给得是速度;ForceMode是施加力的模式,Unity提供了四种模式:
| Force | 用它的质量给刚体增加一个连续的力。 |
| Acceleration | 向刚体增加一个连续的加速度,忽略它的质量。 |
| Impulse | 使用它的质量,给刚体增加一个瞬时的力脉冲。 |
| VelocityChange | 添加一个rigidbody瞬时速度变化,忽略了它的质量。 |
这只是很简单的两种方式,以后有空了再补充。
本文介绍了Unity中控制物体移动的两种主要方法:通过Transform组件直接移动物体和使用Rigidbody组件为物体施加力。前者适用于无需碰撞检测的情况,后者则更符合物理规律。
1万+

被折叠的 条评论
为什么被折叠?



