Unreal Engine 4(虛幻UE4)GameplayAbilities 插件入門教程(七)Ability的信息傳遞等


本節及后面的內容將會探索更加有意思的內容,更加逼近實際的使用的內容。我們本節內容不難,講的是釋放Ability時的信息傳遞:

第一步:創建一個GA稱為GA_AOE_BlindVengeance,復仇忌婚。

第二步:其中的邏輯如下:

知識點:其中的Avatar是指Target(受作用者)。

是不是有點熟悉,AbilityActorInfo是什么?我們翻到之前的代碼,可以看到最重要的兩個信息是此技能的釋放者和技能的受作用者。

第三步:編譯運行即可查看,證實了這些重要信息是可用的。

 

 

下一組實驗介紹一些簡單的內容,當做復習。

4.1步:在復仇忌婚Ability中修改邏輯,並注意修改Cost,讓我們來探索一下什么是Cost

4.2步:運行,然后查看:

這個小實驗說明:

當提交(CommitAbility[或者CommitAbilityCost])時,Cost規定的GE將會施加在Owner上,也就是說,這里的“花費”是一個GE_Milk,所以人物就有了血量增加的效果。

 

下一組實驗介紹Trigger

5.1步:創建一個新的Ability,稱為:GA_Lieyanzhiniao2,並且有給人物加Buff的能力。

5.2步:在復仇忌婚Abiilty中修改Trigger,如下,表示當Buff.Fire被增加時觸發。

第5.3步:編譯運行查看效果,發現當執行烈焰之鳥時,人物增加FireBuff,於是觸發了復仇忌婚,在邏輯上是這樣的。在時序上,則是先發生復仇忌婚,因為是加上了Buff之后再執行烈焰之鳥的激活邏輯,而此前復仇忌婚就被觸發了。

 

再進行一組實驗。

6.1步:新建一個GA_Baoyanfenghuang2爆炎鳳凰,需要Buff.Fire前提。

6.2步:烈焰之鳥將會給character添加Buff.Fire,注意Ability沒有DurationPolicy的概念,這個添加上去的Buff將會在EndAbility的時候廢除,所以Delay1表示在1秒以內持續這個Buff

6.3步:保持復仇忌婚(GA_AOE_BlindVengeance)的觸發機制,同時加上延時邏輯。

運行查看結果:觸發烈焰之鳥,然后看到復仇忌婚被激活,烈焰之鳥提供的firebuff失效(因為1秒鍾過去了,你可以用爆炎鳳凰來查看是否失去了firebuff),隨后查看到復仇忌婚結束。

第6.4步【對照實驗】:修改復仇忌婚的觸發效果為OwnedTagPresent,再次實驗,可以發現看不到“10s等待完畢”。總結:觸發機制是“OwnedTagAdded”的,表示當Tag添加時觸發事件;
OwnedTagPresent”表示當Tag添加時觸發,若激活期間(EndAbility之前),這個Tag被移除了,那么就被強制結束。

 

——小江村兒的文傑 zouwj5@qq.com 2017年7月20日20:31:27

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM