本节及后面的内容将会探索更加有意思的内容,更加逼近实际的使用的内容。我们本节内容不难,讲的是释放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的信息传递等的更多相关文章

  1. Unreal Engine 4(虚幻UE4) GameplayAbilities插件入门教程(一)

    本文系笔者的实习生分享会内容预备兼GameplayAbilities的初学者教程. 本文适合已有四十天UE4开发经验的初学者. 参考资料:https://wiki.unrealengine.com/G ...

  2. Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(三)技能标签(Ability Tags)

    本教程参考了https://wiki.unrealengine.com/GameplayAbilities_and_You,如果没有学习前两篇教程,请前往学习. GameplayAbilities插件 ...

  3. Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(二)

    我们接着学习.如果没有学习第一篇,请前往学习. 由于GameplayAbilities插件基本上没有资料(除了前面提供的那篇Dave的博文以外,再无资料,有迹象表明Dave是这个插件的开发者). 这个 ...

  4. Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(四)技能屏蔽和简单的Buff等

    本节内容继续上一节教程的内容(如果没有看过前面的教程,请前往学习),不会讲太难的新东西,而是继续探究技能标签(Abiilty Tags)的内容.先来一道开胃菜. 第1.1步: 将上一次的召唤冰龙中的C ...

  5. Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(六)GameplayEffect的级别设置

    本节的内容不难,权当是复习.如果没有完成前面的教程,请前往学习. 第一步:用一个csv文件表示级别数据,下图中的Hurt随级别1~7表示其损伤值在1~7级别时分别是-7,-14,-20等.写好之后关闭 ...

  6. Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(五)技能属性集(AttributeSet)

    如果没有完成前面的教程,请前往学习.先上一段理论介绍(源于https://wiki.unrealengine.com/GameplayAbilities_and_You#GameplayTasks): ...

  7. 无废话ExtJs 入门教程十五[员工信息表Demo:AddUser]

    无废话ExtJs 入门教程十五[员工信息表Demo:AddUser] extjs技术交流,欢迎加群(201926085) 前面我们共介绍过10种表单组件,这些组件是我们在开发过程中最经常用到的,所以一 ...

  8. 无废话ExtJs 入门教程七[登陆窗体Demo:Login]

    无废话ExtJs 入门教程七[登陆窗体Demo:Login] extjs技术交流,欢迎加群(201926085) 在这节我们通过前几节讲的内容做一个登陆页面,把前几节讲的内容贯穿一下. 1.代码如下: ...

  9. RabbitMQ入门教程(七):主题交换机Topics

    原文:RabbitMQ入门教程(七):主题交换机Topics 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog. ...

随机推荐

  1. 每天一个Linux命令—— crontab

    一.简介 1. Linux中有许多周期性执行的任务,这些任务由cron守护进程完成,因此cron这个系统服务是默认启动的. 2.Linux中调度任务分为两类:系统任务调度和用户任务调度,系统任务调度即 ...

  2. cpp(第十四章)

    1.类的静态成员变量.静态常整型(static const int)变量可以直接在类声明中初始化,静态常变量(static const )需要在类定义文件中初始化, 常变量(const )则在构造函数 ...

  3. Mac下将ISO写入U盘镜像

    在Mac下面如果想做一个启动U盘,确实不如windows下那么方便,Windows下面有ultraiso+王涛,Mac下面测可以用下面的办法. 打开磁盘工具 插入U盘,并在磁盘工具里面找到U盘,把它卸 ...

  4. Mybatis学习(一) - 快速入门

    MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装. MyBatis可以使用简单的XML或注解用 ...

  5. jsp 文件使用 include指令 导入 jspf 分析,及导入jspf 文件后出现乱码问题

    1.为什么要导入jspf文件 在做网站开发中,因为有很多的页面的导航栏是相同的,所以我们要把导航栏提取出来,生成一个jspf文件. 然后在jsp页面中使用 include 指令 导入jspf文件,这样 ...

  6. AngularJS高级程序设计读书笔记 -- 指令篇 之 自定义指令

    2. 自定义指令(15-17 章) Module.directive(name, factory) 2.1 创建自定义指令的方法 Module.directive(name, factory) 示例 ...

  7. SSH的Eclips环境搭建

    一.创建数据库名字为:dungouoa create database dungouoa default character set utf8; mysql> show create datab ...

  8. Java线程池入门必备

    线程池 一. 线程池的简介 1.什么是线程池?   最早期的工作线程处理任务的模型.一个任务的到来,会伴随着线程的创建,当处理完任务后,线程会被销毁,资源回收.这种一个任务一个线程一系列创建销毁的模式 ...

  9. css3特效详解

    好吧,CSS3 3D transform变换,不过如此! 这篇文章发布于 2012年09月7日,星期五,01:05,归类于 css相关. 阅读 408042 次, 今日 34 次 一.写在前面的秋裤 ...

  10. 【JavaScript学习】-JS内置对象1-对象概述

    对象(object): JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和 方法.JavaScript 提供多个内建对象,比如 String.Date.Ar ...