虚幻4渲染编程(游戏Demo篇)【第二卷:蘑菇森林大冒险】

本文详细介绍了使用Unreal Engine 4等工具开发动作冒险游戏《蘑菇森林大冒险》的过程,涵盖角色建模、动画制作、战斗系统设计及程序化关卡生成等内容。

我的专栏目录:

小IVan:专题概述及目录​zhuanlan.zhihu.com图标

概述:

蘑菇森林大冒险是我很久以前就开始做的一个demo,陆陆续续持续了很长时间,我把它定位为一个王国之心类的动作冒险游戏。

效果预览:

v2-7a15bdd459caec94b23d04caadcaa1d8_b.jpg

使用工具:

(1)Unreal Engine 4(2)3DsMax2016 (3)Zbrush (4)VS2015

开发步骤:

既然是动作类游戏,所以我研究了一些动作制作技术和动作类游戏的设计框架。首先需要生产主角相关的资源,建模绑定这些都是最基本的。绑定我还是使用BIP骨骼。

v2-cf4c43a3781ca4738adfe31527998600_b.jpg

因为动作游戏会使用大量动画位移,所以我把根骨放在了Character胶囊体的地波也就是双脚的终点上,根骨只负责根骨位移,而整个身体的旋转等操作我选择使用盆骨来完整,把两部分逻辑这样拆开有助于后期动画逻辑的设计。

v2-495f22353f40f0799dc4ed9d7408cea4_b.jpg

准备好大量动画片段后就可以开始制作各种战斗动画技能了,当然这些战斗动画在制作之前还是需要自己策划设计一些技能,然后再制作这些资源然后再再程序中融合这些动画。

v2-1fec1d84d0e7a66d19e1280cb5bd3e7e_b.jpg

我使用了大量动画通知和动画状态机,动画蒙太奇能方便地控制动画的播放,但是动画融合就会显得比较生硬,但是单个动作动画也就几帧,是否要进行两个动画之间的动画融合还是要去看具体需求。

v2-5ae0f4c6397dfb70efbad14ded7e1736_b.gif

我把连击进行分级,分为一段二段三段。第一种连击技的二段状态不能切换到第二种连击技的一段。第二种连击技的三段不能切换到第一种连击技的二段,但是两种连击技之间可以来回配合。

v2-be8ba449229d3c9d64ee625ec1281b5c_b.jpg

每段受击等判定可以使用动画通知精确控制,我们只需要自己定制一个动画通知即可。动画通知中可以定制丰富的战斗数据,比如打击声音等等。

v2-296f3dd1f0fc859493b16bd3db15c6b3_b.jpg

这样就可以方便制作出硬值效果,连击的每个阶段造成的伤害对怪物会造成不同的硬值。不同的硬直怪物表现出的受击效果也不同:

v2-b3c67901cc7ccd614dd5970e87ac3dbb_b.gif

伪代码如下:

v2-ccec9370a85c300f5ede9bb92194032c_b.jpg

上述的战斗部分主要是用动画通知+大量动画片段+动画状态机,而移动部分则是使用了大量动画状态机,如果想制作丰富的动画和环境交互的话还需要加入骨架控制。

这部分内容程序部分就比较简单了,但是对于资源制作部分引擎就帮不了什么忙了。

v2-b67049c0b1fe0eff14f45864c9c94fe2_b.gif

注意一下缓动插值这些方法的使用调整手感就可以了,不要一下子把Rotation给设置过去即可。

v2-df032f47ee599ca2367c36b778df51c2_b.gif

然后就是一些道具物品的元素啦。我自己做了个背包,把物品放到快捷物品使用栏就能方便使用啦。

v2-ad629115261ef51826abcd50e4033b61_b.gif

背包系统其实非常简单就是个简单的数组排列问题。

有了这些游戏元素以后,还需要设计一个管卡,我才用全程序化生成的方式,类似饥荒那种模式,每次游玩游戏都会有新的内容。

v2-4229428d0829441bd4c6018e43621752_b.gif
v2-ba651a08478b63a6a8a9af0573bdbe23_b.jpg

Enjoy it。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cpongo11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值