Epic Games 启动器中的 Fab 功能支持一键导出到各种数字内容创建 (DCC) 工具和引擎,其工作方式与 Quixel Bridge 类似。 此桌面版 Fab 扩展了用户的工作流程,除了获取资产,还能将资产导入应用程序。
要了解如何使用启动器,请参阅从启动器中的 Fab 导出资产。
本指南概述了关键信息和最佳实践,以帮助确保您的内容在用户将其从启动器中导出时设置正确。 正确准备资产不仅可以节省时间,还可以提高 DCC 和引擎的性能、兼容性和视觉质量。
为确保顺利导出和准确设置,请查看以下条件。 如果您或您的组织遵循其他被广泛采用的标准,请进行必要的更新,或告知 Fab 支持团队。 我们的团队竭诚为您的工作流程提供支持。
支持的 DCC、引擎和文件格式
下方表格列出了启动器可以导出到的每个应用程序所支持的版本和渲染器信息。
应用程序 | 支持的版本 | 渲染器 | 平台 |
虚幻引擎 |
| 不可用 |
|
Blender |
|
|
|
3ds Max |
| 以下渲染器的最新版本:
|
|
Unity |
| 渲染管线:
|
|
Maya |
|
|
|
Cinema4D |
|
|
|
下方表格列出了各应用程序支持的文件格式。
| 格式类型 | 文件形式 | 支持的 DCC 和引擎 |
|---|---|---|
交换格式 |
| 支持导出到:
|
引擎格式 | 虚幻引擎:
| 用户可以在以下引擎中使用添加到项目、创建项目或安装插件功能:
|
Unity | 将支持导出到:
| |
原生 DCC 格式 | 混合 3ds Max Maya Cinema 4D | 当前不支持 |
如何准备资产以上传到 Fab
下面的建议是关于如何在 Fab 上打包内容的最佳实践,以避免在启动器中的 Fab 中将内容导出到 DCC 或引擎时出现问题。 内容在导出后的显示和行为在很大程度上取决于 DCC 或引擎本身。
测试要上传的数据包
用户在启动器中的 Fab 导出你的资产时,会选择一种格式(如.fbx、.usd,或 .glb)。 您可以测试您计划上传的每种文件格式,方法是手动将其导入 DCC 或引擎(例如 Maya 或 Blender),以便确切了解其行为。
在模型文件中嵌入信息
启动器中的 Fab 依赖以下文件格式的嵌入信息:
.gltf.glb.usd.usdz
为了确保你的模型加载正确的材质并自动关联其纹理,请务必执行以下操作之一:
将纹理文件直接嵌入至模型文件中。
使用指向与模型一起放置的外部纹理文件的相对路径。
遵循这一做法有助于确保无缝的材质设置,并最大限度地减少在导出或导入到 DCC 或引擎期间丢失纹理或错误关联纹理的可能性。
使用可识别的文件命名规范
如果材质纹理未在模型中嵌入/引用:
.fbx将确保最佳兼容性。对于
.fbx和.obj格式,启动器中的 Fab 将尝试根据文件名和目录结构自动映射纹理。 此自动映射的一般步骤如下:基于
.fbx或.obj扩展名的文件来检测模型文件。尝试查找包含模型文件名的纹理贴图。
检测纹理文件名中的常见后缀,以确定纹理贴图的类型。
将检测到的纹理贴图关联到材质通道。
纹理命名规范示例
根据 modelfile_suffix 惯例命名纹理,例如:
cube_basecolor.pngcube_roughness.pngcube_normal.png
示例
不同命名的模型和纹理(例如,cube_*.png和sphere_*.png)将被视为单独的资产。
纹理命名的可识别后缀
.jpg、.png,和类似名称的格式会根据后缀自动与模型匹配。 通过使用识别的后缀(例如 _basecolor、_normal、_roughness),启动器中的 Fab 可以在导出期间准确地将每个纹理分配到正确的材质通道。
为确保材质设置正确,请为每种纹理类型使用以下可识别的后缀:
| 纹理类型 | 可识别的后缀 |
|---|---|
底色 / 漫反射 |
|
环境光遮蔽 |
|
法线 |
|
粗糙度 |
|
金属感 |
|
自发光 |
|
置换 / 高度 |
|
一些纹理类型,如散光、半透明、透射等,可能需要特定的 DCC 支持或设置才能按预期工作。
法线贴图转换
你必须在切线空间中提供法线贴图(默认按照 DirectX 规范),才能将其用于启动器中的 Fab。 你可以使用其他后缀来指定在提供的法线贴图中使用的惯例。 如果你不提供额外的后缀,将采用 DirectX。
如果你基于 OpenGL 来制作法线贴图,请使用
opengl、gl或normalsgl等后缀。如果你使用 DirectX,请使用诸如
directx、dx或normdx之类的后缀。
推荐文件夹结构
将所有纹理与模型放在同一目录中。
如果父文件夹包含
.gltf、.glb、.usd,或.usdz文件,则自动纹理匹配将不会进行。 将纹理与模型文件放在相同的目录级别,以便正确关联。启动器中的 Fab 不支持文件包中的文件包(例如,包含在一个
zip文件中的另一个.zip文件)。 请确保你的存档扁平(无嵌套文件)且独立。当你的存档包含多个单独的资产时,请执行以下任一操作:
如果所有文件都在根目录级别,请为每个资产使用唯一的前缀(例如,
rock1.fbx、rock2.fbx)每个资产使用单独的文件夹。
使用多个资产
当你的文件包包含多个单独的资产时,启动器中的 Fab 会尝试将每个资产导出。 为确保正确识别这些资产并正确匹配纹理,你可以按以下两种方式之一整理它们:
1. 按目录对资产分组
将资产整理到单独的文件夹中有助于启动器中的 Fab 将每个组视为独立的资产。
文件包结构示例:
结果:
rock1.fbx和rock2.fbx将随相应纹理一起导出。名为
additionalmaterial的第三个材质也将基于其匹配的纹理前缀在用户的导出位置中生成。
2. 在不使用文件夹的情况下使用多个前缀
如果你的存档对每个资产使用唯一前缀,并将所有文件保留在根目录级别,启动器中的 Fab 仍将正确识别并导出它们,就像它们被整理到单独的目录中一样。
文件包结构示例:
结果:
rock1.fbx和rock2.fbx将被视为单独的资产,其纹理将基于共享前缀自动匹配。additionalmaterial将被创建为独立的材质。Rocks_roughness.jpg只有在包含具有匹配 Rocks 前缀的模型时才会使用,否则将被忽略。
使用一致的前缀是文件夹分组的灵活替代方案,有助于在导出期间保持清晰度和兼容性。
有效文件包结构示例
为了帮助你准备好内容,以便在启动器中的 Fab 中顺利导出,下面是 Fab 可以正确解译和处理的几个文件包结构示例。
0 个模型,1 个材质
导出为:一个独立材质。
0 个模型,2 个材质(同一目录)
导出为:两个单独的独立材质。
0 个模型,2 个材质(不同目录)
导出为:两个单独的独立材质。
1 个 FBX 模型,无纹理
导出为:仅限模型。 如果 FBX 包含材质,它们将被保留。
1 个模型,1 个材质
导出为:使用新创建的材质替换原始材质的模型。
共享一种材质的 3 个模型
导出为:带有共享的,新创建的材质的全部模型。
包含 2 个模型 + 1 个额外材质(扁平结构)的”打包“
导出为:带有匹配材质的两个模型,外加第三个独立材质。
包含 2 个模型 + 1 个额外材质(按文件夹结构化)的”打包“
导出为:结果与上述相同,使用目录分隔。
1 个带有引用纹理的 glTF 模型
导出为:仅模型,仅当
.gltf文件中显式引用纹理时才使用textures/目录中的纹理文件。
1 个 glTF 模型 + 1 个位于单独文件夹中的独立材质
导出为:
带有关联纹理的模型(如果被引用)。
从
dir2的内容构建的独立材质。
这些格式可确保在启动器中的 Fab 中实现最佳性能和兼容性。
其他提示
纹理和材质
使用 PBR 材质:导出时使用基础颜色、金属感、粗糙度、法线贴图和其他类似材质。 确保贴图符合高光或金属感工作流程。
分辨率:纹理分辨率保持为 2 的幂(例如 512x512、1024x1024)。
纹理大小:平衡质量和性能。 除非必要,否则避免使用大于 4K 的纹理。
文件类型:
.png或.tga是首选的 8 位格式。你可以使用
.jpg但应注意压缩瑕疵。如果使用
.png格式,使用未压缩可获得最佳质量。对于 16/32 位,请使用
.png或.exr。
颜色空间:确保你的纹理位于正确的颜色空间中。
仅为每个表面或对象分配一个材质。
文件命名
使用小写字母。
使用下划线代替空格。
避免使用非 ASCII 字符(例如带重音符号的字母或符号)
几何与优化
多边形数量:优化几何体,力求在保留轮廓和细节的前提下尽量减少多边形数量。
无多边形:仅使用四边形或三角形。
法线:确保法线正确,并在需要的地方平滑处理。
枢轴点:为动画和对齐正确设置网格体的原点。
整理变换:在导出之前在 3D 软件中应用缩放/旋转。
非流形几何体:请避免使用! 否则可能会导致渲染或物理问题。
应用变换:在导出之前重置变换,避免出现缩放问题。
如果你的模型用于 AR/VR 或 Web 查看,请检查移动端性能。
摄像机和光照
默认摄像机:将模型朝前放置( Z+ 或 Y+,具体取决于平台)。
避免烘焙光照,除非你特意使用烘焙的静态光照。