赞
踩
关于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瞬时速度变化,忽略了它的质量。 |
这只是很简单的两种方式,以后有空了再补充。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。