部件可见性
在模型 JSON 顶层添加 visibility,可以控制模型各部件是否烘焙进最终的 BakedModel。何谓“部件”取决于模型加载器,自定义加载器可以完全忽略此字段。Forge 提供的加载器中,只有组合模型加载器和 OBJ 模型加载器使用该功能。条目格式为 "部件名称": boolean。
原创说明图,依据 Forge 1.21.x 官方文档 绘制。
下面的组合模型有两个部件,第二个不会烘焙到最终模型。两个子模型覆盖可见性,分别只显示第二个部件和显示两个部件(原文说明“只显示第一个”,但示例实际设置为只显示第二个):
以下带注释的示例用于说明结构;实际 JSON 文件不支持注释和省略号,应移除并补全。
// mycompositemodel.json
{
"loader": "forge:composite",
"children": {
"part_one": { "parent": "mymod:mypartmodel_one" },
"part_two": { "parent": "mymod:mypartmodel_two" }
},
"visibility": { "part_two": false }
}
// mycompositechild_one.json
{
"parent": "mymod:mycompositemodel",
"visibility": { "part_one": false, "part_two": true }
}
// mycompositechild_two.json
{
"parent": "mymod:mycompositemodel",
"visibility": { "part_two": true }
}
部件可见性由模型自身的设置决定;如果没有,则递归检查父模型,直到找到条目或没有父模型。后一种情况默认为 true。
这样可以让多个模型使用同一组合模型的不同部件:组合模型指定多个组件;多个模型将其设为父模型;各子模型分别指定不同的部件可见性。
原文:Part Visibility。