ASC and AS
目前GAS系列文章是在作者边学边实践的过程中的产出,因此未来100%会继续改善。
GAS-1
在这篇文章,我们来引进GAS系统中的两个部件。
Ability System Component
Ability System Component(ASC)是整个GAS系统中最基础的一个组件,它负责主要的对象与GAS的交互。在后续提及Gameplay Effect(GE)的时候,可以发现GE本身就是通过ASC进行施加的,同时这个过程中需要的 FGameplayEffectContextHandle 和 FGameplayEffectSpecHandle 都是通过ASC进行构建。不仅如此,ASC还和其所在类对应的AttributeSet,以及处理各种Gameplay Effect与使用技能Gameplay Ability都密切相关。因此对于一个角色,如果要将其加入GAS系统,你第一时间就是给予其一个Ability System Component。
ASC有两个代表Actor,分别是OwnerActor和AvatarActor,前者是实际构建(拥有)该ASC的Actor,...
GAS_Intro
Gameplay Ability System前置知识
再进入我们UE5特供的GAS插件之前,我们需要回顾一些关于虚幻的知识~
Controller
在我之前使用UE4制作一些demo的时候,我通常直接在要控制的Character类中,实现一些逻辑(如控制输入)。然而,受MVC设计模式的启发,对于我们要possess的Character(或者Pawn),应当尽量将逻辑与功能解耦合。
我自己举一个例子吧,例如在射击游戏中,可能存在固定位置的机枪、岸防炮,我们应当将这些作为Pawn的子类,因为它们需要被玩家控制。对于各自武器的特定功能,例如发射子弹或者炮弹,应当在Pawn中实现,因为它们是独立于Controller的。对于Controller,我们可以切换自己possess的pawn,例如在使用固定机枪前控制我们的角色,这时候可以进行移动,而使用机枪时,则可以控制机枪射击,无法进行移动。而这便是Controller的职责。(对于切换移动,我目测可以采用UE5的Enhanced Input系统,通过切换Input Mapping Context来实现。
当然,对于Contro...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
1$ hexo new "My New Post"
More info: Writing
Run server
1$ hexo server
More info: Server
Generate static files
1$ hexo generate
More info: Generating
Deploy to remote sites
1$ hexo deploy
More info: Deployment
