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

本文介绍了作者使用Unreal Engine 4开发的一款动作冒险游戏——蘑菇森林大冒险,涉及主角资源制作、动作动画设计、连击系统、受击判定以及程序化关卡生成的过程。通过动画通知、状态机和动画蒙太奇实现游戏逻辑,同时讨论了移动、道具系统和背包设计。

我的专栏目录:

小IVan:专题概述及目录

概述:

蘑菇森林大冒险是我很久以前就开始做的一个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。

【激光质量检测】利用丝杆与步进电机的组合装置带光源的移,完成对光源使用切片法测量其光束质量的目的研究(Matlab代码实现)内容概要:本文研究了利用丝杆与步进电机的组合装置带光源移,结合切片法实现对激光光源光束质量的精确测量方法,并提供了基于Matlab的代码实现方案。该系统通过机械装置精确控制光源位置,采集不同截面的光强分布数据,进而分析光束的聚焦特性、发散角、光斑尺寸等关键质量参数,适用于高精度光学检测场景。研究重点在于硬件控制与图像处理算法的协同设计,实现了自化、高重复性的光束质量评估流程。; 适合人群:具备一定光学基础知识和Matlab编程能力的科研人员或工程技术人员,尤其适合从事激光应用、光电检测、精密仪器开发等相关领域的研究生及研发工程师。; 使用场景及目标:①实现对连续或脉冲激光器输出光束的质量评估;②为激光加工、医疗激光、通信激光等应用场景提供可靠的光束分析手段;③通过Matlab仿真与实际控制对接,验证切片法测量方案的有效性与精度。; 阅读建议:建议读者结合机械控制原理与光学测量理论同步理解文档内容,重点关注步进电机控制逻辑与切片数据处理算法的衔接部分,实际应用时需校准装置并优化采样间距以提高测量精度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值