美文网首页
UE4 蓝图中函数(Function),纯虚函数(PureFun

UE4 蓝图中函数(Function),纯虚函数(PureFun

作者: 92c5d7b45a71 | 来源:发表于2018-10-11 12:28 被阅读0次

蓝图中函数(Function),纯虚函数(PureFunction),自定义事件(CustomEvent),蓝图宏(BlueprintMacro)以及事件调度器的区别

函数VS纯虚函数
  • 纯虚函数必须要有返回值
  • 都有临时变量(局部变量),这个变量会在每次进入函数的时候恢复成默认值。
  • 【关键】调用方式:普通函数是有执行线的而调用纯虚函数用的是返回值
    普通函数的返回值只要是在同一条执行线后面,那么从返回节点引出来的结果绝对是相同的,因为这个函数只会执行一次
    而纯虚函数,你每次引出使用返回值,都会执行一次这个函数,所以它的结果有可能不一样。


    你的蓝图看似是上面那一个,实际上是下面那个
    这种调用方式实际上是可行的,
自定义事件
  • 自定义事件的代理


    自定义事件的代理
  • 自定义事件的RPC


  • 自定义事件不能有返回值
  • 自定义事件的事件还可以在编辑器实例(拖入场景中的对象)中调用,只需要勾选(但是不能有输入值)
  • 一些只能在EventGraph中调用的节点,如时间轴。
  • 都存在于同一空间,所以可以完成很多奇淫技巧


蓝图宏

我们先看看蓝图宏比其他的方法多了些什么


多了一个Exec执行节点,一个通配符
  • 它可以像纯虚函数一样不需要执行节点,但是不同的是纯虚函数内部是有Exec的,而这样的宏没有Exec的,也就只能使用没有Exec的节点了
  • 可以有多个输出Exec和输入Exec,ForLoop循环就是宏做的,你可以双击查看实现
  • 蓝图宏有类似于函数的局部变量,名叫本地变量Local,但是请注意,完全不一样,无论是值的限制,赋值方式都不一样。这个值是具有持久性的(Persistent)。




    赋值方式也是通过节点实现

这个本地变量在不同的地方(作用空间:EventGraph/函数/宏)执行,其结果也不相同
在EventGraph中调用:它的值是不会在这个宏调用结束后清空,意思就是这个值是持久的,
在函数中直接调用:它的值会在,函数执行结束后(Return)清空,这个持久性只维持在这个函数中。
在函数中调用自定义事件中的宏:结果于在EventGraph中调用一致,因为实际上还是在EventGraph中调用
在宏中调用宏:根据上面不同情况结果也不同。

相关文章

网友评论

      本文标题:UE4 蓝图中函数(Function),纯虚函数(PureFun

      本文链接:https://www.haomeiwen.com/subject/dkhbaftx.html