1

本人以为,能否快速找到合适的方式移动物体,是unity新手与熟手的分水岭。一直想对常见的移动做一次总结,直到最近,看到一个youtube视频,遂整理总结如下:

第一种:Transform SetPosition
解释:直接改变物体的位置,适合非物理碰撞的移动;
代码如下:

clipboard.png

第二种:Transform Translate
解释:跟第一种类似,适合非物理的移动;
代码如下:

clipboard.png

第三种:Rigidbody MovePosition
解释:跟上面两种类似,但是很少用;
代码如下:

clipboard.png

第四种:Rigidbody AddForce
解释:给物体施加力的作用,适合物理类移动;
代码如下:

clipboard.png

第五种:Rigidbody SetVelocity
解释:直接给物体设定速度,适合物理类移动,要注意与上一种方式的区别;
代码如下:

clipboard.png

如果你的物体移动在碰撞时抖动,考虑是否用了物理的方式移动物体;如果物体被设为Kinematic,则只能用前三种方式(直接改变位置)移动物体;

附:原youtube链接如下:

https://www.youtube.com/watch...

以下是我自己做的微信小游戏,扫码玩玩看:

clipboard.png


毒鱼
18 声望3 粉丝

Unity game developer