使用 3ds Max 和 Substance Painter 创建 GLB 文件

使用 3ds Max 和 Substance Painter 导出可添加到 Shopify 后台中的产品的 GLB 文件。

准备在 3ds Max 中导出的模型

为准备用于导出的模型,您需要确保模型是单个网格并应用了单种材质。

步骤:

  1. 点击文件 > 导入... > 导入...
  2. 选择您的模型文件,然后点击打开
  3. OBJ 导入选项对话框中,选中 Import as a single mesh(导入为单个网格)。
  4. 点击导入
  5. 将模型展开到 0-1 空间。确保没有 UV 重叠:
    Use the Edit UVWs editor to lay out the UVs between 0 and 1 on the X and Y axes.
  6. 将单种材质应用于整个模型。

从 3ds Max 导出网格

  1. 单击 File(文件)> Export(导出)> Export...(导出...)。
  2. 输入文件名和要在其中导入模型的地点。
  3. Save as Type(保存类型)下拉菜单中,选择 OBJ-Export (.OBJ)
  4. 单击保存
  5. OBJ 导出选项对话框中,保留默认选项并点击导出

在 Substance Painter 中导入并准备 OBJ 文件

  1. 通过点击文件 > 新建来创建一个新的 Substance Painter 项目。
  2. New project(新建项目)对话框中,点击选择以选择网格。
  3. 选择从 3ds Max 导出的 OBJ 文件,然后点击打开
  4. New project(新建项目)窗口中,点击确定
  5. 通过查看纹理集列表面板中是否只有一个纹理集来验证是否正确导出了网格。

  6. 纹理集设置面板中,点击 + 按钮以添加通道:

    The + button is beside the Channels heading. The button opens a drop-down menu that shows the additional channels that are available.

    • 必需:环境光遮蔽。
    • 可选:放射。如果您的模型具有发出光线的组件,请添加此渠道。
    • 可选:不透明。如果您的模型具有透明组件,请添加此渠道。
  7. Texture set settings(纹理集设置)面板中,点击 Bake Mesh Maps(烘焙网格贴图)。

  8. 将纹理绘制到模型上。

多个纹理集

将 OBJ 文件导入 Substance Painter 时,您应该只会看到一个纹理集:

Texture sets are listed in the Texture set list panel.

如果您看到多个纹理集,那么从 3ds Max 导出网格时,会出现以下错误之一:

  • 网格未合并到单个对象中。
  • 网格分配有多个纹理。

在此情况下,再次将模型从 3ds Max 导出,然后确保网格是单个对象,并且只分配有单个纹理。

从 Substance Painter 导出 glTF 文件

  1. 点击文件 > Export Textures(导出纹理)。
  2. Config(配置)下拉菜单中,选择 glTF PBR Metal Roughness(glTF PBR 金属粗糙度)。
  3. 选择要保存纹理的地点。
  4. 选择文档大小以确定纹理文件的大小。

  5. 点击导出

压缩纹理文件

导出模型后,您应具有以下文件:

  • modelName.bin
  • modelName.glb
  • modelName.gltf
  • modelNamebaseColor.png
  • modelNamenormal.png
  • modelName_occlusionRoughnessMetallic.png

如果使用 glTF PBR 金属粗糙度配置,Substance Painter 只会将纹理文件导出为 PNG 格式。请考虑压缩纹理文件,并将不需要 alpha 通道的纹理转换为 JPG。这能减小总文件大小,减小文件大小可加快下载速度,并实现更流畅的交互。

最好将文件大小保持为 4 MB 或更小。

创建 GLB 文件

  1. 访问 https://glb-packer.glitch.me/
  2. 将从 Substance Painter 导出的文件拖放到 GLB Packer 网页上。

名为 out.glb 文件将下载到您的计算机。下载完成后,您可以重命名该文件,然后将其上传到 Shopify。