正文:记录一下我以前用ue4做的一个作品。先写了故事大纲以作定位,目标是做的越完整越好,从新建工程到导出pc版和手机版,安装包1个G多。类型是第三人称模拟生存类,这也是我的学习方法之一,先有想法,写出功能,再去通过技术实现功能。
这是需要实现的功能以及我如何在UE里操作的:
【生命条】:生命值上限为100。设一个UI 百分比bar,设置自定义数值HP,将自定义数值HP与百分比联系起来,这样扣除HP就能同步扣除HP百分比条。
【饥饿值】:饥饿值上限100。同样上步操作。此处我为了省去麻烦,改去percent bar,将饥饿数值直接显示在UI中,扣除实时显示。
【鼠标】按Z键显示/隐藏鼠标,调用了set show mouse,作为一个“Z”键的自定义事件,默认为不显示鼠标即可。
【功能实现】水果、蔬菜:导入模型,建立苹果,白菜,橙子,黄瓜,洋葱,香蕉等蓝图,在羊的蓝图中建立自定义事件和数值,并且设置羊与水果蔬菜碰撞后,销毁水果蔬菜,并同时在【背包】UI中,新增该果蔬。在蓝图中写一个判断:判断地图中苹果少于10个,则在地图中产生新的苹果,将地图中苹果维持在15个,其他果蔬也是一样。羊吃到白菜会变大,吃到黄瓜羊脖子变长,吃到洋葱羊变小。
【功能实现】羊吃草:导入草的模型,区分黄草和绿草,并设置羊与草碰撞后产生UI进度条读秒,读条完成则草被吃掉,羊增加HP值,写一个判断1:将地图中草的数量维持,判断2:HP达到100,则销毁草后不再增加HP。
【背包】为了方便,我将背包中UI直接放在主UI界面。Z调用鼠标后,双击使用羊拾取到的果蔬,使用后羊的饥饿值增加,增加少量HP。判断:HP达到100,则不再增加也不减少果蔬。
【商店】为了增加可玩的时长,做了一个可以攒金币解锁繁殖目标的商店,做任务可以获取金币,任务界面增加了实时获取时间的节点,并且现实中一分钟等于游戏中一小时,时间一过自动刷新任务,完成任务可以获取金币。
【蓝图(动物)】鸡:给鸡写了黑板,黑板这块总是忘记先后顺序,idle,walk和run,鸡在一定范围内跑动,设置随机坐标,如果羊碰到黄鸡变黄色,碰到紫鸡羊变紫色,羊的变色使用的是set Material,为了省事直接连给了三坐标颜色。紫鸡是黄鸡的子集。后续其他类似动物也是子集。牛:牛是可以互动的对象,在牛上创建一个碰撞盒子,羊走近牛,牛则显示一个打招呼的文字,并且可以领取一个任务。领取到任务后,左上角出现一个任务框(0/1)UI。需要找到下一个动物羊才能变成(1/1),找到另一只动物羊后,可以使用果蔬给这只动物羊增加HP与饥饿。奔跑的小猪一样是鸡的子级的延伸,此处创建了新的同小猪的交互。
【ui】并没有系统的去做,一般是需要哪个功能做哪块的ui。
【粒子系统】做了天气,用粒子做了飘雪,和黄色的树叶飘落下来。黄色树叶飘落到地上会穿过地面,为了省事没有去做一个落到地面上的效果,但其实能实现会更好。
【模型】地形是自己刷的,刷了几个坑和山壑,调了材质缩放,下雪的地方刷点白雪,落叶的地方刷点叶子,地面就完成了,植被的话都选了面数最少的模型,刷了草和树,能少面就少面,动物模型基本在官网商城白嫖的,自己做了蓝图和调了材质,鸡的话当时没有白嫖到合适的运动动画,自己在maya里简单蒙了皮绑定。
【动画】做了动画蓝图绑定各角色,用速度判断切换动画,主要是蓝图间的信息传输,浮点数和整数等的命名需要做整理。
【材质】材质方面:需要养成做子材质的习惯,调节子材质上的信息会更方便。因为我的安卓sdk版本有时候会提示命名有特殊字符无法导出,所以我会尽量避免文件夹或其他命名用中文。材质节点也是我接下来会主要学习的对象,因为简单的加减乘除加上平移旋转等,就能作出很好看的效果。
【导出】构建完成之后,pc版本可以直接导出完成,手机端需要配置sdk,我使用的旧版本sdk,删除后更新新版时总提示旧版sdk还存在,一直找不到原因,又下回了原来的sdk。
总结:有软件基础,特效专业,会使用maya max ae等,并不精通,也时长忘记一个节点是怎么做的,一般碰到忘记的就上网搜一下。ue4报过线上网课。所以各类软件的使用对我来说不会困难,难点是将所学的知识规整和优化,特别是ue这种节点式软件的框架规整,网课老师会用案例进行讲解,所以更需要实战的技能框架,以及我自身经验的累积。