查看原文
其他

2.5D+3D双模式动作游戏Demo,Unity初学者从零开始仅用3个月完成

Unity Unity官方平台 2023-08-28
随着国内独立游戏崛起,不断有各类题材佳作涌现,这一款去年五月份发售,将横板射击和平台跳跃完美结合的《碳酸危机》,至今在游戏体验上难以被超越。
据开发者说《碳酸危机》灵感来源于《武装原型》和《超级食肉男孩》,在游戏设计中着重把射击的爽快和跑酷的流畅结合到一起。开发者在大学期间自学了 Unity 引擎,从零开始做出了游戏 Demo,再经过长期打磨,最终在工作多年后发行了《碳酸危机》。
现在,《碳酸危机》的故事感染了 Unity 集训营里的游戏爱好者,他们组成了开发团队,将“可操作性强”、“流畅度高”的游戏体验作为首要目标,力求制作一款让人“爽爆”的闯关动作游戏。在精心筹备策划的三个月后,这款动作游戏《弥之迹》Demo 就此诞生。
游戏中的主角弥为了实现母亲的意愿,踏上寻宝之旅。面对未知的旅途,她需要克服重重困难,战胜诸如傀儡、机器工兵等各种敌人,最终揭开隐藏在危险背后的秘密。
除了拥有充满悬念的主线剧情,这款游戏 Demo 还有丰富的玩法和设计:2.5D 与 3D 结合的画面、高机动性的游戏人物、会动态调整难度的敌对角色,这些风格化设计是如何实现的呢?

爽!2.5D+3D 模式的极度丝滑

“可操作性强”、“流畅度高”是主创团队们对《弥之迹》玩家体验的核心设计。在这个基础上主创团队还“层层加码”,提出要将 2.5D 和 3D 相结合,实现自然平滑的场景模式切换和独特的美术风格。
万同学表示,在衡量对比时,2D 和 3D 的画面效果各有优劣,为了实现最理想的画面效果,最终决定在关卡场景中采用 2.5D 模式,在 BOSS 战中采用全 3D 模式,再利用动画 CG 实现平滑的场景间切换,这样两种游戏模式的融合不仅让画面表现更生动,还显著提升了玩家的游戏体验。
在 2.5D 和 3D 切换时,游戏会先进入一段人物过场动画,经过 Timeline + Cinemachine 的相机参数调节,每个人物的出场都设计了不同的出场动画效果,不仅实现了 2.5D 和 3D 之间的平滑过渡,还增加了角色演出差分。

爽!酣畅淋漓打出“5 连鞭”

就像《碳酸危机》里突突刷图的爽快一样,《弥之迹》中玩家也能也能体验酣畅淋漓的激烈战斗,并且在高频率战斗时可以保持 90fps 的顺畅运行。
其中角色的连招效果,负责 2.5D 模式的万同学和 3D 的姬同学使用了不同的方法。
在 2.5D 的模式下,万同学考虑的是人物攻击的时间间隔,他将攻击设定成 1.5 秒,任何一次时间超过 1.5s 则会返回初始状态。为了提升手感,避免玩家连续按下攻击键后实际攻击迟滞的问题,万同学选择在上一攻击动作播放过大概 3/4 后开始计时,此时玩家再按攻击键才会切换到下一连击。
而动作游戏中必不可少的打击感,是通过镜头抖动和顿帧的效果实现的。
在玩家开枪射击的瞬间,通过 Cinemachine 的 Cinemachine Impulse Source(冲击源) 组件,绑定动画事件实现,加上后坐力实现镜头抖动效果,让射击质感更真实。在玩家攻击到敌人时,则通过动画帧事件+修改时间 Timescale,使玩家攻击到敌人时,系统修改玩家时间让 Timescale=0.1f。
游戏的 3D 场景模式下,人物的技能由有限状态机完成,通过 SetBool 函数,让玩家在使用技能相应按键时可以触发状态机。姬同学通过添加动画事件,将技能音效、动画、震动以及屏幕模糊等元素组成最终技能动画效果,增强了 3D BOSS 战中的人物打击感。

爽!像刺客一样飞檐走壁

测试阶段中发现,在 2.5D 模式下,人物在斜面上行走时会与地形发生碰撞,导致卡顿,万同学利用向量投影的方法,判断出人物运动方向和斜面法线方向的斜面角度,引导人物沿斜面角度释放技能。当角色行走的时,通过获取脚步的结点信息,实现人物脚部的 IK 绑定,以此贴合斜面运动。
万同学说,人物脚步 IK 绑定使用射线检测判定斜面,当射线检测出斜面,脚步 IK 贴合斜面。为了让人物能在斜面上做奔跑运动,他还额外设置了人物跑步时的脚步权重信息,当人物运动的时候,解除 IK,设置权重为 0。
在 3D 的游戏模式下,斜面检测也是通过射线完成,姬同学在人物移动动画里设置了两条曲线。当人物脚落下的时候将权重设置为 1,脚抬升的时候将权重设置为 0 ,并将曲线的 float 值与脚步的权重匹配来控制人物双脚贴合斜面的运动。
在翻墙运动时,为了避免人物运动的不自然,万同学设置了空气墙和虚拟墙,空气墙是为了防止角色与墙产生穿模,虚拟墙则是用于检测人物接触实体墙的辅助装置。当人物接触了虚拟墙时,主角运动方向会从向上调整为为上墙动作,结合射线检测,判断人物上墙动作完成后调整为上翻滚动作。
而在 3D 模式下,人物的爬墙必须依靠奔跑和跳跃实现,姬同学采用射线检测的手段。以玩家左右两侧的两条射线和脚步向下的射线来判定玩家的位置和跳跃状态,当玩家正在做越墙动作时,系统会取消重力。反之,系统会给玩家恢复重力。
实现了上坡、攀爬、翻墙、跳跃等动作后,玩家可以控制角色在地图中飞檐走壁。当然,强大的主角当然要配上强大的对手,游戏里的敌对角色也有“秘密武器”。

爽!高智商怪物还会预判

在游戏中为了让“战斗来得更猛烈些”,主创团队为敌对角色添加了学习能力。
据主创团队说,给敌人增加“智商”,不仅增添了游戏的可玩性,还可以加快游戏节奏,因为玩家会被引导赶在怪物获得强化之前尽早消灭它。
在技术层面,这个机制分为两部分实现:满足一定条件的怪物得到一定的经验值,经验值足够则怪物升级,获得一定的护盾,并解锁新技能;当玩家多次采用同样招数躲避怪物的攻击时,达到经验阈值的怪物就会激活学习模仿能力
比如游戏里小章鱼怪一开始会缓向玩家上方移动,或选择 ∞ 型轨迹移动,当玩家几次成功闪避章鱼怪的移动轨迹时,章鱼怪就会模仿玩家闪避轨迹,姜同学将玩家移动的动画帧中提取最近的两个移动关键帧,通过向量的计算再把这个系数附加在章鱼小怪身上,这样章鱼小怪就能按照玩家的移动轨迹预判出玩家的运动轨迹。
以玩家体验为核心的游戏设计思想在 BOSS 战中也有体现,为了引导玩家采用以远程攻击破盾,再使用近战攻击来终结对手的策略。姜同学给怪物添加了数层“护盾”,并且让怪物在护盾生成时对玩家攻击强制免疫。
可见,为了给玩家带来刺激好玩的战斗体验,《弥之迹》主创团队真可谓是煞费苦心。

爽!学习像开了挂

万同学说,《弥之迹》的制作不仅让他从零学习首次独立开发出了自己的游戏,还让他更深度地了解了 Unity 引擎。
目前,万同学作为软件开发工程师,负责移动端开发,虽然职业和游戏关系不大,但 Unity 的课堂让他意识到游戏只是 Unity 引擎使用场景中冰山一角,虚拟现实、人工智能、数字孪生等热门领域,也是学习 Unity 后可以大展拳脚的地方。
在 Unity 集训营中万同学收获的游戏程序开发技能和经验,让他在人才内卷的时代,又多了一个秘籍。此外,Unity 集训营还提供了免费的专业实习机会,在临近毕业时还安排简历优化,职业规划建议等就业辅导。这些贴心的帮助让万同学对于自己未来人生的职业规划有了更充足的信心。
你是否也想和万同学一样在官方导师的带领下,短时间内掌握 Unity 开发的“武林秘籍”?扫描下图二维码,或点击阅读原文,加入 Unity 集训营,掌握“开挂”技能。



长按关注

Unity 官方微信

第一时间了解Unity引擎动向,学习进阶开发技能






 点击“阅读原文”,前往 Unity 集训营官网  


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存