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

云和数据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驾驶坦克和飞机的工作,如果时间充裕的话还会设置到玩家控制角色的各种设置。

未完待续。


相关内容

2026年“双师型”教师培养培训班企业实践学习开班仪式在云和数据隆重举行 7月20日上午,由河南省教育厅主办,商丘师范学院与云和数据信息技术有限公司共同承办的2026年河南省职业院校“双师型”教师计算机平面设计专业培养培训班企业实践学习开班仪式,在云和数据报告厅隆重举行。商丘师范学院计算机与人工智能学院公修教研室主任崔卫东、云和数据信息技术有限公司副总经理李雨恒、营... 喜报来了!热烈祝贺云和数据AI设计与艺术专业250901班级全体同学斩获100%就业佳绩! 喜报来了!热烈祝贺云和数据AI设计与艺术专业250901班全体学员顺利毕业,实现全员100%就业的优异成果!本班就职于一线城市的学员平均薪资10684元,学员最高年薪达16万元,整体就业成绩十分亮眼。在校学习期间,全体学员深耕人工智能创意设计完整课程体系,系统学习 AIGC生成设计、视觉传达设... 传统美工逐渐被淘汰,AI设计新赛道崛起,这才是年轻人的优质择业方向 近几年,传统设计行业的困境越来越明显。很多做平面设计、基础美工、图文排版的从业者,都有同样的感受:入行门槛低、新人扎堆、竞争极度内卷;工作琐碎重复、加班常态化;薪资涨幅缓慢,职业天花板极低;可替代性极强,随时面临被新人、被工具替代的风险。随着AI工具普及,企业不再需要大量人力做基础排版、素材拼... 没有美术基础、零基础能学AI设计?这群学员的蜕变给出了答案 很多人觉得设计需要天赋、需要美术基础,零基础不敢入门。事实上,AI时代的职业化设计,靠的是科学方法、系统训练和实战积累。无数零基础学员从小白逆袭,证明普通人也能学好、就业、拿高薪。“我没有美术基础,没学过画画,肯定学不会设计。”“审美不好、不会创作,零基础入行根本没优势。”这是绝大多数想要学设... 为什么越来越多人选择云和数据?真实就业Offer给出答案 在IT职业培训行业飞速发展的当下,市面上的培训机构层出不穷。对于想要零基础转行、应届生求职、想要提升技术换新工作的人来说,择校最核心、最实在的标准,从来不是华丽的宣传话术,而是真实的就业成果。喜讯来了!云和数据就业喜报持续刷屏!不少同学好奇,为什么越来越多学员果断锁定云和数据,安心深耕技术、冲... 传统数据岗逐步缩减,AI驱动下的新型数据分析岗位,正在成为行业主流 重复制表、基础统计的工作不断被自动化替代,企业用人方向全面转向AI智能数据分析。紧跟岗位迭代节奏,掌握AI+Python 综合能力,才能适应行业新变化。走进各类企业的运营、财务、市场部门就能发现,日常数据工作正在悄然改变。放在几年前,每个部门都会设置专门的岗位,负责每日数据统计、报表制作、台账...