《Starfield》模组教程:材质贴图格式及打包方法

《Starfield》模组教程:材质贴图格式及打包方法

Zahkrii Lv2

信息来自官方 Discord、Reddit、DDS Texture Informer 工具提取与个人为《天际》与《辐射 4》制作模组的经验与心得,如有错误欢迎指正。

对于熟悉材质模组制作流程的大佬来说,第一节交代的信息足够,对于新手,请耐心看完后续的实操。后续实操使用的方法跟工具不仅限于《星空》,也能使用在其他 Bethesda 游戏上。

总览

《星空》使用的材质贴图后缀名为 DDS,不同种类的材质贴图使用不同的压缩格式。

贴图名称 命名后缀 压缩格式 MipMap
漫反射贴图 Base Color _color.dds BC1_UNORM_SRGB[1] 使用
漫反射贴图带透明度 _color.dds BC3_UNORM_SRGB[2] 使用
法线贴图 Normal _normal.dds BC5_SNORM 使用
粗糙度贴图  Roughness _rough.dds BC4_UNORM 使用
不透明度贴图 Opacity _opacity.dds BC4_UNORM 使用
环境光遮蔽贴图  AO _ao.dds BC4_UNORM 使用
遮罩贴图  Mask _mask_#.dds[3] BC4_UNORM 使用

[1] 《星空》漫反射贴图使用 SRGB 色彩空间,而非 Linear 线性空间;对于 PC 版,也能够使用质量更高的 BC7 压缩,具体为 BC7_UNORM_SRGB,但 Xbox 版仅支持 BC1,即 BC1_UNORM_SRGB.

[2] 本人并没有测试《星空》对于带透明度的颜色(漫反射)贴图压缩格式的支持,根据本人为《天际》与《辐射 4》制作模组的经验,应该支持 BC3 压缩,亦可使用 BC7 压缩。(Xbox 版不支持 BC7 压缩)

[3] “#” 表示序号,具体使用时应替换为数字,如 “_mask_1.dds”、“_mask_2.dds”.

实操

本套实操方法在 CK2 推出前就已经能顺畅使用,CK2 推出前使用 Bethesda Archive Manager 工具打包 BA2, CK2 推出后改为使用 Archive2 工具打包,Bethesda Archive Manager 工具作者也推荐使用 Archive2.

使用工具

点击工具名称前往下载。

  • Intel Texture Works Plugin for Photoshop - SNORM Support

    • Intel 为 Photoshop 制作的一款导出 dds 格式材质贴图的插件,添加了额外的扩展(支持导出 Signed Normals,即有符号法线贴图,在《辐射 76》与《星空》中均被使用),支持多种压缩格式,界面简单易懂,个人认为比 Nvidia 提供的 dds 材质贴图导出插件要更加易用。
    • 安装方法(压缩包中也提供安装方法):
      • 将 Plugins\x64\IntelTextureWorks.8bi 文件复制到 Photoshop 安装目录下,Required\Plug-Ins\File Formats 文件夹中
      • 复制 PhotoshopScripts 文件夹中所有文件到 Photoshop 安装目录下,Presets\Scripts 文件夹中
  • Paint.NET (Intel Texture Works Plugin for Photoshop 替代)

    • Paint.NET 是一款免费的图像和照片编辑软件,使用 C# 开发,基于 .Net 平台,因此称为 Paint.NET,如果不想使用付费的 Photoshop,Paint.NET 是很好的替代品。原生支持 DDS 导出(4.2.2 版本及以后,否则需要额外安装 DDS FileType Plus 插件),且支持有符号法线贴图。
    • 以下教程均使用 Intel Texture Works Plugin for Photoshop - SNORM Support 演示,但同样适用于 Paint.NET,操作流程与导出参数大致相似,因此不另做说明。
  • DDS Texture Informer

    • niston 大佬制作的一款获取 DDS 材质贴图信息的工具,原本设计为《辐射 4》使用,但兼容所有 Bethesda 游戏贴图。注意阅读作者提供的使用说明。

导入材质贴图

安装 DDS 插件后,仅需将 DDS 拖入 PS 即可导入,注意弹出的对话框中不要勾选 “Load mip-maps into separate layers”。

勾选后会导入 Mipmaps 到单独的图层,由于在导出贴图时能够自动生成 Mipmaps,我们不需要手动修改 Mipmaps,因此不需要勾选导入,直接点“OK”.

Tips

Mipmap 技术有点类似于 LOD 技术,但是不同的是,LOD 针对的是模型资源,而 Mipmap 针对的纹理贴图资源,使用 Mipmap 后,贴图会根据摄像机距离的远近,选择使用不同精度的贴图。优化显存带宽,减少渲染压力,也能避免摩尔纹的产生。对于《星空》,所有贴图都应使用 Mipmap.

导出材质贴图

在 Photoshop 中完成修改后,在”文件”菜单栏中选择 “存储为…” 或者 “存储副本…” ,选择保存类型为 “Intel® Texture Works (*. DDS)”

点击保存后,弹出配置选项,如下图所示。一般情况下我们主要配置 “Texture Type” 与 “Compression” .

① 对于 “Texture Type”(材质类型)

  • 如果是颜色(漫反射)贴图,或者其他黑白或者灰度图,选择 Color 导出。

  • 如果还带透明度,选择 Color + Alpha

  • 如果为法线贴图,选择 Normal Map.

  • Cube map 选项不多做解释,感兴趣者前往插件 Github 页面 自行研究,一般用不上

② 对于 “Mip Maps”

请始终选择 “Auto Generate”(自动生成),除非有特殊的理由不这么做。

③ 对于 “Compression”(压缩方式)

根据选择的 “Texture Type”(材质类型)不同,会提供不同的选项。

如果是颜色(漫反射)贴图,不包括灰度与黑白图

请选择 “BC1 4bpp (sRGB, DX10+)”,这样能导出适用于《星空》的标准的颜色(漫反射)贴图,不要选择带 “(Linear)” 的格式,否则贴图虽然能被正确加载,但在游戏中会发灰发白。

BC1 虽然拥有更小的文件体积,但会损失图像质量,为了得到更高的图像质量,可以选择 BC7 压缩。

注意

选择 BC7 压缩时,仍需选择带有 “(sRGB)” 的选项,且 Xbox 版《星空》不支持 BC 7 压缩。

BC7 压缩具有两种方式,一种为 “Fast”,具有更快的保存时间,但会损失一点图像质量;另一种为 “Fine”,保存的贴图具有更好的质量,但需要更长的保存时间,请根据自身情况选择。

如果是带透明度的颜色(漫反射)贴图

仅能够选择 BC3 与 BC7 压缩,注意选择 sRGB,BC7 压缩图像质量比 BC3 好,但 Xbox 版《星空》不支持 BC7 压缩。

如果是法线贴图

请选择 “BC5_S 8bpp (Linear, Signed, 2 Channel target map)”,至于 Pre-compress Normal Map Operations,如果并不了解,请保持默认。

如果是黑白或灰度图,不包括颜色贴图

请选择 “BC4 4bpp (Linear, Grayscale)”,这会丢弃图像的颜色信息,仅保留黑白灰,适用于以下类型的贴图:

贴图名称 命名后缀
粗糙度贴图  Roughness _rough.dds
不透明度贴图 Opacity _opacity.dds
环境光遮蔽贴图  AO _ao.dds
遮罩贴图  Mask _mask_#.dds[1]

[1] “#” 表示序号,具体使用时应替换为数字,如 “_mask_1.dds”、“_mask_2.dds”.

完成配置

所有选项配置完成后,可以点击 “Preview” 预览保存后的贴图,也能直接点击 “OK” 完成保存。

Tips

对于常用的保存选项,可以使用最上方的 “Presets”(预设)功能保存常用配置,提升效率。

对于使用 Paint.NET 导出 DDS

同样提供相同的压缩配置与是否生成 MipMaps,不再赘述。

创建材质压缩包

没有打包的贴图,与打包为 BA2 的贴图相比较,游戏加载打包后的贴图性能会更好,且能够通过插件排序,解决冲突,若非特殊需求,打包为 BA2 是更好的选择,如果你的模组仅为材质替换,可以使用空插件来加载。

Tips

空插件可自行使用 SF1Edit 工具制作,或者使用别人制作好的:Empty ESM Plugin

如果使用空插件加载,请先修改插件名称,命名规范为不带空格的英文名称,首字母大写,或一律小写,可以使用 “-” 与 “_” 符号分割词语

使用 Archive2 打包

首先请先从 Steam 安装好适用于《星空》的 Creation Kit,然后打开《星空》安装目录,进入 “Tools” 文件夹,这些都是 Creation Kit 提供的一些实用工具。

进入 “Archive2” 文件夹,运行 “Archive2.exe”.

点击 “Archive” 菜单,选择 “Add Files..” 或者 “Add Folder…” 添加文件。

添加完成后再次点击 “Archive” 菜单,选择 “Settings…” 对压缩包进行设置。

压缩包设置
为 PC 版《星空》打包贴图

请按上图设置,其中 Compression(压缩方式)可选使用 LZ4 压缩,或不使用压缩(None)。

注意

不使用压缩将会极大增加压缩包体积,除非特殊需要,请务必使用压缩。

为 Xbox 版《星空》打包

请按上图设置,XBoxDDS 强制使用 XBox 压缩。

保存压缩包

设置完成后,点击 “File”,选择 “Save As…” 保存压缩包。

注意

命名请与插件名称统一,然而,材质压缩包具有特殊的后缀名称,如果你的插件名称为 “newplugin.esm”,请将压缩包命名为 “newplugin - Textures.ba2”,
Xbox 版具有不一样的命名规则,具体为 “newplugin - Main_xbox.ba2”

  • 标题: 《Starfield》模组教程:材质贴图格式及打包方法
  • 作者: Zahkrii
  • 创建于 : 2024/06/24 23:49:00
  • 更新于 : 2024/06/25 00:15:38
  • 链接: https://zahkrii.github.io/2024/06/24/starfield-modding-1/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。