跳转至

Super Node

视频教程 —— 即将推出

super node 是一行 staging,它在 Node View 里展开成一个完整的自足单元。

SuperNode = BD-P-G-D-C   →   BD
                             └── P
                                 └── G
                                     ├── C   ← eldest sibling
                                     ├── D   ← middle sibling
                                     └── [the tree's children]

Staging 里一行。Harmony 里五个节点,接好线、起好名、装进框。

它在树里长什么样

一个槽位的图标是一个字形,承载着它要搭建的每一个组件。这是一个完整的 super node —— BD-P-G-D-C 加一条效果链:

**底板** —— Backdrop
**Peg**
**Group**
**Drawing**(Read)
**Composite**
**效果链**

从它身上能读出三件事:

  • 色带按接线顺序排列,从左到右 —— 换一下 Peg Order,前两条就互换位置,字形也跟着变。
  • backdrop 是底板,不是一条色带。 它画一个框;它不拥有任何连接。(这也正是它从不改变谁汇聚什么的原因。)
  • 五种效果共用同一条青色标记条。 一个不做区分的图标就是装饰,所以整条链只给一个标记,细节交给 Inspector。

全部十六种组合见 图标与指示符

它是干什么用的

为了读。 一个 300 个节点的场景里,人真正会去想的东西大概只有 25 个 —— 一个角色、一件道具、一块背景板。super node 就是树让你看到那 25 个而不是那 300 个的方式。

为了改名。 给这一行改名,属于它的每个节点都跟着走:Can 变成 Ship,你一次编辑就得到 ShipShip-PShip-GShip-CShip-BD。不存在那种你去追查四个相关节点、还得祈祷没漏的环节。

为了作用域。 绿色容器(PGBD)创建一个真实的层级作用域,所以它内部的 composite 汇聚的是那份内容,别的都不收。该在一起的东西一起移动。

容器内部的兄弟顺序

在绿色容器内部 —— 上例里就是那个 group —— 兄弟的顺序是固定的,而且不是随便定的:

  1. C(Composite) —— 年长的兄弟。它汇聚它下方的一切。
  2. D(Drawing) —— 中间的兄弟。
  3. 树的子级 —— 最年幼的兄弟,被那个 C 汇聚。

念出来就是:composite 排在最前面,好让它之后来的一切都流进它

而 comp 收集子级直到第一个本身就是 comp 的子级 —— 那一个开启一个新区块,并拿走它之后的一切。见 汇聚与 sibling aggregator

在 group 里面还是外面

Composite 的 Order 决定它相对于 group 待在哪,两种读法是真正不同的:

Order comp 待在哪 它接收什么
Inside Group G 内部 从内部接收它兄弟的输出,并把自己的输出送到 group 的 MPO 上,直到下一个输出连接
Outside Group G 外部 从外部接收那些年幼兄弟的输出,经由 group 的 MPO

在 Inspector 的 Composite 区块里设置。Peg 也有同样的选择(Inside Group / Outside Group),正是它在链里对调 peg 和 group。

搭一个出来

没有什么特别的开关要打开 —— super node 无非是一个勾了好几个组件的槽位。三种做法:

用标签,在导入之前:

hero=BD-P-G-C

在 Inspector 里,给这个槽位勾上 Backdrop、Peg、Group 和 Composite。

从右键菜单 —— 右键 → Add → Structure,它提供同样的这些组件:

Add → Structure

反过来读

Details 列按接线顺序把整个单元拼出来,所以你永远不必展开一行就知道它会搭出什么:

BACKGROUND      (Backdrop > Peg > Comp)
PROPS           (Backdrop > Peg > Comp)
  Can           (Peg > Read > Comp)
CHARACTER       (Backdrop > Peg > Comp)
EFFECTS         (Backdrop > Peg > Comp > Effects)

而在 Node View 里,是 Wide Bus 摆放它:master 在顶行,内容在中间行,composite 在它所汇聚的东西下方,效果带预留在底下。

把一个拆开

Split 把一个 super node 拆回它的各个部件 —— 见 Split 与 Merge。两种 split 模式决定这些部件是嵌套着出来(hierarchical)还是平铺出来(siblings),当一个槽位原来同时装了两个想法时,这正是你要的那个选择。