This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
专业(SIM)
UnigineEditor
界面概述
资源工作流程
版本控制
设置和首选项
项目开发
调整节点参数
Setting Up Materials
设置属性
照明
Sandworm
使用编辑器工具执行特定任务
如何擴展編輯器功能
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
使用范例
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
材质和着色器
Rebuilding the Engine Tools
GUI
VR Development
双精度坐标
应用程序接口
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
创建内容
内容优化
材质
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
注意! 这个版本的文档是过时的,因为它描述了一个较老的SDK版本!请切换到最新SDK版本的文档。
注意! 这个版本的文档描述了一个不再受支持的旧SDK版本!请升级到最新的SDK版本。

FBX导入指南

FBX是Autodesk拥有的文件格式,用于提供各种数字内容创建(DCC)应用程序之间的互操作性。大多数现代3D建模应用程序都支持导出到FBX:Autodesk Maya,Autodesk 3ds Max,Blender,Modo等。

UNIGINE的FBX导入管道允许从支持该格式的任何DCC应用程序简单地传输内容。

与其他导入方法相比,使用FBX导入的优点是:

  • 静态网格物体,骨架网格物体,动画和变形目标以单个文件格式组合。
  • 一个文件中可以包含多个资源。
  • 在单个导入操作中导入多个LOD和变形目标。
  • 材质和纹理可以与网格一起导入并应用于网格。
  • 摄像机和光源也可以导入。

除了从FBX容器导入数据外,UNIGINE还提供了以下功能:将数据导出到.fbx文件

注意
对于要导入的FBX资源,必须加载FbxImporter插件。

导入FBX资源#

导入FBX资源时(就像进口任何其他资源),出现导入设置窗口:

注意
为了简化多个相似资源的顺序导入,Asset Browser会记住以前的资源导入设置,并默认提供使用它们的功能。要将导入设置重置为系统默认值,请使用Restore Defaults按钮。

可用的导入选项列表涵盖了可以从FBX场景导入的所有组件,包括以下内容:

网格导入选项#

Import Meshes 从文件导入几何体网格。
Use Instances 导入带有网格物体实例的FBX。启用后,将导入单个网格,而不是多个相同的网格。如果将此类FBX添加到场景中,则“世界层次”中的所有网格都将引用存储在导入的FBX容器内的单个网格。
Merge Static Meshes 将所有子静态网格物体合并为一个(以父网格物体命名)。所有网格曲面的所有曲面都将被复制并显示在Surfaces层次结构中。
Merge Surfaces by Materials 启用具有相同材质的合并曲面。
Split by Grid

启用导入网格的拆分。尺寸超过10000单位的模型太大,可能会出现与定位误差相关的各种伪像(抖动等)。您可以通过将网格划分为多个单独的网格来消除此类伪影。为此,只需启用此选项并设置用于网格划分的网格单元的大小(请参见下面的Grid Size参数)。

注意
此选项不会拆分曲面。
Grid Size 划分导入的网格的网格单元的大小,以单位为单位。
Repivot to Center 将生成的网格的枢轴放置到其中心。可以用于其几何形状离其轴心太远的网格,因为这可能导致与定位误差相关的各种伪像(抖动等)。
Optimize Vertex Cache 启用顶点缓存优化。此选项对索引的三角形列表重新排序,以提高运行时的顶点缓存利用率。可以将其关闭以加快保存过程;但是,如果保存最终版本,则应始终将其打开。
Correct Triangulation

启用网格,NURBS和面片的正确三角剖分。

注意
禁用此选项会减少导入时间,但可能会导致三角剖分错误,从而导致几何图形不正确。
Import Tangent Space

导入内置切线空间数据,而不是重新计算。

注意
如果选中该选项,但是FBX资源没有切线空间,则将使用右手坐标系的方向进行计算。
Import Morph Targets 允许从文件导入变形目标。
Morph Target Normals

变形目标(morph target)导入参数,该参数定义了如何导入变形目标的法线。有三种模式:

  • None:变形目标法线与基础网格相同。
  • Import:个变形目标法线与3D资源一起导入。
  • Recalculate:在[0,180]范围内使用指定的 Morph Target Normals Angle 角度重新计算变形目标法线。当最大值为180时,所有的边都被平滑。最小值0使边缘变得锋利。
Use LODs 定义是否将自动创建详细级别(LOD)用于导入的模型,以及LOD创建和配置模式。

详细程度#

为一个具有不同详细程度的对象创建多个变体(检出限),则应将它们作为对象的单独表面。这将允许您减少层次结构中的节点数量,并简化LOD可见性的设置。

UNIGINE 提供基于名称后缀的详细级别的自动分配和配置,使您能够在单个 FBX 文件中为模型的不同 LOD 创建和导出不同的网格。在命名这些网格时,您应该添加一个后缀来指定每个网格所代表的 LOD。您还可以在导入阶段为模型的每个 LOD 指定可见性和渐变距离,从而节省时间,因为您不必为场景中的表面调整这些设置:在 Use LODs 下拉列表中选择 Combine by Postfixes

注意
看视频教程如何配置 LOD更多细节。

您还可以启用Merge Static Meshes选项以进行更多优化。

  1. Use LODs 下拉列表中选择 Combine by Postfixes

    这将显示其他LOD设置:

    Max LODs Count 详细级别数。
    Postfix 确定当前LOD的表面名称后缀。
    Min Visibility

    在摄像机局部轴上可见此LOD的最小距离。

    -inf-默认情况下,LOD可见。

    Max Visibility

    此 LOD 在相机局部轴中可见的最大距离。

    inf — LOD 默认可见。

    Min Fade

    在这个距离上,表面逐渐消失,直到完全可见。沿着这个距离,引擎会自动将细节级别从完全不可见插入到完全不透明。当相机达到表面能见度的最小距离并且处于完整的能见度范围内时,淡入开始。

    Max Fade

    在这个距离上,表面逐渐消失,直到完全不可见。当相机达到表面能见度的最大距离并且超出整个能见度范围时,就会开始淡出。

  2. 选择存储在FBX容器中的LOD数量。
  3. 对于每个LOD,定义一个后缀,该后缀将用于将FBX文件中的对象分组为相应的LOD。

    注意
    后缀必须与在3D编辑器中创建对象时使用的后缀相同。

    生成的曲面的名称如下:material_name + LOD_postfix

  4. 指定每个LOD的最小可见距离。每个LOD的最大可见距离等于下一个LOD的最小可见距离。最后一个LOD的最大可见距离等于inf

自动生成 LOD#

自动 LOD 生成功能基于meshoptimizer 库将在您只有一个高多边形模型的情况下提供帮助,从而为您节省大量手动准备细节级别的时间。

要使用该功能,请在 Use LODs 下拉列表中选择 Auto-Generated 并配置下面列出的设置 - 引擎将完成剩下的工作,并根据您的配置自动生成所有 LOD。

Max LODs Count 详细级别数。
Target Polycount

每个 LOD 所需的几何简化程度(目标几何复杂度与初始多边形数量的百分比)。

注意
请记住,这只是一个目标值,在某些情况下,网格简化器可能无法达到。如果出现任何具有简化网格拓扑的伪影,请尝试增加此值。
Normals Preserve 该参数表示法线对网格拓扑简化的影响。较高的值会增加法线的影响,0 的值会忽略法线。避免设置太高的值,因为这可能会过多地限制简化器并且简化将失败(因为法线可能会有很大差异)。默认设置适用于大多数情况。
Recalculate Normals by Angle 启用基于指定角度阈值的网格简化过程中的法线重新计算。如果相邻多边形的法线之间的角度超过此值,则将在它们之间重新计算法线以平滑几何体的外观并消除可能的阴影问题。
Visibility / Fade Distances

请参阅上面的描述。

光照贴图选项#

UV For Lightmap 紫外线用于光照贴图的通道。
Lightmap Target Resolution 光照贴图纹理的分辨率。
Unwrap UV Channel 0 启用自动展开紫外线频道0。
Unwrap UV Channel 1 启用自动展开紫外线频道1。

层次结构选项#

在资源浏览器中选择导入的FBX资源时,该辅助部分可在Parameters窗口中使用。它使您可以根据当前预览FBX资源的内容。网格导入选项

Nodes 从FBX资源获得的节点列表。
Surfaces 所选节点的曲面列表。
Use Custom Settings 启用自定义光照贴图选定表面的选项。

物料导入选项#

Import Materials 启用从文件导入材质。
Assets Mode

允许选择是使用现有材质还是用导入的材质覆盖它们。可用选项:

  • Take By Name From Assets Or Create New使用现有材质(如果有)。
  • Take By Name From Assets Without Creation 使用相同名称的现有材质;如果没有此名称的材质,则分配 mesh_base 材质。这个选项允许在导入大量模型时最小化不需要的材质的创建。
  • Overwrite Assets —覆盖现有材质(如果有)。
Base Material Mode

可以选择进口材质的基材。可用选项:

  • Inherited Material Graphs — 自动选择的基于图形的材质用作基础材质。此模式查找具有适当功能的最合适的基于图形的自动生成材质,并从中继承导入的材质。如果在项目中找不到这种基于图形的材质,那么它将自动生成并用作基础材质。
    注意
    此模式允许重用现有的基于图形的基础材质,避免在导入 FBX 文件时创建大量独特的基础材质。
  • Unique Material Graphs — 使用自动生成的基于图形的材质作为基础材质。在这种模式下,所有导入的材质都将继承自独特的自动生成的基于图形的材质。
  • Inherited Mesh Base mesh_base用作基材。此模式使用默认mesh_base原料为进口原料。
Workflow

提供一个界面来选择工作流程进口的基于物理的材质(如果有)。可用选项:

  • Metalness 使用纹理的新标准(反照率,金属度,粗糙度)。
  • Specular使用mesh_base材质中使用的旧纹理标准(漫反射,镜面反射,光泽)。
Add Asset Name as Prefix 允许为导入的材质添加前缀,以避免名称冲突。
Add Prefix 启用此选项会使每种材质的名称具有导入的FBX资源的名称作为前缀。
Merge Similar Materials 可以合并具有相同设置但名称不同的材质。

动画导入选项#

Import Animations 允许从文件导入动画。
Import Bones Without Skin 允许导入未连接到骨架且不影响动画皮肤的骨骼,例如,角色手中持有的武器。如果禁用,则不会导入此类骨骼,并且与之相连的骨骼(如果有)将成为孤儿。
Create Transform Bones for Joints 导入动画FBX资源的关节(骨骼)的层次结构作为World Transform Bones的列表。如果禁用此选项,导入的动画对于网格仍然可以使用。
Joints Reorientation 为动画和动画几何体启用更改骨骼的方向。启用后,所有骨骼的前向轴将与几何图形相同。这为程序员简化了通过代码进行动画处理的工作,减少了过多的轴操作:如果网格的前向轴为+Y,则骨骼也将为+Y
Animation FPS 每秒导入的动画的帧数。
Force Loop

强制平滑循环动画的播放。

Looped Frames 用于平滑循环播放动画的帧数。指定的帧数是从动画的开头和结尾开始获取的。如果指定的值超过(total_number_of_frames)/2,则使用后者。

其他导入选项#

Import Textures 启用从文件导入纹理。
Import Lights 从FBX场景导入光源。
Import Cameras 从FBX场景导入摄像机。
Skip Empty Nodes 启用跳过空节点。复杂的CAD模型可能包含许多空节点,从而导致世界层次结构过载。您可以启用此选项,以通过忽略不包含任何有用信息的节点来简化生成的层次结构。
Front Axis 提供一个接口,以选择要被视为世界坐标系的正向向量的轴。
Up Axis 提供一个接口,以选择要被视为世界坐标系的向上向量的轴。
Scale

几何比例乘数。

当在UNIGINE中添加到场景中时,您的网格可能需要缩放以正确适合。但是,将Scale转换应用于网格会影响其物理效果-在这种情况下,网格无法正确参与碰撞。因此,建议使用规模操纵器然后使用结果值重新导入网格,该值显示在常用参数

下面描述了存储在FBX容器中的各种类型数据的特定选项。

几何学#

FBX容器中存储的最常用数据类型是多边形几何。

在导入几何图形时,请记住以下在UNIGINE中设置的网格限制:

每个网格的最大顶点 4294967295
每目最大表面 32768
每个顶点的最大权重 4
每个表面的最大 128
每个表面的最大活动的变形目标 7为DX11和OpenGL;DX12和Vulkan无限制(100是默认设置)

要导入FBX场景中包含的3D几何数据,应启用Import Meshes选项。

导入的几何图形(与场景中的任何对象相同)在添加到世界后变为节点并可以在World Hierarchy窗口中看到。该节点的名称与导入的FBX资源的名称相同,子节点的层次结构表示包含在导入场景中的静态网格物体的层次结构。

您可以通过启用Merge Static Meshes选项将所有子对象合并为一个。在这种情况下,子网格物体的所有表面将被复制到单个父网格物体,并将出现在其Surfaces层次结构中。

生成单个网格的表面,而不是分配了device_calculatorglass_mat材质的单独网格

您也可以通过启用Merge Surfaces by Materials选项合并具有相同材质的曲面。

材质合并的表面

可以在不同的3D建模应用程序中使用不同的测量系统。要调整导入几何的比例,可以使用Scale参数。

导入几何体时也可以优化顶点缓存。为此,请使用Optimize Vertex Cache选项。

Import Tangent Space选项允许导入内置切线空间数据,而无需重新计算。

材质#

FBX容器还可以在3D编辑器中存储分配给对象表面的材质。

要从FBX容器导入材质,应启用Import Materials选项。在这种情况下,将为导入的模型的曲面分配相应的材质。

注意
如果材质是进口的,则该材质资源在存储.fbx资源的文件夹的materials子文件夹中创建。

以下纹理将被导入和分配(如果有):

  • Diffuse (albedo) texture
  • Normal map or bump map (needs to be converted into 2-channel (RG) for Unigine)
  • Specular texture
  • Light map

还将导入以下材质参数(如果已定义):

  • Diffuse color
  • Specular color and power
  • Emission color
注意
你应该调整其他材质设置手动。

禁用Import Materials选项时,将为模型的所有曲面分配默认的mesh_base材质。

导入材质时,项目中可能已经存在具有给定名称的材质。您可以选择是否覆盖现有材质(对应的资源将被覆盖)。为此,使用了Overwrite Existing Materials选项。如果未选中,则将使用现有材质。

如果源模型包含许多具有许多相同材质但名称不同的对象(通常是从FBX文件中导出FBX文件时发生的)电脑辅助设计系统),将这些材质合并为一个材质是有意义的。为此,您应该启用Merge Similar Materials选项。

UNIGINE支持两种PBR材质工作流程:MetalnessSpecular。使用Workflow选项设置所需的工作流程。

贴图#

读取材质数据时,您还可以导入存储在FBX容器中的纹理。为此,启用Import Textures选项。

注意
如果导入纹理,则对应的纹理资源在存储.fbx资源的同一文件夹中创建。

动画和变形目标#

您可以从FBX文件导入骨骼动画和变形目标。

要从FBX容器导入动画,请执行以下操作:

要导入变形目标,只需启用Import Morph Targets选项。变形目标将作为子节点导入。

如果您有一个FBX文件,其中包含没有任何几何图形的骨骼动画,则可以通过Import Bones Without Skin将其导入到UNIGINE项目中,并使用生成的.anim文件。

#

您可以通过简单地启用Import Lights选项从FBX场景导入光源(如果有)。导入的光源将作为子节点添加到根节点。将执行以下转换:

  • 定向光将转换为world光源。
  • 点光源将转换为omni光源。
  • 聚光灯转换为projected光源。

以下灯光参数会自动导入到UNIGINE中,因此无需将它们设置两次:

  • 浅色
  • 光半径和衰减
  • 光源位置和方向

摄影机#

只需启用Import Cameras选项,也可以从FBX场景导入摄像机(如果存在)。它们被转换为PlayerDummy(没有物理属性的相机)。 UNIGINE支持两种类型的投影:

  • 正交(具有Z远近裁剪平面支持)
  • 透视图(在FOV支持下)

要通过导入的摄像机查看场景,请在Editor Viewport窗口左上角的下拉列表中选择其名称。

将导入的FBX资源添加到世界#

要将新导入的FBX资源与其他资源一样添加到场景中,只需将其从Asset Browser拖动到Viewport窗口即可。相应的节点将被创建并显示在World Hierarchy窗口中。该节点的名称与导入的FBX资源的名称相同,并且子节点的层次结构代表3D模型中包含的单独对象。

非本机几何图形资源类型(fbx, obj, dae等)是网格的容器。如果您在Asset Browser中双击此类资源(或使用右键单击Open命令),则生成的运行时将显示存储在容器资源中的.mesh, .anim.node文件:

打开FBX容器

视频教程:导入3D模型#

最新更新: 2023-12-19
Build: ()