通用场景描述
以下物体可以导出到 USD:
网格(不同类型,见下文)。
相机(目前仅支持透视相机,不支持正交相机)。
灯(除面光外的所有类型)。
毛发(导出为曲线,并仅限于父股)。
卷(静态卷和动画卷)。
导出动画时,最终解算的网格将写入 USD。这意味着可以导出以下参数:
静态网格。
任意动画网格; 在这里,拓扑确实会发生变化。比如,流体模拟的结果,液体飞溅会从主体上脱落。
元球导出为动画网格。
从 “春季 <>`__导出到美元并以美元视图打开。
导出到 USD 时,可以使用以下选项:
仅导出选中的物体
当选中时,只有被选中的对象才会被导出。实例对象,例如在场景中被实例化的集合,当它们的实例器被选中时,就被认为是 被选中 。
仅可见
仅导出不为 的对象。导出对象的隐形父级导出为空变换。
动画
勾选后,将导出整个场景帧范围。取消勾选中,仅导出当前场景帧。
毛发
勾选后,父级发股将导出为曲线系统。不会导出发股颜色。
UV 贴图
勾选后,包含被导出网格的 UV 坐标。USD中的 UV 贴图名称与 Blender 中相同。在USD中,默认名称为 ,而在 Blender 中,默认名称为 UVMap
。要导出为标准 UV 贴图名称 st
,先将Blender中的 UV 贴图重命名为 。
法向
勾选,包含被导出网格的法线。这包括自定义循环法线。
材质
导出对象的材料信息。默认情况下,导出器通过将 原理化BSDF 节点树转换为USD的预览表面格式来接近它。如果 美元预览表面 被禁用,材质将设置为网格的视口材质。
其他材料属性在选项的 材质 分组中设置。
当网格分配了多个材料时,将为每个材料创建一个几何子集。第一个材质(如果有)也始终应用于网格本身(无论是否存在几何子集),因为 Hydra 视口不支持子集上的材质。有关详细信息,请参阅 “美元问题 #542 <>`__。
设置用于
确定是使用集合、修改器的 视图 或 渲染 可见性,还是可同时为 视口 和 渲染 设置的任何其他属性。
材料 启用导出时附加选项。
Alembic或USD文件的路径。
导出材质时,通过将a 节点树转换为USD的预览表面格式,将其大致转换为。如果禁用,材质将设置为网格的视口材质。
Warning
并非所有节点都支持;目前仅支持漫反射、原理、图像纹理和UVMap节点。
使用操作器来导入ASCII或二进制PLY文件,你可以一次选择多个文件。对于导出,你可以选择在导出过程中启用或禁用修改器,你可以选择你想导出的数据(UV纹理,颜色属性,…)。
将着色器节点引用的纹理导出到与USD文件在同一目录中的 “纹理” 文件夹。
覆盖
允许在导出纹理时覆盖现有纹理文档。
文件参考
相对路径
使用相对路径引用USD格式外部文件(即纹理、体积),否则使用绝对路径
实例化
单面/双面网格
USD 似乎既不支持双面不同材质或不同面组,因此 Blender 使用第一个材质中的标记将整个网格标记为单/双面。如果没有材质,则默认为双面。
网格法向
默认情况下,以USD表示的网格细分方案为 Catmull-Clark
,但 Blender 使用 ‘None’,表示导出多边形网格。这对于USD理解自定义法线是必需的;否则,网格将始终呈现为平滑。
顶点速度
目前只有流体模拟(一般不是微点)具有显式顶点速度。但是,这是导出速度的最重要情况,因为烘焙网格会一直更改拓扑,因此很难在后处理步骤中计算导入时的速度。
坐标系方位
Blender使用 Z 轴作为向上轴。由于USD支持 Y 向上和 Z向上,由 Blender 写出的 USD 文件始终使用 Z向上。
材质
导出材质的非常简单版本,仅使用 颜色、金属度和粗糙度。
当有多个材质时,网格面将存储为几何子集,并且每个材质都分配给相应的子集。如果只有一个材质,则跳过此步骤。请注意,几何子集不是时间采样的,因此当动画网格更改拓扑时可能会中断。
毛发
仅导出父级发股,并且仅导出具有恒定颜色的。没有 UV 坐标,也没有关于法线的信息。
相机
仅导出透视模式相机。
灯光
USD不直接支持聚光灯,因此这些灯不会导出。
粒子
粒子仅在它们处于生存状态时写入,这意味着它们始终可见。目前没有代码处理将它们标记为在其生命周期之外不可见。
通过使用粒子的持久 ID 对物体名称添加后缀,使每个粒子变换具有唯一名称,从而导出粒子系统实例的物体。
实例化/引用
这仍然是一个实验功能,可以在导出到 USD 时启用。启用后,实例化物体网格将写入 USD 作为对原始网格的引用。网格的第一个副本是为实写而写入的,以下副本引用第一个副本。哪个网格被视为 第一个
或多或少是任意选择的。
。单个基元包含描述场景实体的数据,如几何体、灯光、摄像机和变换层次。Blender的USD导入器将USD基元转换为Blender对象的层次结构。和USD导出器一样,导入器还不能处理更高级的USD概念,如图层和引用。
以下USD数据类型可以导入为Blender对象:
相机
曲线
灯光
材质
网格
体积光渲染
有关如何处理各种数据类型的详细信息,请参阅 导入选项 的以下说明。
Xform和Scope Primitives
USD提供了包含变换数据的 prim类型,可用于表示变换层次结构和组织场景。此类 Xform
引物导入为Blender空对象。
USD还支持 “范围” 基元,它们是不包含变换数据的实体,但用于分组场景的其他元素。Blender与范围的概念不完全相同,因此此类原始文件导入为位于原点的Blender空白。这是一个不完美的表示,因为空对象具有变换,而 “作用域” 没有,但这种方法仍然有助于保留场景层次结构的结构。
导入程序支持两种类型的动画:
动画转换 :如果USD基元具有随时间变化的转换数据,则将 约束添加到导入的Blender对象。
材质
如果USD网格或几何子集具有绑定的材质,则进口商将为Blender对象分配与USD材质名称相同的材质。如果场景中已存在具有相同名称的Blender材质,则将分配现有材质。否则,将创建新的材料。
如果USD材质具有 “USD Preview Surface<>`__ 着色器源,则 视图显示 颜色、金属和粗糙度将设置为相应的USD Preview Surface输入值。
还有一个实验性 导入美元预览 选项,用于将美元预览表面着色器转换为Blender 着色器节点。此选项可能是有损的,因为它还不能转换所有着色器设置和类型,但它可以生成材质的近似可视化效果。
如果导入的美元是Y向上,旋转将自动应用于根对象,以转换为Blender的Z向上方向。
导出到 USD 时,可以使用以下选项:
相机
视图(View) ‣ 透视/正交(Perspective/Orthographic)
曲线
灯光
导入光源。目前不包括USD圆顶灯、圆柱灯或几何形状灯。
材质
导入材料。另请参阅实验 导入美元预览 选项。
网格
网格
体积(卷标)
导入USD OpenVDB字段资产。
路径
仅导入植根于给定基本体的USD场景的子集
比例|缩放
用来将导入的物体与世界的原点进行比例的值。
UV 坐标
复制镜像UV坐标
将颜色属性复制到所选面。
将USD网格 “displayColor”值转换为Blender的颜色属性。
分区
基于 USD 细分方案属性创建表面细分修改器
代理
为 USD 实例创建唯一的Blender对象
基本体
不要导入隐形美元原始文件。仅适用于具有非动画 “可见性 <https://graphics.pixar.com/usd/docs/USD-Glossary.html#USDGlossary-Visibility>`__ 属性的原始文件。具有动画可见性的原始文件将始终导入。
引导
包含带有 guide
的原始值。
代理
包含目的为 “代理” 的原始值。
渲染
包含目的为 “渲染” 的原始值。
设置帧范围为片段
更新场景的开始和结束帧以匹配 USD 阶段的开始帧和结束帧。
相对路径
选择相对于blend-file的文件路径.
创建一个集合:
将所有导入的对象添加到新集合中。
环境光照的强度。
用于输入光源强度的缩放。
材质方向
当导入的材质的名称与现有材质冲突时的行为。
使对称
将每种 USD材质导入为独特的Blender材质
参考
如果已存在具有相同名称的材质,则引用该材质而非导入
试验特性
导入
将美元预览表面着色器转换为原理化的BSDF着色器网络。
如果启用 导入美元预览 选项,材质混合方法将根据 “不透明度” 和 “不透明度阈值” 着色器输入自动设置,从而允许透明对象的可视化。