Unity3d坦克大战联网

这次的作业是做一个联网游戏,我选择做的是坦克大战游戏。

首先先从AssetStore中下载坦克大战的资源,从Prefabs中将地形图LevelArt拖入图中,如图所示:

Unity3d坦克大战联网_第1张图片

由于地形会自动渲染,很耗费资源,所以可以更改设置,等到要build的时候再渲染:

选择Window->Lighting->Settings,将Auto generate取消,然后环境光的Source

改成Color,选择一个合适的渲染环境的光的颜色:

Unity3d坦克大战联网_第2张图片

将原有的光线删除,因为LevelArt地形预制中已经有了光线了。接着将坦克拖入场景中

Unity3d坦克大战联网_第3张图片

给坦克添加盒碰撞器,刚体和AudioSource,调整好,将碰撞器上的isTrigger取消,同时将刚体上的

Constraints下的Freeze Positioin的Y勾选上,不然移动的时候坦克会飞上天

Unity3d坦克大战联网_第4张图片

控制坦克移动的脚本:

Unity3d坦克大战联网_第5张图片

Unity3d坦克大战联网_第6张图片

设置一下音源让坦克静止和移动的时候有声音,同时也设置移动速度和旋转速度

Unity3d坦克大战联网_第7张图片

然后设置一下预制里的子弹,添加刚体和碰撞体

Unity3d坦克大战联网_第8张图片

子弹的脚本

Unity3d坦克大战联网_第9张图片

给子弹添加音源


在坦克对象下新建一个空对象,将它的位置调整到炮口,这样子弹就可以从这里发射出来了

Unity3d坦克大战联网_第10张图片

坦克攻击的脚本

Unity3d坦克大战联网_第11张图片

接下来给坦克建一个血条,实现效果:

Unity3d坦克大战联网_第12张图片

在坦克对象下新建一个UI对象slider,参数设置如下:

Unity3d坦克大战联网_第13张图片

Unity3d坦克大战联网_第14张图片

Unity3d坦克大战联网_第15张图片

Unity3d坦克大战联网_第16张图片

Unity3d坦克大战联网_第17张图片

坦克血条的代码:

Unity3d坦克大战联网_第18张图片

添加在ShellExplosion上的代码,使之有足够的播放时间

Unity3d坦克大战联网_第19张图片

接下来如何制作联网游戏只需要根据老师给的教程来就行了,不过在做联网游戏的时候

有出现bug,那就是无法设置客户端和服务器端游戏对象的Home的位置,看上去像失灵

一样,还有血条的显示有点不同步

视频地址:视频位置

你可能感兴趣的:(Unity3D学习)