YDWE官方博客

虚幻4编辑器‘蓝图’评测报告

虚幻 4 的蓝图(blueprint)简单来说和魔兽编辑器的触发编辑器类似,而作为今天主角,它的参照物也是魔兽编辑器(以下简称 WE)的触发编辑器。我会在下面阐述和 WE 相比的缺点和优点,当然我作为一个用了八年 WE 的人来说,肯定会有某些先入为主的观点,所以从客观角度看,我说的蓝图的优点(和 WE 比),那一定是优点,我说的缺点却不一定是。不过考虑到这个报告的受众也是 WE 使用者的话,我认为这样正好。

先来看一个蓝图的例子,效果是,按下”方向键下”,屏幕上会显示 2、4、6、8、10。

blueprint-01

为了让不懂蓝图的童鞋能理解,我做了与之等价的 WE 的触发 blueprint-02

第一印象

第一眼看上去,蓝图更为图形化的界面让人眼前一亮,各种鲜艳颜色的搭配也比 WE 略显凌乱的的界面更胜一筹。反观 WE 这边,文字显得比较多,这也跟 WE 是十多年前的产品有关。图形加色彩代替文字,这是近年来软件流行的趋势,这点上蓝图确实做得更好。

阅读难度

然而,当我仔细考究蓝图中的这个触发时,却感觉这其中的逻辑让人很难理解,要知道这只是一个很简单很简单的触发,我很难想象一个复杂的触发要怎么看。为了说明这点,容我先对不懂蓝图的童鞋作下简单的说明。

蓝图中一个矩形框等价于 WE 中的一个 UI。WE 把 UI 分为了两大类 action 和 call,action 就是无返回值的 UI,call 就是有返回值的 UI。在蓝图中也是这样,圆角矩形就是 action,直角矩形的就是 call,为了方便描述,我也把蓝图中的这两种 UI 称为 action 和 call。在蓝图的 action 的左右分别有一个白色的简体(某些有多个),通过这个箭头你可以用白线把 action 都串起来(这类似于 WE 中 UI 之间的那条虚线),然后虚幻就是按照这点白线执行 action。在上面的例子里一个有四个 action,从左往右分别是”方向键下按下事件”、”循环”、”条件判断”、”显示文字”,这和 WE 里的例子是一样,大家和对比下。

那么有颜色的线条又是什么鬼呢,我们知道在 WE 里一个 UI 会有若干个输入参数,而在蓝图里的表现就是白色箭头下的带颜色的小圈圈,左边是输入,右边是输出,你可以把输出的圈和另一个 UI 输入的圈连在一起,这样就把一个参数传递了过去。在 WE 我们通常会把需要使用多次的值存到变量里,变量就是连接不同 UI 的线条。而在蓝图中我们不需要变量,下图是一个创建单位的 UI,可以看到在右侧就有一个圈,这就是创建出来的单位,当你需要用这个单位时,只需要把线练到这里来。

blueprint-03

好了分析完毕,如果你已经理解我上面的说明,应该已经能看懂图 1 了。即使看得懂,我仍然觉得难以理解。首先,我认为蓝图的 action UI 做得不多,如果只保留 action UI,你可以很容易看出触发的执行流程,尤其是有各种循环、分支的情况下,action 可以一眼就是清楚输入参数和输出参数,这点也很不错。然而加上 call,问题就来了。图 1 中有三个 call,上面两个分别是摸和判断整数相等,这两个显然没 WE 中的 循环整数 A mod 2 == 0 来得清晰。由于 call 不需要有分支,所以图形化的展开反而增加了理解的难度。此外加上 call 之后,蜘蛛网一样的线条也会增加理解难度。

操作便利

在 WE 中,写 call 是一件痛苦的事情,一个 action 里可能会嵌入十几层的 call,如果你想修改第十层的内容,你只能一层一层地把 UI 点开。这还不算什么,如果我想把第二层的 UI 换成另一个,第三层之后的 UI 保持不变,怎么办?你只能把第二层之后的 UI 全部重写一遍。你想把一个 call 复制到另一个地方,怎么办?重写一遍。而在蓝图中,这些都很容易做到,因为在蓝图中 action 和 call 都是平铺在一起的,你可以像复制 action 一个复制 call,操作 action 一样操作 call。

小结

蓝图之于 WE 的变化

  • 图形加色彩替换大量的文字,优点大于缺点。
  • 赋予 call 等同于 action 的地位,优点是可以很方便地进行复制删除等编辑操作,缺点不利于阅读。
  • 去掉变量改成连连看,优点用起来简单,缺点理解难。

Comments