角色、装备与战斗
把装备切换、射击、弹药、换弹与伤害结算连成完整流程,并扩展修复弹与爆炸弹。
查看技术细节
基于 C++ 与 GAS 构建数据驱动的角色和装备系统,由 PlayerState 持有玩家 ASC;通过动态授予与回收装备技能,贯通输入、射击、弹药、换弹和伤害结算,并扩展修复弹与爆炸弹。
USC MFA THESIS / GAMEPLAY ENGINEERING
第一人称科幻动作生存 · USC MFA 论文项目
The Man I Invented 是一个 USC MFA 论文项目,类型为第一人称科幻动作生存游戏。项目涉及角色战斗、装备切换、敌人行为与世界状态的保存和恢复。我担任主程序,负责相关玩法系统与第一人称动画的实现。
这段 29 秒的演示展示程序化动画。下方分模块介绍我负责的系统与实现。
视频由 Bilibili 提供。若播放器无法加载,可在原站观看。 Bilibili ↗
我担任主程序,以下为个人负责的系统与技术实现。
把装备切换、射击、弹药、换弹与伤害结算连成完整流程,并扩展修复弹与爆炸弹。
基于 C++ 与 GAS 构建数据驱动的角色和装备系统,由 PlayerState 持有玩家 ASC;通过动态授予与回收装备技能,贯通输入、射击、弹药、换弹和伤害结算,并扩展修复弹与爆炸弹。
记录世界中物体的状态,让运行时生成的对象能够重建,让已被永久销毁的对象保持销毁。
通过 GameInstanceSubsystem、持久化实例 GUID 和自定义状态接口构建世界状态存储,支持运行时对象重建、永久销毁记录和物体状态恢复。
为人形、梦魇和头领建立共用战斗基础,再通过行为子树和技能配置组织不同敌人的战斗表现。
统一敌人 ASC、属性与技能配置,派生人形、梦魇及头领;动态加载行为子树,并按阶段与距离选择 GAS 技能,实现隐身、范围弹幕等能力。
协调独立手臂、可见腿部和完整角色投影,并为不同武器扩展动画表现,加入移动倾斜与枪械滞后。
使用骨骼无关动画模板与 Linked Anim Layers 扩展武器表现,协调独立手臂、可见腿部及完整角色投影,以骨骼旋转和弹簧阻尼实现移动倾斜与枪械滞后。
把战斗事件与特效、音效及镜头反馈衔接起来,让不同战斗行为能够共用一致的反馈机制。
通过 Gameplay Tags 与 Gameplay Cues 解耦战斗与视听反馈,统一接入 Niagara、血迹贴花、空间音效和镜头震动。