你玩游戏时经常看到皮肤是全黑的,有时甚至整条线条全都是暗紫,先别急着无视,这是开发者偷偷往里耍的“黑暗工程”。
倒数几秒钟——一条错误信息悄悄发生,原来是“纹理压缩”出招。游戏里纹理文件被压缩后,如果压缩参数选错,白色细节会被误判为黑色,导致整块皮肤像穿上了墨黑斗篷。你可别以为这只会影响图形质量,续航还能受影响。
很多人会问,发游戏的公司怎么不加上检测呢?答案是,CPU 和 GPU 的指令集极其多样,老版本的 Vulkan 或 DirectX 里某些端点在低端设备上总会出现渲染异常。开发者为此选观测“分段复用”,这就让“黑色皮肤”更具可复制性。
再说说 “材质槽”这件事。游戏里每个皮肤都会在材质表里分配一个槽位,错误的材质索引会把黑暗纹理映射到错误的实例上,就像把暗色车油漆涂在雪白车身上,最终看起来像把整辆车给剥光了。
如果你希望自己的角色不再处于 “黑格子之谜”,不妨先改一改游戏的运行参数。开启 V-Sync 或者 DX12 的“HWRT Tuning”即可让显卡更准确读取纹理。贴图压缩方式也可以换成 ASTC 或 DX10+2,前者对透明通道的保留更好。
更高级的玩家会用模组编辑器查看材质文件。打开材质文件的 .dds 贴图图像序列,你会发现每个节点都被标记成 “Alpha=1, Color=0”,这是一键切入点,让你能直观看到是因为 Armor Layer 的 Alpha 透明度被误判成 0。
说到皮肤的 “黑色” 状态,脏点在“AO (Ambient Occlusion)”也会搞不清楚。AO 贴图本来是用来制造阴影的,如果有误差,整个区域就会被归到最暗点,导致皮肤全黑。把 AO 设为“干净”,可是那点灰度会显得更逼真,一时之间你会怀疑自己走进了深夜漫步的社交媒体。
噢,提醒一句,如果你正打算给半透明皮肤加点炫彩,记得把材质参数中的 “Base Color” 与 “Emission” 分别提升。黑色若由两个偏向暗色的通道组合而成,就能避免像全身一身黑斗篷的困扰。
自从 2022 年的 RTX 3080 推出后,很多独立游戏改用 Ray Tracing(RTX)来获取更自然的光照。Ray Tracing 的光线追踪成本高,若启用 “轻量级阴影”,你在皮肤纹理上使用“Blender”时便能避免出现“全黑网格”。
某段时间,