Skip to content

纹理变体

本页面镜像自
BedrockWiki

根据原始项目协议授权。本文经过AI翻译处理,如有内容遗漏,可以提交PR进行补充。

方块纹理变体是指单个方块可以拥有多个纹理。这在需要表现细微差异的方块(如带有小石块的泥土或不同生长阶段的草方块)时非常实用。

要启用纹理变体功能,需在资源包的textures文件夹中创建terrain_texture.json文件。在方块定义中,纹理应设置为包含variations键的字典,该键对应一个由字典组成的数组。每个字典必须包含指向纹理文件的path键,并可添加weight参数控制纹理出现的概率。

应用纹理变体

以下是为泥土方块创建三种纹理变体的示例:

  • 在资源包中创建textures/terrain_texture.json文件
  • 在JSON文件中定义需要添加变体的方块,示例如下:
json
{
  "texture_name": "atlas.terrain",
  "resource_pack_name": "wiki", // 资源包ID
  "padding": 8, // 防止纹理视觉溢出
  "num_mip_levels": 4, // 远距离/倾斜视角下的纹理质量
  "texture_data": {
    "dirt": {
      "textures": {
        "variations": [
          { "path": "textures/blocks/dirt0" },
          { "path": "textures/blocks/dirt1" },
          { "path": "textures/blocks/dirt2" }
        ]
      }
    }
  }
}
  • 创建或修改三个泥土纹理文件,分别命名为dirt0.pngdirt1.pngdirt2.png
  • 将纹理文件放置于path参数指定的路径下(可添加子文件夹保持整洁)

权重控制变体分布

完成基础配置后,可通过添加权重值调整纹理出现概率:

json
{
  "texture_name": "atlas.terrain",
  "resource_pack_name": "wiki", // 资源包ID
  "padding": 8, // 防止纹理视觉溢出
  "num_mip_levels": 4, // 远距离/倾斜视角下的纹理质量
  "texture_data": {
    "dirt": {
      "textures": {
        "variations": [
          { "path": "textures/blocks/dirt0", "weight": 70 }, // 70%出现概率
          { "path": "textures/blocks/dirt1", "weight": 20 }, // 20%出现概率
          { "path": "textures/blocks/dirt2", "weight": 10 }  // 10%出现概率
        ]
      }
    }
  }
}

注意事项:

  • 当前版本存在纹理集文件引用问题,可能导致无法正确识别MER文件或常规纹理文件 -- 官方漏洞报告