听过四周完成3D建模的
四周做个精美小动画的
但是真没听过四周完成一款游戏的!
不是标题党啊!是真的,国外有一个大神, 不到四周使用UE5就完成了一款游戏!这款游戏名字叫做 《 Je tpack Bubblegum》,翻译成中文叫做《喷气背包泡泡糖》(当然了你也可以翻译成相近的意思)
下面是这个游戏的预告片↓↓↓
从预告片中可以看出,这款游戏是一款充满动漫风格的轨道射击游戏。其角色设计十分可爱,完美契合了大家心中“元气美少女”的形象。游戏的主要场景设定在日本,玩家在游戏中不仅要面对摧毁半座城市的任务,还需要在战斗过程中拯救自己的猫咪。游戏内容结合了紧张刺激的战斗与温馨可爱的元素,整个运动的过程看起来也是相当的丝滑!
正如咱们上文所说的,这个游戏仅仅花费了不到四周的时间就完成了,是一个高级游戏程序员-Gabriel所开发的!他曾担任Proxima的工程主管,像2024年走红的游戏《Suck Up!》他就曾参与制作。
Gabriel Dechichi
独立游戏程序员
曾任 Proxima 工程主管
高级工程师
X地址:https://x.com/gdechichi
今天分享的这个游戏呢,其实是他参加的UE活动:挑战四周之内完成一款游戏的比赛!这位游戏开发人员,更是本着“人善”,大大方方的将他这一款游戏从粗略的概念变成可以玩的Demo的技术过程分享了出来,感兴趣的可以搬出小板凳认真听加记笔记了!
01
四周内制作一款游戏真的有可能?
四周制作一款游戏,听起来挺恐怖的,毕竟这工作量听起来就很庞大,但是呢,也不是没有办法解决,Gabriel他有自己一套方法,供大家参考
把项目的范围缩小到能在两周内完成的程度,并留出最后两周作为缓冲时间。为了确保项目能顺利进行,还做了一些重要的事情:
集中一个方向猛磕:集中精力制作一个五分钟左右的精致游戏体验,只需要做一个关卡。
简化核心玩法:游戏的核心玩法很简单,你是一个动漫角色,目标是救出你的猫咪,但在这个过程中不小心毁了一半的城市。
用现成素材:尽量使用现成的素材来节省时间。
虽说这加速了制作的时间,但是也有一些弊端,像用现成的素材的话,很容易造成风格不统一的问题。为了解决这一问题,Gabriel主要靠Blender和UE里的绑定和动画重定向功能,再配合自己做的材质和着色器,来让整体画面看起来更协调。
虽然说缩小了项目的整个范围,但是在短短的四周之内肯定做不到面面俱到,但最后成果也是能拿到“台面”上来的!
02
游戏原型和趣味性
因为《Jetpack Bubblegum》是要在Unreal Fest的街机上给人玩的,所以Gabriel一开始就着重的注意,操作手感必须让人一上手就觉得顺、特别直观。所以他不断的测试各种操作方式,直到找到那个“对了”的感觉。
制作游戏的过程中最大的难点是怎么让玩家一边移动、一边还能瞄准。最后Gabriel想了个办法:让玩家直接控制准星的位置,角色会根据准星的位置自动跟着动。这样一来,操作就变得又灵活又顺手了。
一开始Gabriel试着用UE自带的角色移动组件(CharacterMovementComponent),因为这个组件适用于大部分的游戏。但Gabriel游戏移动机制有点特别,最后还是自己动手写一套移动系统,从零开始用C++搞的。这样一来,角色怎么追着准星跑、怎么在场景里动,都能完全掌控,让操作感更加丝滑!
除此之外,为了让操作更有“爽感”,增加趣味性呢,Gabriel格外注重打击反馈、音效和特效这些方面,并且下了不少功夫。添加了这些小细节之后游戏的效果真的能差出天壤之别。放个视频感受一波:
爆炸效果是现成的素材,加了爆炸之后果然看起来战斗力都增加了!
03
关于动画制作
在这次《Jetpack Bubblegum》项目中,Gabriel主要用Blender来做角色绑定。用了个叫Game Rig Tools的插件,这款插件能轻松创建兼容UE5的绑定。
除了Blender,另一个出力的就是UE了,UE5 新增的动画编辑功能非常强大,可以直接在引擎里对动画做很多自定义调整,不用来回切换工具。
随便举个例子,Gabriel用的一套素材里的飞行动画,其实不太符合想象中角色悬停时的那种视觉效果。但通过使用Level Sequence(序列动画)和Animation Layer Override(动画层覆盖),可以在保留其他关键帧不变的前提下,单独调整某些骨骼的动作,让动画完成效果更加丰富!
04
用自定义材质让素材“合群”
《Jetpack Bubblegum》整体是那种元气满满的日漫风格,所以Gabriel给它安排了个卡通渲染(cel-shade)材质,并通过后期处理加上描边效果来强化这种风格。
角色的着色器则是参考了Ben Ayers 做的《原神》风格的着色器,Gabriel自己做了一个简化版。因为时间有限,所以没把人家所有酷炫效果都加上,但基本结构是一样的,看起来也够用了。
关于描边材质的实现,Gabriel主要参考其他大神的直播教学内容。其基本原理是通过比较当前像素的场景深度值与其周围像素的深度值。当两者的差异超过一定阈值时,就会渲染出描边效果。为了方便大家更深刻的理解,放上视频以供参考:
当开始导入不同素材包中的无人机和敌人时,关键是要确保所有东西都用同样的着色模型。但问题马上来了,不同的素材包因为作者不一样所以做法都也不一样。比如,有的艺术家用了完整的PBR流程,包括颜色贴图、法线、环境光遮蔽、金属度和粗糙度;而另一些人则把颜色和遮罩信息压缩在同一个贴图的不同通道里。
最后,Gabriel不得不为每个主要模型写一个自定义着色器。虽说这个方法并不高效,但对原型来说已经足够好了。到了完善完整游戏的时候,再把所有内容整合到一个统一的材质系统中。
05
环境破坏与UE5的Chaos系统
《Jetpack Bubblegum》这个游戏有个很吸引人的地方,就是场景可以实时被炸毁、打碎,UE5里的Chaos系统特别适合做这种效果。
在UE5 里做可破坏的场景虽然步骤有点多,但整体思路挺简单的:从网格创建一个几何体集合(Geometry Collection),然后再给它设置几道裂痕,告诉它以后被打到哪里会碎、怎么碎。
在实际操作中,Gabriel总结了几条重要经验:
模型碎裂效果做得太复杂会影响性能,尤其是物理模拟开启后。
建筑内部需要足够的结构细节,否则一碰就倒,显得不真实。
以上就是Gabriel和大家分享的,它是如何在四周之内使用UE5制作一款游戏的经验和技法了,这款游戏的试玩版将于6月2日至5日在奥兰多虚幻嘉年华上发布。目前咱们还是玩不了的,但这不是重点!重点是咱们学到了他的经验~想持续关注Gabriel的同志们可以转战他的X,文中已经附上地址了,怕大家懒得找,在放一遍哈~
X地址:https://x.com/gdechichi
end
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.