GameDesign 板


LINE

网页版 https://yekdniwue.blogspot.com/2018/09/gameplayabilities-system.html 本篇要说明个人最近研究有关UE4 Gameplay abilities system的各个系统介绍以及 负责的项目。 AbilitySystemComponent AbilitySystemComponent(ASC),处理一个角色整个GAS的相关事务。每一个可以 发动ability或是受到ability效果的单位都必须挂上ASC。 ASC身为中心负责了ability的发动与接收,角色属性值的变更与网路传输。 由於ASC通常是程式在C++端就挂上去,所以这个系统原则上跟企划比较没有关系。 AttributeSets 一个角色的属性值,通常技能最後的结果就是影响角色的值。 例如血量,能量,气条,攻击力。 AtrributeSets内储存的值都是浮点数,要使用其他类型可能就不适合 (或是根本没办法?)。 通常这部份的值都是企划决定。UE4在这部份也提供了curve table, 让值可以从表格决定,并且可以定义根据不同等级该有的值。 例如玩家角色的防御值可能会被定义为 PlayerDefense 1,2,5,10 代表等级1的时候防御是1,到了等级4的时候防御值是10。 GameplayAbility 一个Ability可以视为一个技能,技能可以决定从client先发动, 或是从server发动,以及技能要不要同步。 Tag组合 技能上面可以定义许多不同的tag组合,用来处理各种可能的情况: 1. 技能在角色拥有哪些tag才可以发动 2. 角色有哪些tag的话不能发动此技能 3. 这个技能启动後会取消有哪些tag的其他技能 4. 这个技能发动期间哪些tag的其他技能不能被发动成功 以下是范例: 1. 要有已知用火的tag,火技能才能发动 2. 角色被上了冻结的tag,技能不能发动 3. 施放大绝会取消所有普通技能 4. 施放技能中所有战斗技能都不能被发动。 Costs and Cooldowns 技能也支援costs以及cooldowns的概念,costs处理发动一个技能要有的消耗, 例如发动技能要耗10点魔力,如果角色魔力不足就会发动失败。 cooldowns处理发动一个技能後的冷却时间,要冷却时间结束之後才能够再次发动。 Triggers 技能的发动除了可以手动呼叫之外,也可以利用技能的Trigger机制, 设定角色的某一个tag被触发的时候就启动这个技能。 GameplayEffect GameplayEffect(GE)效果通常用来处理属性值的变化,效果的效期,叠加的规则, 以及这个效果启动时的表现。 Duration Policy设定此效果是Instanct(即时),infinite(永久), 或是HasDuration(有时间区段) 效果的部分有很多细项,目前我也不是全部都看完,以下就说明有稍微理解的部分。 Modifiers Modifiers决定的就是属性值的变更,一个效果可以决定多个属性值的变更, 例如扣血并降防。 ModifierOp则是宣告数值的使用方法是加、乘、除、或是覆盖。 例如移动速度加100,能量除2,或是血量变成1。 Modifier Magnitude定义这个效果要变更这个属性的量是多少。 Scalable Float是一个常数值,或是常数值*表格中的某一个值。 Attribute Based就是一个常数公式。CustomCalculationClass是更进阶的公式, 如果Attribute Based无法满足还可以自己定义算式。 Set by Caller则是可以从外部用GameplayEvent的方式传入。 Application Change to Apply to Target可以设定效果发生的机率。 Display 可以决定效果发动的时候要播放的GameplayCue,因为gameplay Cue是一个Actor, 所以可以挂特效,或是挂音效在上面。 Immunity 似乎是可以设定如果要上效果的单位有哪些tag的话会免疫。 或是可以建立更复杂的判断公式决定效果无法上。没有实际试过。 Stacking 处理效果堆叠的部分,包含堆叠的对象,堆叠的数量,堆叠时效果该有的行为。 各个系统之间的关系 一个角色会有一个AbilitySystemComponent,一个ASC要定义那些Ability可以 被这个角色使用,然後才能在适当的时机启动ability。 也就是说如果角色不会冰冻技能,即使你叫他启动冰冻的技能也会启动失败。 一个角色可以有多个AttributeSets,例如大家都有血量(AS_Base), 但是只有某些角色有魔力,就可以把这个角色挂上(AS_Mana)之类的attribute sets 做组合。 而一个Ability里面通常会定义多组GameplayEffect,宣示一个技能发动可能 可以触发多个效果,例如冰球打中後损血(GE_Damage),并且缓速(GE_SlowDown)。 除此之外,costs及cooldowns也是以特别的GE定义在Ability之内。 GameplayEffect不局限於只能在Ability内发动,只要拿的到ASC 就可以为ASC所拥有的角色发动GameplayEffect。 使用范例 在此列出一些使用上的范例。 狂暴技能 假设狂暴模式启动会播放狂暴开始的动画,移动速度提升30%,防御加100,5秒後结束 AttributeSet:需要两个属性MoveSpeed,Defense GameplayEffect:GE_SuperMode DurationPolicy设Has Duration,Scalable Float Magnitude设5秒 Modifiers有两项,一项是Defense,Add 100,另一项是MoveSpeed,Multiply 1.3。 Ability:SuperModeAbility,在ActivateAbility串PlayMontageAndWait, 在动画播完的後面呼叫ApplyGameplayEffectSpecToOwner,类似下图。 (记得要呼叫CommitAbility以及EndAbility,不然可能会不正常) 大致上完成上面的设定,狂暴技能就完成了。 技能与效果取消 假设有一个技能A能够取消技能B,只要在技能B的AbilityTags新增一个Tag 假设叫Ability.B。然後在技能A的CancelAbilitiesWithTags新增Ability.B。 这样当A发动的时候B就会被呼叫CancelAbility。 以上是大概用了两个半礼拜的心得,未来再看看有没有可以介绍GAS的相关项目。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.230.64.68
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1536389925.A.20A.html
1F:推 dreamnook: 09/08 15:53
2F:推 coolrobin: 推一下,看来这整个系统不小,改天来研究一下 09/08 17:07
3F:推 tst5381: 最近一直在找相关概念的实作,感谢提供资讯 09/17 18:32
※ 编辑: yekdniw (59.120.146.90 台湾), 07/15/2020 11:07:25







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP