结合使用Datasmith与Rhino

描述当使用Datasmit将场景从McNeel Rhinoceros 3D导入虚幻时需要考虑的特别因素。

Choose your operating system:

Windows

macOS

Linux

此页面介绍了 Datasmith 如何将 McNeel Rhinoceros(Rhino) 中的场景导入 虚幻引擎 中。它遵循 Datasmith概述 关于Datasmith导入流程 中描述的基本流程,但加入了一些专为Rhino设计的转换行为。如果你计划用Datasmith将Rhino中的场景导入虚幻编辑器,阅读此页面可以帮助你理解自己的场景是如何被转换的,以及你该如何操作虚幻编辑器里的结果。

Rhino工作流程

Datasmith对Rhino使用 直接 工作流程。这意味着,要使用Datasmith将Rhino内容导入到虚幻中,你需要:

  1. 安装适用于Rhino的Datasmith导出器。请参阅 安装适用于Rhino的Datasmith导出器

  2. 使用"另存为"或"导出"功能来导出你的Rhino内容。请参阅 从Rhino导出Datasmith内容

  3. 使用虚幻编辑器的工具栏上的 Datasmith 导入器将 .udatasmith 文件导入。详情请参阅 将Datasmith内容导入虚幻引擎4 .

关于其他类型的Datasmith工作流程,请参阅 Datasmith支持的软件和文件类型

将几何结构转换为静态网格体

Datasmith为Rhino文件中的每个独立网格体、固体或表面创建一个单独的静态网格体资源。如果某个对象在Rhino中的 属性(Properties) 面板中设置了 名称(Name) 属性(下图左侧所示),则Datasmith会使用这个名称作为静态网格体的名称(下图右侧所示)。Datasmith在关卡中创建的引用该静态网格体资源的任何Actor也会使用这个名称。

实例化

当Datasmith检测到,同一个块体在Rhino场景中有多个实例时,它只会为该块体中的几何结构创建一组静态网格体资源,并将这些静态网格体的多个实例放在场景中。这通常对运行时内存需求和项目性能更为有利,同时也更方便管理 内容浏览器 中的静态网格体数量。

但如果可能,我们建议充分利用这个功能,在Rhino中,将场景中的重复元素(如窗户、门或椅子)创建为块体。

有关详细信息,请参阅 Rhino文档

曲面细分和渲染网格体

虚幻引擎始终使用三角形网格体渲染对象。假如你的对象在Rhino文件中被定义成参数曲面或NURBS,则这些曲面需要通过变换或 曲面细分 转换为三角形网格体。Datasmith会利用Rhino的曲面细分功能,该功能位于 文件 > 属性... > 文档属性 | 网格体

名称

介绍

降低平滑度,增加速度

创建一个低密度网格体以便快速着色对象,但代价是降低质量。

增加平滑度,降低速度

创建一个高密度网格体以便精准着色对象,但代价是降低速度。

自定义

允许对创建的网格体有更大程度的控制权。密度滑块大致控制NURBS曲面创建的多边形数量和密度。点击 详细控件... 按钮可以访问其他控制选项。

有关Rhino中自定义渲染选项的详情,参见Rhino文档 多边形网格体细节选项

三角形朝向

曲面在导出到Datasmith时会保持朝向。在Rhino中,可视化曲面朝向的一种方法是将背面的颜色设置为亮绿色。为此,请打开 文档属性(Document Properties) ,然后转到 查看(View)> 显示模式(Display Modes)> 渲染(Rendered) 。在该菜单中,找到 着色设置(Shading Settings) ,然后查看 背面(Backface) 选项。最后,将 所有背面的单色(Single color for all backfaces) 改为亮绿色:

这样就能在导出到DataSmith前检查朝向是否正确:

backward-facing

forward-facing

有关完整的讨论和建议的解决方案,请参阅 关于Datasmith导入流程

Rhino材质

对于Datasmith在你的Rhino场景中找到的每种不同的表面颜色和材质,它都会在虚幻中以相同的命名创建一个单独的 材质资产 。每个材质然后都会放在Datasmith场景资产旁边的 材质 文件夹中。

  • Materials 文件夹中的每个材质都是 材质实例 ,用于公开Rhino文件中设置的属性:颜色值、纹理贴图等。可更改此类公开属性,以便修改材质在应用到表面时的效果。Datasmith将此类材质资源指定给其创建的静态网格体资源,以便像在Rhino渲染中一样对表面着色。

    Datasmith仅将Rhino对象的材质导入虚幻引擎。而完全忽视Rhino显示颜色。因此,虚幻引擎导入内容的视觉效果将尽可能接近Rhino中的渲染效果。

  • Datasmith还会在 Materials/Master 文件夹中创建一组父材质。其中每个材质都是"Materials"文件夹中至少一个材质资源的父项。如果希望对定义表面显示方式的材质图表进行更深入的控制、将更多参数公开到子实例,或改变渲染时考虑已公开参数的方式,则可对这些父材质进行编辑。

    请注意,更改父材质也会自动更改从此父材质继承的所有材质实例。建议在修改之前复制父材质,对副本进行更改,然后更新特定材质实例,将新副本用作其父项。详情请参阅 修改Datasmith主材质

Rhino元数据

在属性用户文本(Attribute User Text)菜单中输入的数据将作为Datasmite元数据导出:

数据作为键值对输入到表格中。更多有关使用属性用户文本的信息,请参阅Rhino文档中的 属性用户文本

构建Datasmith场景层级

Datasmith会利用你的Rhino模型来构建场景层次,如下所示:

  • 对于Rhino场景中的所有层,Datasmith都会在虚幻中创建一个Actor,作为该层上所有对象的父对象。注意,与它在虚幻编辑器的图层面板中创建的层不同,此Actor的层级不是平面化的。Actor的层级结构与Rhino场景中的完全相同。

  • 在用于表示层级的每个Actor下面,所有在对应层上实例化的区块(block)都由另一个Actor表示。

  • 最后,用于表示层和区块的Actor都包含一些静态网格体Actor,这些静态网格体Actor都表示组成该层或区块的实际几何体对象。Rhino中的点在虚幻引擎中以空Actor表示。它把点保留为

  • Rhino中的群组不影响虚幻场景层级,因为它们被视为选择助手,而不是场景层级中的重要元素。

例如,在下图中,你会看到Rhino层级中的每一层在虚幻中都有对应的Actor。在Rhino中,类似 "光源>转向灯" 等仅包含几何结构对象的层在虚幻中仅包含对应的静态网格体Actor。Rhino中的 "光源" 层还包含两个块体实例,名为 "left_headlight" 和 "right_headlight"。每个实例由虚幻中的一个嵌套Actor表示,这个Actor包含构成这些块体的几何结构对象。

特别鸣谢: 本页所用的模型由 Turbosquid 用户 tomashorin.design 倾情贡献。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消