材质贴图

材质贴图

资源包中方块和物品的正常与高度贴图支持,无需着色器即可实现。

MaterialMaps

让您的纹理看起来凹凸有致,而非平面呆板。无需光影包。

客户端模组 · 兼容 Sodium


在 Minecraft 中,每个方块表面都是一个完美平坦的正方形。石头、砖块、砾石——纹理看起来粗糙,但表面本身是光滑的,因此光线照射到所有部分的方式完全相同。这就是方块看起来像贴纸的原因。

MaterialMaps 解决了这个问题。 许多 HD 资源包已经为每个纹理包含了一张额外的隐藏图像,表明“这个像素凸起,那个像素凹陷”。通常只有光影包才能读取这些信息。MaterialMaps 自行读取它们,因此每个凸起都能从正确方向捕捉光线并投射出自己的小阴影。石头看起来是雕刻的,砖块看起来是堆叠的,砾石看起来像是真正的砾石。

  • 无需光影包 — 不需要 Iris、OptiFine,也不会大幅降低 FPS
  • 仍然保持原版风格 — 没有泛光、没有颜色变化、没有花哨的天空。只有深度
  • 兼容您已有的资源包 — 如果您的资源包支持此功能,启用模组即可完成

我需要特殊的资源包吗?

是的 — MaterialMaps 只在资源包提供相应数据的地方添加细节。诸如 Prime's HD Textures 这类 HD 资源包支持此功能。使用纯原版资源包时,不会有任何变化。

仍在大力开发中! MaterialMaps 可以正常工作,但它还很年轻。尚不能保证与大型渲染模组的兼容性。非常欢迎提交错误报告。

对比

截图使用 Prime's HD Textures 拍摄

使用与未使用该模组的同一世界的图片

特性

  • 方块法线贴图 — 通过专用渲染路径直接应用于地形,因此原版区块几何结构保持不变。
  • 物品法线贴图 — 手持、掉落和背包中的物品获得相同处理。
  • 高度贴图 — 当纹理有 _h.png 但没有 _n.png 时,MaterialMaps 会在资源重载期间在内存中生成切线空间法线贴图。
  • LabPBR 1.3 支持 — 识别配对的 _n.png 和 _s.png 贴图;从 LabPBR 法线贴图中读取法线 X/Y 和环境光遮蔽,其 alpha 通道保留为内嵌高度数据。
  • 维度感知光照 — 太阳和月亮的方向随您所在的维度而变化。
  • 实验性视差 — 对附近的实体和镂空面进行有界高度采样,可选凹边着色和体素式纹理单元浮雕效果。
  • 原版回退 — 任何 MaterialMaps 无法安全渲染的内容都会直接交还给原版渲染,并记录原因。

兼容性

Sodium — 通过专用的地形适配器支持(Sodium 0.9.x)。Iris — 可选。当 Iris 光影包激活时,MaterialMaps 会自行禁用以避免冲突。Fabric API — 必需。

MaterialMaps 是纯客户端模组 — 您可以携带它加入任何服务器。

配置

通过 ModMenu 打开设置,或在安装了 Sodium 时通过 视频设置 → MaterialMaps 打开。

渲染 — 切换方块和物品法线贴图、高度贴图生成和原版回退。光照 — 法线强度 控制法线贴图扰动表面的程度,环境光强度 设置最小的细节光照,方向光强度 设置方向对比度。实验性 — 视差、视差深度缩放、凹边和体素式纹理单元浮雕。调试 — 方块和物品的法线贴图、世界法线和光照调试视图,以及渲染统计信息。

命令

用于在游戏内诊断资源包:

/materialmaps summary [blocks|items]   显示检测到的内容总览
/materialmaps inspect <material>       显示某个纹理、方块或物品找到的贴图
/materialmaps validate                 列出资源包警告和错误
/materialmaps renderstats              渲染诊断信息
/materialmaps dump                     将完整的材质索引写入文件
/materialmaps reload                   重建索引和法线图集

面向资源包作者

命名约定

将贴图放在基础纹理旁边,使用 _n 和 _h 后缀:

assets/minecraft/textures/block/stone.png
assets/minecraft/textures/block/stone_n.png
assets/minecraft/textures/block/stone_h.png

assets/minecraft/textures/item/iron_pickaxe.png
assets/minecraft/textures/item/iron_pickaxe_n.png

值得了解的规则:

  • 显式法线贴图始终优先于高度贴图。
  • 仅当高度贴图已启用且不存在 _n.png 文件时,高度贴图才用于生成法线。
  • 贴图必须与其基础纹理的尺寸匹配,否则会被跳过。
  • LabPBR 资源包可以提供 _n.png + _s.png 贴图对。
  • 仅扫描 textures/block 和 textures/item 目录。

在制作过程中运行 /materialmaps validate 以捕获孤立贴图和尺寸不匹配问题,并在设置中启用严格验证以将更多问题视为硬错误。

视差说明

实验性视差选项对附近的实体和镂空方块面应用有界高度采样。它会在 24 到 32 格之间逐渐淡出,并保持对半透明图层禁用。镂空方块保持其原始的 Alpha 测试轮廓。这是一个轻量级原型 — 没有真正的几何或轮廓位移。

测试资源包

仓库中包含一个小型开发资源包 materialmaps-test-pack。运行客户端,在资源包界面中启用它,然后检查钻石、铁锭或木棍,即可看到物品路径的实际效果。

需求

  • Minecraft 26.2
  • Fabric Loader 0.19.3+
  • Fabric API

AI 使用声明

本项目并非每一行代码都 100% 由人类编写。AI 已被用作研究工具和编程辅助。