方块纹理变体
intermediate
方块纹理变体是指同一种方块类型可以拥有多个纹理,这些纹理会根据方块在世界中的位置随机应用。这个功能对于泥土或草方块等非常实用,可以让某些方块呈现细微差异(比如带有小石子),而其他方块则保持原貌。
已知问题:
- 引用纹理集文件的变体不会使用已定义的高度图、MER或法线贴图文件(MCPE-126617)。
应用纹理变体
要启用纹理变体功能,需要在资源包的textures文件夹中创建terrain_texture.json文件。
该文件包含方块纹理列表。具有变体的方块纹理会包含一个variation参数,这是一个包含不同纹理的数组,这些纹理会随机显示在方块上。通过使用weight参数,可以控制某些纹理变体比其他变体更常见(参见下文)。
以下是创建3种泥土方块纹理变体的示例:
- 创建或修改三个泥土纹理,分别命名为
dirt0.png、dirt1.png和dirt2.png - 将这三个纹理文件复制到路径变量指定的位置(如需整理,可以存放在子文件夹中)
- 在泥土纹理条目中添加以下内容:
RP/textures/terrain_texture.json
json
{
"resource_pack_name": "wiki",
"texture_name": "atlas.terrain",
"texture_data": {
"dirt": {
"textures": {
"variations": [
{ "path": "textures/blocks/dirt0" },
{ "path": "textures/blocks/dirt1" },
{ "path": "textures/blocks/dirt2" }
]
}
}
}
}加权纹理变体
使用上述示例后,您可能需要调整权重。按以下方式编辑terrain_texture.json文件添加权重字段:
计算某个纹理变体出现的概率时,先将所有权重相加(本例中70+20+10=100),然后用该权重除以总和。例如dirt0变体被选中的概率是70÷100,意味着在世界中放置泥土方块时,70%的位置会显示dirt0纹理。
RP/textures/terrain_texture.json
json
{
"resource_pack_name": "wiki",
"texture_name": "atlas.terrain",
"texture_data": {
"dirt": {
"textures": {
"variations": [
{ "path": "textures/blocks/dirt0", "weight": 70 },
{ "path": "textures/blocks/dirt1", "weight": 20 },
{ "path": "textures/blocks/dirt2", "weight": 10 }
]
}
}
}
}




