Choose your operating system:
Windows
macOS
Linux
此页面介绍了 Datasmith 如何将 McNeel Rhinoceros(Rhino) 中的场景导入 虚幻引擎 中。它遵循Datasmith概述和关于Datasmith导入流程中描述的基本流程,但加入了一些专为Rhino设计的转换行为。如果你计划用Datasmith将Rhino中的场景导入虚幻编辑器,阅读此页面可以帮助你理解自己的场景是如何被转换的,以及你该如何操作虚幻编辑器里的结果。
Rhino工作流程
Datasmith对Rhino使用 直接 工作流程。这意味着,要使用Datasmith将Rhino内容导入到虚幻中,你需要:
安装适用于Rhino的Datasmith导出器。请参阅安装适用于Rhino的Datasmith导出器 。
使用"另存为"或"导出"功能来导出你的Rhino内容。请参阅从Rhino导出Datasmith内容。
使用虚幻编辑器的工具栏上的 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前检查朝向是否正确:
有关完整的讨论和建议的解决方案,请参阅关于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倾情贡献。