掘金项目游戏区怎么选择(项目回顾IndieDev)

文/James Rowbotham

译/喝喝喝水

上集回顾:

项目回顾:Indie Dev Story(一)

【v5手游2月8日消息】我考察了很多体素建模软件并最终选择了MagicaVoxel,你可以在这里下载它。我在MagicaVoxel中建模然后把它们保存为obj,然后导入3DS Max稍加调整。我把它们转成可编辑多边形,把顶点焊接在一起,并应用了粗糙角平滑组。我在想要不同颜色的地方设置了不同材料ID的多边形。我发现我可以基于其位置用UVW展开来选择多边形组,然后折叠UVW修改器并选中多边形,从展开中的选择会依然存在(这比手选每个多边形更快),接着从这设置材料ID。接着我把mash导入到虚幻引擎里,并在引擎中用材料着色。我创建了一个简单的主材料,用于更改基本颜色,然后再创建材料实例。我使用这种方法在游戏中使用纯色进行网格化,而不必进行任何解包。这允许我可以在引擎运行时更改颜色,而不是重新导入和花时间去鼓捣纹理。我也想到添加一个基本颜色的不透明纸张纹理,但我最终不这么做,因为我不得不解开一切才能用另一个UV通道。

动画

角色是用同样方式制作的。在MagicaVoxel建模,在3DS Max里绑定骨骼设置关键帧。一般来说,在10帧里我做了3或4个关键帧,Frame1和10是相同的用来循环,然后根据动画,围绕Frame4和6设置关键帧。我试过为了重叠和期望加帧,但是动画很快很鬼畜。在一些动画中,我在一些姿势上停留几帧来强调运动,例如举重健身动画。如果没有停顿看起来就不真实。我也试了阶梯插值但是更喜欢在自动样条曲线运动上改一点用。

掘金项目游戏区怎么选择(项目回顾IndieDev)(1)

我在一个max文件里试着用Biped骨骼图层来保证动画条理清晰。首先创建一个基本空闲动作图层例如FitnessIdle01,导出它,接着在顶部创建另一个图层,在顶部为实际运动添加一些简单的键,可以命名为FitnessAnima01,完成后,关闭这些图层的可见,并重复重新开始一个新的。为了适应我想在引擎中播放动画的方式我做了两个独立的动画。在虚幻引擎里,我通过动画蓝图来移动动画,使用1维混合空间,从Idle空闲状态到循环的移动的动画。我可以通过动画蓝图状态机完成任务动画,但我觉得会很混乱,所以我改用了蒙太奇,我会播放动画,然后让它进入循环的空闲状态动画。

以下两张图为1维混合空间示例以及蒙太奇设置。

掘金项目游戏区怎么选择(项目回顾IndieDev)(2)

掘金项目游戏区怎么选择(项目回顾IndieDev)(3)

虚幻蓝图

在游戏程序这块,我用了虚幻引擎的蓝图系统(像一种可视化代码),虽然它看起来很乱,但是对于不熟悉C 的人例如我来说真的是太棒了。在这我很难显示代码,因为跨越了很多地方和功能,几张图说不清楚。所以,我试着解释一下我怎么做以及做了什么功能,和一些我发现的有用的东西。我写的代码核心是:Player Controller,Player Character,HUD,购买部分,End Screen Widget游戏结算,以及AI部分。

Player Controller

角色控制器是最重要的部分。它包括所有的时间日期控制的功能,是我储存我最重要的变量的地方。它控制着游戏的核心:游戏状态,UI商店刷新,灯光开关,AI自由职业者来来往往的运动,租金账单,成就部分等等。

Player Character

我用Player Character处理绑定到控件的各种事情,例如填写任务条值告诉所有AI该放什么动画了(通过蒙太奇)。通常,Player Character把信息传给Player Controller来储存,或者把信息直接发送给要显示的UI控件。

HUD设计以及End Screen Widget游戏结算部分

HUD是统筹代码的另一个重要的部分,因为它是前端显示并与玩家之间直接交互。很多信息借此反复传递,例如Player Controller和Player Character。我试图限制这里的功能,而是让它更多地处理数据,使得对玩家来说一目了然。举一个例子,就是用append方法把值连接在一起,使它们更清晰,例如加一个£到金钱上使你可以看的见(注意你只能通过字符串调用append)。End Screen Widget就有更多的功能。创建它时,它从Player Controller和Player Character那里抓取它需要的值,结算分数并显示出来,我不确定,但我觉得这不太好,我觉得如果是在Player Controller那里调用会更容易访问,但是它只被调用一次,所以我觉得还是可以的。

掘金项目游戏区怎么选择(项目回顾IndieDev)(4)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页