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

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

Unity3d坦克大战联网

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

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

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

Unity3d坦克大战联网

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

Unity3d坦克大战联网

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

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

Unity3d坦克大战联网

控制坦克移动的脚本:

Unity3d坦克大战联网

Unity3d坦克大战联网

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

Unity3d坦克大战联网

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

Unity3d坦克大战联网

子弹的脚本

Unity3d坦克大战联网

给子弹添加音源

Unity3d坦克大战联网

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

Unity3d坦克大战联网

坦克攻击的脚本

Unity3d坦克大战联网

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

Unity3d坦克大战联网

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

Unity3d坦克大战联网

Unity3d坦克大战联网

Unity3d坦克大战联网

Unity3d坦克大战联网

Unity3d坦克大战联网

坦克血条的代码:

Unity3d坦克大战联网

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

Unity3d坦克大战联网

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

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

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

视频地址:视频位置

相关文章:

  • 2021-11-14
  • 2021-10-19
  • 2021-11-14
  • 2022-01-17
  • 2022-02-09
  • 2021-12-08
猜你喜欢
  • 2021-09-23
  • 2021-11-04
  • 2021-10-19
  • 2021-10-22
  • 2021-10-19
相关资源
相似解决方案