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的时候废除,所以Delay为1表示在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
Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等的更多相关文章
- Unreal Engine 4(虚幻UE4) GameplayAbilities插件入门教程(一)
本文系笔者的实习生分享会内容预备兼GameplayAbilities的初学者教程. 本文适合已有四十天UE4开发经验的初学者. 参考资料:https://wiki.unrealengine.com/G ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(三)技能标签(Ability Tags)
本教程参考了https://wiki.unrealengine.com/GameplayAbilities_and_You,如果没有学习前两篇教程,请前往学习. GameplayAbilities插件 ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(二)
我们接着学习.如果没有学习第一篇,请前往学习. 由于GameplayAbilities插件基本上没有资料(除了前面提供的那篇Dave的博文以外,再无资料,有迹象表明Dave是这个插件的开发者). 这个 ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(四)技能屏蔽和简单的Buff等
本节内容继续上一节教程的内容(如果没有看过前面的教程,请前往学习),不会讲太难的新东西,而是继续探究技能标签(Abiilty Tags)的内容.先来一道开胃菜. 第1.1步: 将上一次的召唤冰龙中的C ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(六)GameplayEffect的级别设置
本节的内容不难,权当是复习.如果没有完成前面的教程,请前往学习. 第一步:用一个csv文件表示级别数据,下图中的Hurt随级别1~7表示其损伤值在1~7级别时分别是-7,-14,-20等.写好之后关闭 ...
- Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(五)技能属性集(AttributeSet)
如果没有完成前面的教程,请前往学习.先上一段理论介绍(源于https://wiki.unrealengine.com/GameplayAbilities_and_You#GameplayTasks): ...
- 无废话ExtJs 入门教程十五[员工信息表Demo:AddUser]
无废话ExtJs 入门教程十五[员工信息表Demo:AddUser] extjs技术交流,欢迎加群(201926085) 前面我们共介绍过10种表单组件,这些组件是我们在开发过程中最经常用到的,所以一 ...
- 无废话ExtJs 入门教程七[登陆窗体Demo:Login]
无废话ExtJs 入门教程七[登陆窗体Demo:Login] extjs技术交流,欢迎加群(201926085) 在这节我们通过前几节讲的内容做一个登陆页面,把前几节讲的内容贯穿一下. 1.代码如下: ...
- RabbitMQ入门教程(七):主题交换机Topics
原文:RabbitMQ入门教程(七):主题交换机Topics 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog. ...
随机推荐
- 判断网站URL是否正常访问脚本
#!/bin/bash [ -f /etc/init.d/functions ] && . /etc/init.d/functions function usage(){ echo & ...
- OpenGL教程(1)——准备
在正式开始学习OpenGL之前,我们需要先配置好OpenGL环境. IDE 首先我们需要选择一个IDE.支持OpenGL的IDE有很多,这里我们选择Visual Studio 2015(Windows ...
- Vulkan Tutorial 09 图像视图
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 使用任何的VkImage,包括在交换链或者渲染管线中的,我们都需要创建VkImage ...
- lucene全文搜索之三:生成索引字段,创建索引文档(给索引字段加权)基于lucene5.5.3
前言:上一章中我们已经实现了索引器的创建,但是我们没有索引文档,本章将会讲解如何生成字段.创建索引文档,给字段加权以及保存文档到索引器目录 luncene5.5.3集合jar包下载地址:http:// ...
- Python3实现简单的http server
前端的开发的html给我们的时候,由于内部有一些ajax请求的.json的数据,需要在一个web server中查看,每次放到http服务器太麻烦.还是直接用python造一个最方便. 最简单的,直接 ...
- SQL之删除触发器
比如要删除的触发器名字叫dbo.test_trigger. 先判断这个触发器是否存在,判断存在后删除 if exists (select * from sysobjects where name = ...
- WPF MVVM 架构 Step By Step(1)(介绍)
生命就是我们从孩子开始,经过不断的学习成为成熟的成年人的进化过程.这和软件的架构有着异曲同工之妙,我们从基础的架构开始,随着需求和环境的变化不断的进化. 如果你去问任何一个.net开发者,什么是最基础 ...
- .net 4.0 中的特性总结(二):默认参数、命名参数
1.在方法定义的时候为参数指定一个默认值.调用方法的时候既可以像平时那样传入参数,也可以直接跳过不传入,这样的话,就使用默认值传到方法里.例如: 2.在之前版本的C#中,方法定义的参数顺序必须与方法调 ...
- JavaWeb 环境搭建
环境搭建 JDK7 Java基本开发工具包 安装(目录[不要使用中文和空格].JDK+JRE) 配置环境变量[JAVA_HOME.path.classpath] 2. Tomcat7 提 ...
- Mac机上安装nvm遇到的坑--nvm command not found
在Mac机上,我最开始是通过homebrew来安装nvm,如下: $ brew install nvm 安装完成后,在命令行输入nvm list,发现出现如下提示: What?!!我不是才安装了nvm ...