Alembic
TL;DR :Alembic 可以把动画网格写入硬盘,然后再迅速高效地读取出来。这意味着可以把需要巨大的 CPU 消耗的绑定动画的网格,’烘焙’到一个 Alembic 文件里,然后再加载入拍摄文件中进行着色和灯光设置,这样 CPU 的占用会比较小。
Support for the Alembic file format was introduced in .
由于 Alembic 标准的开放性以及C++库文件的标准化, Blender可以用于混合的流程. 比如说,Houdini或者Maya这样的软件可以把文件输出为 Alembic格式, 然后在Blender中载入、贴图、渲染. 也可以在Blender中对角色(或者其它模型)赋予动画, 然后输出为 Alembic文件, 继而在其它软件中加载后进一步处理.
此章节说明不同的输出选项的效果。
Generic and Scene Alembic Export options.
比例
设置Alembic文件的全局缩放值。使用缺省值1.0则采用Blender的单位。
Frame Start, End
设置输出至 Alembic的帧范围。缺省使用当前场景的帧范围。
子帧采样
这些选项控制动画的子帧采样。
Samples Transform
变换样本设置每帧的动画变换采样并写入Alembic的次数。
Geometry
几何样本设置相同,但随后设置为动画几何体。
Shutter Open, Close
快门打开/关闭定义拍摄样本的间隔[打开,关闭]。 有效范围是-1到1,其中-1表示前一帧,0表示当前帧,1表示下一帧。
例如,如果需要用于详细网格运动模糊的信息,则可以通过使用样本计数5,快门打开-0.25和快门关闭0.25来将当前帧周围的一些子帧写入Alembic。 这模仿了一个“180度”快门,在当前帧前打开90度,在当前帧后打开90度。
摊平层级
不勾选此项时,将输出物体间的父/子关系。如果父物体本身不输出而自物体要被输出,则父物体以空物体代替。如果选中此项,则不输出父/子关系,所有的变换都按照世界坐标输出。
Use Instancing
Custom Properties
When enabled (which it is by default), custom properties are exported to Alembic as well. The following custom property types are supported:
Numbers (,
float
) and strings. These are exported as arrays of a single element, so47
will be exported as[47]
to Alembic, and"Agent"
to . This matches the behaviour of many other DCCs.Lists of numbers and strings. These are exported as-is, so
[327, 47]
is exported as[327, 47]
.Matrices and nested arrays of numbers. These are flattened into one long list, so a 3×2 matrix of numbers will become a list of 6 numbers. Similarly, nested lists
[[1, 2, 3], [4, 5], [6]]
will be exported as[1, 2, 3, 4, 5, 6]
.Numbers can be animated as well.
Only
物体选项。
UV
选中此项后,将输出UV。虽然Alembic标准只支持单个UV,Blender以可以被其它软件读取的方式输出所有的UV。
拼排UV孤岛
生成优化过的,无重叠孤岛的 UV 布局,尝试有效填充 纹理空间 。 请参阅使用相同的原理的 以获取更多信息。
法向
When enabled, an object’s Normals are exported. See below for more information.
顶点颜色
启用后,将输出顶点颜色。
Note
面集合
按面输出材质名称。仅导出材质名称,不导出材质数据。
Subdivisions
Apply
在输出 Alembic 前应用 表面细分修改器。
Use Schema
Writes polygonal meshes using the “SubD” Alembic schema, rather than the “PolyMesh” schema. This sets a import option for the program, with which the file is opened, to apply its form of a non-destructive subdivision.
三角化
在输出Alembic前对网格三角化。具体选项的更多细节见 。
粒子系统选项。
Alembic不支持粒子系统,正如它不支持骨骼。毛发输出为带动画的零宽度曲线。粒子输出为带动画的点。
导入 Alembic 文件时, 网格序列缓存修改器 将自动添加到随时间变化的网格中。对于随时间变化的物体变换(即旋转、位置或缩放的动画),使用 。
Blender支持将 自定义法向 导入和导出到 Alembic 文件。作为基本的经验法则,完全平滑的网格导出时不附带法向,从而生成最小的 Alembic 文件。这反映在导入器中;没有法向的Alembic网格作为平滑网格加载。
导出时,对于每个网格:
如果它具有 自定义循环法向,则导出循环法向。
如果一个或多个面标记为平面,则循环法向也会导出。
否则,不会导出法向。
导入时,当 Alembic 网格包含:
循环法向() 用作自定义循环法向,并启用 自动平滑 使Blender实际使用它们。
顶点法向(
kVertexScope
orkVaryingScope
)转换为循环法向,并如上所述处理。不支持的法向类型 (
kConstantScope
,kUniformScope
, ) 作为 无法向 处理。
当导入的网格不包含法向时,可以通过启用 复选框和更改阈值角度来控制最终外观。
Blender 使用当前场景帧率将帧数(在Blender中)转换为以秒为单位的时间(在 Alembic 中)。因此,可以将以120 FPS速率生成的 Alembic 文件导入到30FPS 的Blender场景中,并且仍然看不到任何时间拉伸。