Unity3d学习笔记-Demo实现

这是我在学习Unity3d过程中实现的几个小demo,其中最难实现的功能就是弹弹堂的弹坑效果了,在这里分享给大家。
1.3D坦克大战
这里的素材可以在AssetStore中找到,场景搭建比较简单。游戏内容我在网上学习的基础上添加了空投道具以及简单的敌人AI的逻辑,除此之外,还实现了单人和双人游戏模式的切换。
Unity3d学习笔记-Demo实现

2.水珠求生
这个Demo是大概17年9月份和一个朋友合作做的,我作为程序,他作为策划。在Demo实现后我们觉得这个游戏可玩性不强,而且我们没有找到美术人员,就放弃继续做了。
这个游戏其实也很简单,就是玩家控制一个水珠在一个区域内不断的吃掉其他水珠来使自己避免被太阳融化,而随着水珠的不断变大,速度会越来越慢。玩家可以选择在树荫下躲避太阳光,来避免蒸发(变小)。
游戏可以选择坚持2分钟,5分钟,以及无限时间三种模式。

Unity3d学习笔记-Demo实现

3.弹弹堂
这是我在初中的时候比较喜欢的游戏,当时和朋友们一起玩了很久。所以当接触游戏开发后,我一直想实现这样一个Demo。
弹弹堂游戏最主要的玩法就是抛物线打法,这种玩法当然不是弹弹堂的特例,例如百战天虫,燃烧战车等游戏的核心玩法也是这样。作为一个物理专业的学生,抛物线的实现还是非常简单的,只需要设定好物体的初始速度,再应用重力的效果就可以完成了。
这个Demo中最难实现的就是2D地形破坏—也就是弹坑的效果了。在3D开发中,弹坑的效果其实很好实现,只需要利用3D物体mesh组件的顶点,然后对顶点进行Boolean运算即可,而这一功能是有直接插件的(百度BooleanRT即可)。而关于2D地形破坏这方面的资料却很少,我再查找了很多资料后,才终于实现了这一功能。
关于2D弹坑的具体实现比较复杂,关键就是给2D精灵(sprite)生成一个mesh网格,每次碰撞(子弹打到)后更新sprite和网格。我会再继续更新来介绍这个功能的具体实现逻辑,以及实现代码。
Unity3d学习笔记-Demo实现
Unity3d学习笔记-Demo实现
在这个Demo里还实现了弹弹堂中的几个道具的效果,如纸飞机,还有多次攻击的效果。不过这些效果的实现就比较容易了。

总的来说,这些Demo大都有不足之处,只是作为一个简单的练习,通过写不同的Demo了解游戏功能的实现思路才是关键。我把这几个Demo的应用程序放到了网盘上。欢迎大家指正交流!
链接:https://pan.baidu.com/s/1EFMJ1N8E-aVt6RQfA158hw
提取码:ah1c

上一篇:【Unity3D】把相机视角放置到编辑器当前位置视角


下一篇:Spring Boot为我们准备了最佳的数据库连接池方案,只需要在属性文件(例如application.properties)中配置需要的连接池参数即可。