CityEngine Alembic 导出器可以将几何和元数据(材料、CGA 报表、对象属性等)导出到 Alembic .abc 文件中。 Alembic 是一个开放式高性能交换框架,专门用于 VFX 内容生产管道。 有关详细信息,请参阅 https://github.com/alembic/alembic。
使用情况
Alembic 导出器的设计专注于以下几点:
- 与现有软件和功能(例如 SideFX Houdini Mantra、Autodesk Maya、Foundry Katana、Pixar Renderman、Solid Angle Arnold 和 Chaos Group VRay)的兼容性。
- 导出具有复杂规则的大型模型,同时保留形状粒度(不合并几何)。 由此即可在下游工具中对单个对象(例如建筑物)进行编辑(例如移动和缩放),而无需再次导出整个场景。
- 实例的保存,即 CGA 操作未涉及的已插入资产将作为单独的节点导出。 由此即可在下游工具中对这些资产进行有限编辑(转换和缩放)。
- 直接导出每个网格上的所有材料属性和 CGA 报表值。 由此即可在下游工具中使用 CGA 报表来自定义材料。
导出选项
Alembic 导出器与其他格式共享大多数导出选项。 有关详细信息,请参阅常规导出选项。 唯一的例外是文件名。 由于 Alembic 处理大文件(多 GB)的方式,导出器每次运行都会写入一个文件。
CityEngine Alembic 节点层次结构
CityEngine 中创建的 Alembic 节点层次结构如下图所示:
下方介绍了从 Alembic 实体到 CityEngine 实体的映射(请参阅上图,从左上方到右下方)。
- c_0_0 变换节点是从导出场景派生的稀疏网格的像元。 像元大小可以在导出向导中进行调整。
- 形状变换节点将根据 CityEngine 场景对象(初始形状)创建。 变换将存储由全局或局部偏移选项定义的平移。
- CityEngine 属性节点唯一,并且将接收当前用户名和 CityEngine 版本。
- ceObjectAttributes 和 ceRuleAttributes 属性节点将附加到形状节点,并接收相应形状的对象属性值和规则属性值。
- 叶形状变换节点包含 CGA 叶形状的几何输出。 对于未缓存的网格(即由 CGA 创建的几何),将使用 CGA 叶形状名称创建一个节点。 对于实例化资产,将为每个网格创建一个变换节点。
- 点节点将从形状(由 scatter() 或 comp(v) 等生成)接收所有单个折点几何。 将为每个唯一的材料或报表组合创建一个点节点。 仅报表会作为用户属性附加。
- 将为每组具有相同实例变换(如果未缓存几何,则为无)以及相同的材料和 CGA 报表值的面创建网格节点。 唯一材料或报表组合可用于自定义具有报表值的材料。
- P(点)、N(法线)和 uv0(第一个纹理坐标集)变换节点用于存储面几何。
- .userProperties 属性节点用于存储每个网格或点节点的 CGA 材料和报表。
- .arbGeomParams 属性节点用于存储附加纹理坐标集(Alembic 仅支持网格上的一个集)。
- Preview Material AbcMaterial 节点用于将当前材料属性存储在(实验性)Alembic Preview Material 2.1 版本的方案中。