本人以为,能否快速找到合适的方式移动物体,是unity新手与熟手的分水岭。一直想对常见的移动做一次总结,直到最近,看到一个youtube视频,遂整理总结如下:
第一种:Transform SetPosition
解释:直接改变物体的位置,适合非物理碰撞的移动;
代码如下:
第二种:Transform Translate
解释:跟第一种类似,适合非物理的移动;
代码如下:
第三种:Rigidbody MovePosition
解释:跟上面两种类似,但是很少用;
代码如下:
第四种:Rigidbody AddForce
解释:给物体施加力的作用,适合物理类移动;
代码如下:
第五种:Rigidbody SetVelocity
解释:直接给物体设定速度,适合物理类移动,要注意与上一种方式的区别;
代码如下:
如果你的物体移动在碰撞时抖动,考虑是否用了物理的方式移动物体;如果物体被设为Kinematic,则只能用前三种方式(直接改变位置)移动物体;
附:原youtube链接如下:
https://www.youtube.com/watch...
以下是我自己做的微信小游戏,扫码玩玩看: