Sub-Mesh
Cavalry 中的 Mesh 可以包含其他 Shapes 的层次结构。这些 mesh 被称为”子 mesh”。这个层次结构是一个树形结构,类似于 Scene Window,不同之处在于它存在于 Shape 的 Mesh 中。
例如,Text Shape 由行、词和字符组成,Duplicator 创建由许多 Input Shapes 构建的 Mesh,SVG 可以在层中包含任意数量的层。Sub-Mesh Behaviour 通过指定层次结构中的层级,提供了一种访问和影响这些单独子 mesh 的方式。
也可以手动创建可被 Sub-Mesh 影响的 mesh 层次结构。例如:
Pre-Comp 中的两个 Ellipses:
- Pre-Comp
- Ellipse1
- Ellipse2
Group 中的两个 Ellipses,该 Group 作为 Custom Shape 的 Input Shape:
- Custom Shape
- Ellipse1
- Ellipse2
- Shape
- Advanced
Position - 设置 X 和 Y 位置。0,0 位于 Composition 的中心。
Rotation - 设置旋转(度)。
Scale - 设置 X 和 Y 缩放值。
Opacity - 设置不透明度。
Visibility - 逐个影响子 mesh 的可见性。
Time Offset - 逐个影响子 mesh 的动画曲线偏移。
Recalculate Pivot - 选中后,根据 Pivot Position 为每个子 mesh 放置枢轴点。
Pivot Position - 当 Recalculate Pivot 选中时,通过将枢轴点对齐到每个子 mesh 的边界框来定位它们。
Deformers - 已连接的 Deformers 列表。
Filters - 已连接的 Filters 列表。
Level Mode - 选择要影响的 Mesh 层次结构层级。
- Custom… - 手动设置 Custom Level Range。
- Text (Lines) - 用于 Text Shape,这将影响每一行。
- Text (Words) - 用于 Text Shape,这将影响每个词。
- Text (Characters) - 用于 Text Shape,这将影响每个字符。
- All - 影响所有子 mesh,无论层级如何。
Level Mode 提供了几个旨在使 Text 操作更简单的设置。例如,Text (Words) 模式设置内部 Custom Level Range 值为 2, 2。虽然这些设置会影响 Text Shape 中的任何词,但这些相同的设置对 SVG Shape 也可能有效。
Custom Level Range - 设置 Mesh 层次结构中要影响的层级。这也可用于设置一个层级范围。例如,设置范围 1, 2 可用于覆盖 SVG 的颜色,针对级别 1 和 2 上的所有形状,但不影响级别 3。
随着 Level 值的增加,Sub-Mesh 会深入到 Shape 的层次结构更深处。
Flatten Mesh at Level - 低于此级别的所有子 mesh 将被合并并提升到此级别。
Index Mode - 确定如何为子 mesh 分配索引:
- Unique - 为每个子 mesh 分配唯一索引。例如,当将 Sub-Mesh 添加到 Text Shape 然后向 Sub-Mesh 添加 Color Array 时,颜色将循环遍历每个字符。
- Child Index - 为其父级中的每个子 mesh 分配唯一索引。例如,“word” 是 “character” 的父级——当将 Sub-Mesh 添加到 Text Shape 然后向 Sub-Mesh 添加 Color Array 时,颜色将循环遍历每个字符,但索引将从每个词的第一个字符的
0开始。这可用于创建重复效果。下表提供了当与 Text Shape 和字符串HELLO WORLD一起使用时,每个选项的索引分配方式示例:
| String | H | E | L | L | O | W | O | R | L | D | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Id (Unique) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
| Id (Child Index) | 0 | 1 | 2 | 3 | 4 | 0 | 1 | 2 | 3 | 4 |
Fill 和 Stroke
标题为“Fill 和 Stroke”的章节Sub-Mesh 也有 Fill 和 Stroke 标签页。它们与 Shapes 上的标签页相同,除了两个例外。
Replace Fill/Stroke - 选中后,Sub-Mesh 将用此标签页中设置的 Color 和/或 Shaders 覆盖它所连接的形状上的任何材质。
Replacement Mode - 默认情况下,所有材质都将被替换,但通过使用此选项,可以针对特定条件:
- Replace All - Sub-Mesh 将替换所有子 mesh 的 Fill/Stroke。
- Replace Missing - Sub-Mesh 将仅替换未启用 Fill/Stroke 的任何子 mesh 的 Fill/Stroke。
- Replace Existing - Sub-Mesh 将仅替换已启用 Fill/Stroke 的任何子 mesh 的 Fill/Stroke。
Fill/Stroke Overrides - 参见 Color Material Override 和 Alpha Material Override。
Use Index Context - 选中后,Sub-Mesh 将拉取 Context。这可用于控制如何分配 Id,从而逐个影响每个子 mesh。
Text 的层级如下:
-
Line.
-
Word.
-
Character.
-
创建一个 Text Shape。
-
创建一个 Sub-Mesh Behaviour。
-
连接 subMesh.id→textShape.deformers
-
将 Sub-Mesh 上的 Position Y 设置为 30。
-
右键点击 Falloff 属性,选择 ‘Add Falloff’。
当 Falloff 在文本上动画时,每个字母将向上移动 30px。