告别“煤球“模型:FFXIV 法线异常排查、修复与预防实录

告别“煤球“模型:FFXIV 法线异常排查、修复与预防实录

告别"煤球"模型:FFXIV 法线异常排查、修复与预防实录

【免费下载链接】FFXIV_TexTools_UI项目地址: https://gitcode.com/gh_mirrors/ff/FFXIV_TexTools_UI

周末晚上十点,我把在 Blender 里打磨了两周的装备模型导进 FFXIV TexTools,点下"应用修改"。半分钟后游戏里的人物穿上它,变成了一块黑黢黢的炭——没有高光、没有层次、没有任何反应。群里的老玩家瞟了一眼截图,只丢过来五个字:"去看看法线。"这句话开启了我与 FFXIV 法线异常长达一个月的拉锯战,也催生了今天这份排查与修复笔记。

🌙 第一夜:先把"法线"这回事讲明白

可以把每个表面都想象成一位微小的"裁判",它的职责是告诉光线"你该往哪儿弹"。法线,就是这位裁判给出的方向。而法线映射(Normal Mapping)的高明之处在于:它不增加任何多边形,只靠贴图里密密麻麻的方向数据,就让低模"装"出高模的凹凸起伏——省资源,又出效果。

但 FFXIV 使用的 DirectX 坐标系是左手系,规矩和很多 3D 软件的默认习惯不一样,具体有三条铁律:

  • 通道分工不同:红通道记左右(X 轴),绿通道记上下(Y 轴),蓝通道记深浅(Z 轴),三个通道各司其职,动错一个全盘皆输;
  • 精度窗口很窄:引擎用 8 位整数存储法线,数值必须落在[0,255]之间,任何一步浮点转整数的损耗,都可能让方向彻底颠倒;
  • 压缩不可逆:引擎内部走 BCn 系列的压缩格式,第三方工具参数一旦对不上,数据入库后就再也救不回来。

换句话说,一张法线图从 DCC 软件出发,要连过导出、转换、压缩、入库四道关卡。任何一道出错,模型的"脸"就垮了。

🩺 号脉三式:一眼认出你的模型得了哪种病

别急着删模型。打开 FFXIV TexTools 的模型查看器,绕着模型走几圈、换几个光源角度,对照下面三种"症状"对号入座。

全黑:像盖了一块黑布

整个模型完全没有光照反应,跟烧焦的煤球一样。通常意味着法线数据整体为零,或者绿通道方向整个反转。好消息是,这种病最好治。

光照闪烁:像接触不良的灯泡

视角稍微一动,表面亮度就疯狂跳动,明明是平滑材质,看起来却像碎了一地的玻璃碴。这多半是切线空间算错,TBN 矩阵站错了队,属于局部网格层面的问题。

细节消失:像贴了张高清的平面

形状在、光照也对,可高模烘焙出来的沟壑、划痕全都看不见。八成是法线图被当成普通彩色贴图保存,或格式不对,细节在压缩环节被"吃掉"了。

顺带说个题外话:FFXIV TexTools 里有一张默认的模组头图,显示着"No Image Available"。我后来发现,法线数据异常时,游戏给我们的反馈就跟这张图一样——一片"无可奉告"。所以别盯着模型瞎猜,先去检查数据。

🔧 修理手册:三条路线,从易到难

第一招:给绿色通道"翻个面"

遇到全黑或明显反转的模型,八成是 Y 轴方向反了。操作步骤:

  1. 在 FFXIV TexTools 里用导出原始纹理把法线图存成 TGA 格式;
  2. 打开纹理工具 → 通道编辑器
  3. 勾选反转绿色通道,其余通道原样保留;
  4. 保存并重新导入。

原理一句话:把 G 通道的值用 255 减去,Y 轴方向就转过来了。R、B、A 三个通道碰都不要碰。多数"全黑"病例到这一步就能出院。

第二招:让切线空间重新站队

如果反转通道没用,或者闪烁集中在局部,问题多半出在切线计算上。在高级模式里找到重新计算切线选项,按下面的思路调:

  • 计算方法优先选"基于 UV";
  • 焊接距离阈值从 0.001 起步,逐步微调;
  • 缠绕顺序按原模型的顶点顺序反向试一次。

这一招需要耐心,一次成功是运气,记住每改一个参数就盯一眼预览

第三招:批量作业的偷懒法

模型一多,手动点编辑就太亏了。FFXIV TexTools 支持命令行批处理:把需要处理的 dds 文件集中到一个文件夹,逐条调用convert命令,指定输出路径、法线模式和 Y 轴翻转参数,生成带_fixed后缀的 TGA 文件,跑完再逐个抽查。脚本化的好处是同样的修法对几十个文件一视同仁,不会手抖漏改。

⏱️ 动手前十分钟:把返工扼杀在导入之前

我的经验之谈是:导入前多花十分钟,能省下导入后十个小时。以下是我现在每次必过的检查单:

  • 建模软件先切到左手系再干活,别等导出才发现坐标系不对;
  • 烘焙法线时,Blender 记得勾"翻转绿通道",Substance Painter 记得选 DirectX 输出——源头改只要一秒,事后修要一小时;
  • 导出前删干净冗余顶点组、形状键这些"行李";
  • 导入时打开使用导入的切线空间,别让程序按默认方式重算,免得坐标系又错一遍;
  • UV 保持原始数据,关闭自动展平;材质合并关掉;缩放因子保持 1.0。

导入之后再过一遍快速验证:

  • 有没有整片纯黑的区域?
  • 转动视角时,高光是否平滑过渡而不是跳变?
  • 把法线图再导出来抽查,蓝通道绝不能是清一色的 0

🗣️ 各软件之间的"语言不通"

法线出问题,很多时候不是 FFXIV TexTools 的锅,而是导出那一边就没把话说清楚:

  • Blender:最常见的是法线反转,导出时记得处理绿通道的方向问题;
  • Maya:优先用 FBX 2018 格式,老格式的切线数据容易缺胳膊少腿;
  • 3ds Max:导出前先把修改器堆栈塌陷掉,否则 UV 会在不知不觉中被改写;
  • Substance Painter:输出选项里必须明确选 DirectX,否则颜色空间直接从源头错起。

一句话总结:谁导出的,谁负责把话说清楚。TexTools 只是翻译官,别让它背黑锅。

🏁 写在最后:把翻车变成一种习惯

到现在,我用这套"先号脉、再下药、最后上保险"的流程处理过不下二十个模型,翻车率肉眼可见地降了下来。法线这东西看着玄乎,说穿了就是一层数据——只要按规矩走,它比你想的乖得多。随着游戏图形管线持续更新,未来也许会出现更精细的通道格式和实时烘焙,但数据源头正确、转换过程可控、入库前验证这三板斧,短时间内不会过时。

下回你的模型再变成煤球,别急着删掉重做。先打开 FFXIV TexTools 的查看器转两圈,对照这篇文章走一遍流程,然后回来告诉我——你踩的是哪个坑?

【免费下载链接】FFXIV_TexTools_UI项目地址: https://gitcode.com/gh_mirrors/ff/FFXIV_TexTools_UI

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考