集团官网
  • 国家级全民数字素养与技能培训基地
  • 河南省第一批产教融合型企业建设培育单位
  • 郑州市数字技能人才(码农)培养评价联盟

云和数据Unity虚拟现实大师班学员开发日记获得GAD腾讯游戏开发者平台官方连载

编辑:云和数据 日期:2018-07-25 14:27

云和数据Unity虚拟现实大师班学员将大项目阶段的心路历程用文字记录,获得GAD腾讯游戏开发者平台官方连载腾讯游戏学院的微信公众号将所有记录整理到一起进行形成了《开发日记》进行官方推送。梦想从云和起航!详情见:https://mp.weixin.qq.com/s/oAoIHiBBIzEGFhS4_Ri9rw。以下是部分文章内容:  

开发日记:Unity完全自制游戏《纸箱战争》项目记录

最近半年时间通过培训机构接触到了Unity游戏制作引擎,通过半年的时间,临近毕业的时候需要制作一个大项目来验证学习结果,因此就确立了这个项目的诞生。

日期:20180629

制作时间为期三周,为了给自己增加难度更好的磨练自己,我自告奋勇要求一人制作项目,并且是完全原创的项目。

游戏玩法类似与战地系列的FPS对抗游戏,玩家可以利用在地图中的载具对目标点发起进攻,最后夺得目标争夺点取得游戏的胜利。

完全原创肯定就不能使用网络上的美术资源和他人分享的代码亦或是插件,鉴于美术基础太差,因此选择了简约的美术风格,有点类似《我的世界》那种方盒子感觉,最近在Steam上出现了很多类似风格的游戏,似乎都还卖得不错。

为了此次项目的成功进行,我还特意学习了一下在3Dmax中的骨骼蒙皮和动画制作,有了点大致的雏形。

因为从下周一开始才是正式的三周制作时间,之前我就制作了一部分,以下是已完成的部分。

微信图片_20180725142034.jpg

微信图片_20180725142038.jpg

因为游戏使用了简约的美术风格,资源占用量大大减少,所以便可以实现次时代大作中难以实现的部分,比如完全的场景可破坏性。

在上图中可以看到,树木可以分部位击落,落在地面后一段时间沉入地面随后销毁物体。

微信图片_20180725142051.jpg

微信图片_20180725142057.jpg

人物的自定义外观,这里算是投机取巧,本来是想要实现类似“人类一败涂地”中那种可以涂色的系统,苦于不知道怎么实现,于是就在鼠标划过的位置实例化出一连串的彩色物体代替画笔,最后发现每实例化出一个物体就会增加Batches的占用,估计在项目进展后期可能会删掉这个功能,或者演一下。

.

.

.

.

.

.

日期:20180706

微信图片_20180725142535.jpg

今天完成了一些场景模型的布置搭建工作,还在发愁项目优化的问题。

AI的总体控制完成了,但个体AI离真正的实现还有很长的一段路要走,今天特意抽出了一些时间来思考个体AI的设定。

首先可以肯定的是,个体AI肯定是要比控制AI更加复杂多变。

其次,今天突然之间想到,如果是用AI来模拟真实的玩家,那么真正的玩家在游戏中的行为肯定会是无法预测的,并不会按照某一固定的模式执行规则。

因此之前设想过的通过需先编辑好的AI动作方法就只能放弃了,重新整理思路。

一定要确定的是一点,游戏中是分有不同的职业的,现阶段是分为突击兵、工程兵、反载具兵、医疗兵、狙击手。

在敌人是医疗兵或者是狙击手的情况下并不能对敌人的载具造成伤害,那么载具肯定就不会是他们的目标。

而工程兵或者是反载具兵的优先攻击目标肯定是威胁更大的地方载具单位。

医疗兵则会优先治疗友军,其次才是击杀敌人,狙击手则是要远程击杀目标。

考虑到这点,我就思索是不是应该把个体AI的寻获目标方式给封装成独立方法,因为并不需要时刻切换目标,和控制AI脚本一样,每隔一段时间调用一次就可以了。

在确定敌方目标的时候,我使用到之前写过的Camp脚本上的阵营,这样一来就需要多次的获取组件,担心多次的获取组件会影响到游戏的性能,对本就高负荷的游戏再增加更多的负担。

查阅资料后,发现获取泛型组件是相对节省资源的方法,但尽是这样还不够,考虑到了在遍历循环中每次遍历判断的时候都要获取几次组件,干脆把获取组件集体构造一次,这样应该能节省一些资源。

在获取了目标之后,就应该是对目标发起攻击了,这点考虑到了还有进攻目标点的原因,我认为应该添加一个追击时间,在追击了一段时间后,AI则会放弃追击,进攻目标点。

到目前位置,没有框架的致命缺陷就暴露了出来。

自我反思,在项目确立的时候就没有构思好全部的步骤,有些功能的实现只是因为一时的兴起而制作了,这样反而是打乱了整体的设计路线,如果有一个成熟的框架,代码编写则会简单很多。

早在项目建立阶段就没有考虑到这个问题,对自己的能力认识的还不够清晰,同学制作的手游几近完成,而我还卡在敌人的AI设定方面。

不过这也并没有打击到我的自信心,毕竟是PC游戏,复杂性远非那些手游所能比拟的,这对我是一次锻炼,也是对前段时间学习的一个总结。

.

.

.

.

.

.

日期:20180710

今天整理了个体AI的脚本,也算封装完成了。

微信图片_20180725142649.jpg

封装以后,原先预计在2000到3000行的代码被精简到了700行以内。

经过测试,流畅是很流畅,但出了一个很严重的BUG。

不清楚是具体什么原因,AI总是会攻击队友,而且次数不在少数,莫不清楚头绪,检查了几遍自己封装的方法,初步估计原因是在目标寻获方法中出现的问题。

找来找去终于发现是因为一个简单的逻辑运算符给打错了,没想到居然会造成了这么严重的BUG,看来码代码的时候还需要更加仔细一些。

此外今天还解决了报错闪退的原因,闪退前控制台会瞬间报错后闪退,今天手快截图到了,在网上查了下解决方法。

微信图片_20180725142652.jpg

我使用的Unity为5.45,在国内的网站上居然找不到解决方法,最后还是在外网上找到了类似的解决方案。

微信图片_20180725142655.jpg

大概意思是说出现这个错误的原因是因为使用到了遮挡剔除的原因,相机上勾选了遮挡剔除,而场景中并没有对遮挡剔除的物体进行烘焙,才导致了这样的错误。

我试验了一下把已经红烘焙过但是没有使用到的遮挡剔除清除之后就再也没有出现闪退的情况。

之前还一直认为是因为用到了随机数Random的原因,因为Unity和C#中各有一个Random类,如果没有具体声明可能就出现错误,我还特意加上了Unity的命名空间来解决,没想到居然是因为遮挡剔除的原因才闪退的。

既然这样了,或许在之后的任务中就不能使用到遮挡剔除来优化游戏了,这么说还需要再别的地方想办法节约一定的资源占用量,又是不小的工程累积。

明天预计会完成AI驾驶坦克和飞机的工作,如果时间充裕的话还会设置到玩家控制角色的各种设置。

未完待续。


相关内容

喜讯 | 云和数据获评中华人民共和国第三届职业技能大赛云计算、鸿蒙应用开发项目河南省集训基地 2024年11月16日,河南省技能人才评价工作网公示《中华人民共和国第三届职业技能大赛河南省集训基地及技术指导专家拟认定名单》,云和数据获评中华人民共和国第三届职业技能大赛河南省云计算、鸿蒙应用开发项目河南省集训基地,云计算大师陈涛被评选为云计算项目技术指导专家。双基地并立,引领技能教育新风尚... AI设计与艺术最新就业喜报来啦!毕业30天就业率100%! 小编又来播报云和数据就业喜报啦!云和数据2024年重磅升级的“AI设计与艺术”30天就业率100%!AIGC深度融合数据开发,AI大模型深度赋能,云和数据课程继续引领行业发展!毕业即就业!就业即高薪!就业率100%,班级平均薪资10118元,最高薪资15W/年AI设计与艺术智绘就业班课程分为四... 喜报|AI智慧大数据学科4周就业率98.87% 大家好,小编又来播报云和数据就业喜报啦!云和数据2024年重磅升级的“AI智慧大数据”4周就业率98.87%!AIGC深度融合数据开发,AI大模型深度赋能,云和数据课程继续引领行业发展!毕业即就业!就业即高薪!就业率98.87%,班级平均薪资12139元,最高薪资20W/年AI智慧大数据高薪就... 河南省职业院校双师型电子商务专业教师培养培训班结业典礼 2024 年 8 月 21 日,河南省职业院校“双师型”电子商务专业教师培养培训班结业典礼在云和数据报告厅圆满落幕。云和数据相关领导、培训讲师以及来自河南省各职业院校的60名教师们齐聚一堂,共同见证这一重要时刻。回顾过去的45天,云和数据在河南省教育厅的大力支持下,在与河南省商务中等专业学校的... 云和数据总部办公大楼正式启用,乔迁仪式在办公大楼大厅圆满举行! 2024年8月24日,对于河南云和数据信息技术有限公司而言,是一个极具重大意义的日子。在这一天,云和数据总部办公大楼正式启用,乔迁仪式在办公大楼大厅圆满举行,标志着公司在发展之路上又迈出了坚实一步。 2024年8月24日上午8时18分,云和数据总部办公大楼乔迁仪式隆重举行,仪式由云和... 双师培训企业实践学习圆满步入第十天,砥砺前行,收获满满 2024年7月31日,是“双师型”教师电子商务专业培养培训班60名学员来到企业参加实践学习的第十天,在过去的九天里,学员老师们在企业工程师的指导下,通过实践操作和案例分析,不仅掌握了电商行业的最新技术和趋势,还学会了PS软件的基础操作,如何使用AI工具辅助工作,以及淘宝店铺的开店流程及店铺装修...