系统组件一览

介绍

战斗系统由多个组件组成,各自完成不同的功能。一些组件无需修改,而另一些则需要根据项目需求进行扩展。

这里是对这些组件的简单介绍。

核心组件介绍

GCS功能组件一览.001

战斗系统组件

GCS_CombatSystemComponent这是GCS中最核心的组件。只需为角色添加该组件,并配置一个“CombatFlow(战斗流程)”类,无需其他额外操作。所有“战斗结果”均由战斗流程产生和处理。

GCS功能组件一览.002

技能系统组件

GGA_AbilitySystemComponent GCS利用"通用游戏技能系统",管理角色所有可用的战斗能力(Abilities)以及功能性Abilities。

GCS功能组件一览.003

查看技能系统指南下的内容以了解内置技能的使用。

输入系统组件

GIPS_InputSystemComponent GCS利用“通用输入系统”来完成数据驱动的输入管理和处理。

GCS功能组件一览.004

属性系统组件

GCS提供BC_GCS_AttributeSystemComponent,该组件监听技能系统组件所用的所有属性的变化,并将其转发到战斗系统组件进行处理。

该组件拓展自通用游戏技能系统中的属性系统组件,得益于此,蓝图用户无需掌握C++也能使用GAS。

碰撞系统组件

GCS_CollisionSystemComponent用于管理一个角色当前的所有碰撞检测实例对象,无论是近战武器目标扫描,子弹的目标获取都依赖该组件。

GCS功能组件一览.005

查看碰撞检测系统了解更多。

战斗核心组件

GCS专注于战斗系统本身,而任何与其他系统产生依赖的地方,通过GCS_CombatInterface(战斗接口)进行抽象。

而战斗核心组件(BC_GCS_CombatCore组件)则是针对该接口的默认实现。

该组件是唯一一个被设计为需要你进行自定义的组件。

请查阅:战斗接口了解如何进行修改/拓展以及第三方整合。

在GCS的Demo项目中,有一个经过拓展的BC_GCS_DemoCombatCore组件来演示如何将不同的系统与GCS整合到一起,你可以依样画葫芦,完成对其它系统的整合(如果你确实拥有其他独立的运动系统、库存系统等。)

GCS功能组件一览.006

战斗队伍Agent组件

GCS有默认的阵营/队伍功能支持,查看阵营队伍集成了解更多。

GCS功能组件一览.007

额外组件介绍

GCS_LockIndicator组件

这是个简单的组件,它会根据角色是否被锁定,从而动态地为角色添加锁定Widget,它与BC_GCS_TargetingSystemComponent(是GCS_TargetingSystemComponent的子类)。

如果你不需要LockIndicator,你可以直接使用C++版本的GCS_TargetingSysytemComponent

GCMS_CameraSystem组件

这是来自相机系统中的相机系统组件,在GCS提供的参考内容中,使用该系统处理角色在不同状态下的镜头参数,以及多个相机模式之间的平滑过渡。

如果你已经有了其他的相机系统,你可以参考Demo中的用法,切换为别的相机系统。

GCS_ContextEffects组件

这是来自情景效果系统,在GCS提供的参考内容中,所有的脚步声,武器挥舞声,打击碰撞声效均由该系统处理。

GCS功能组件一览.008

GCS_DemoWeaponManager组件

这是一个简单的武器管理组件,用于管理和切换GCS中的武器。

GCS功能组件一览.009

你应该查看武器系统来了解GCS中的武器使用方式。