从零开始用Unity开发《坦克世界》3.坦克前进和旋转

本文从零开始教你使用Unity开发《坦克世界》,介绍如何为坦克添加Box Collider和Rigidbody组件,并编写C#脚本来控制坦克的前进、旋转,解决旋转与移动结合时的方向问题,实现平滑停止的效果。

首先打开资源包里的四号坦克的预制件,将其拖拽到场景里。

为其添加上Box Collider立方体型碰撞体,点击edit collider可以在场景里拖拽编辑它的范围,将坦克包围起来。
在这里插入图片描述
为其添加上rigidbody刚体组件。
组件中Mass的单位是kg,所以我调整成了25000。
Use Gravity 要勾选上。这个物体就会受到重力作用。
其它就保持原样就好了。

这时候可以点一下运行,一切顺利的话,坦克是不会掉下去的。(如果掉下去了,检查地面有没有加上碰撞组件)

终于要开始放代码了!!新建一个C#脚本,命名为TankControl(实际上,我是用预制件中MS_1的自带脚本魔改了一下,大家也可以参考那个脚本写)我们将在这个脚本里实现对坦克运动的控制。先将其挂在坦克上再说。然后写脚本。

首先,想按w让坦克前进。
先申明要用到的东西。

 	public GameObject[] LeftWheels;//存储左侧的轮子,在场景中把坦克的轮子一一拖上来就好,也可以写代码自动加载,我没写
	public GameObject[] RightWheels;//同上
    public GameObject LeftTrack;//左侧的履带,这个用来获取表面图案,将其运动,模拟出履带运动的感觉
	public GameObject RightTrack;//同上
	public float wheelsSpeed = 4f;//轮子旋转的速度,可以自己改数值
    public float tracksSpeed = 3f;//履带运动的速度
    public float forwardSpeed = 0.2f;//前进的最大速度
    public float rotateSpeed = 1f;//最大的旋转速度
    private float TempForwardSpeed;//临时前进速度(每帧的移动距离
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值