方块模型
虽然自定义方块无法使用原版的方块形状,但我们可以创建遵循实体模型类似格式的自定义模型。本教程将引导你使用Blockbench为"纸袋"创建自定义方块模型。通过本教程,你将学习到针对创建自定义方块的Minecraft几何体主要特性。
注意: 自定义方块模型必须符合模型尺寸限制。
模型设置
打开Blockbench并创建一个新的Bedrock Block项目。

现在你可以为模型设置标识符!文件名可以在此处决定,也可以稍后修改。
UV模式和纹理尺寸应保持不变。
命名空间
模型标识符不包含命名空间且不能包含冒号。冒号曾用于模型继承,在现代几何体格式中无效。

添加立方体
尽管不一定是完美的立方体形状,模型中的元素仍被称为立方体。所有立方体必须包含在作为分组的骨骼中。
首先,让我们通过点击Add Group在轮廓图中为模型创建一个根骨骼。按F2可重命名骨骼。

"纸袋"模型需要两个立方体:一个用于提手,一个用于主体。可以通过选择根骨骼并点击Add Cube来添加。

可以通过顶部工具栏移动、调整大小和旋转立方体。以下是我的"paper_bag"模型将使用的两个立方体。

移除面
某些立方体的面可能不需要显示。在我的示例中,应移除纸袋的顶面以便看到内部。
要移除面,在预览中点击它并移除其UV。

此外,提手只有南北面应该可见。可以通过按住Ctrl键同时在UV面板中点击面名称来选择多个面。

预览纹理
TIP
可以通过点击Create Texture并选择Blank在Blockbench中创建纹理。
"paper_bag"模型有多个预制纹理,如下所列:
textures/blocks/paper_bag.png
textures/blocks/paper_bag_bottom_fold.png
textures/blocks/paper_bag_side_gusset.png
这些可以导入Blockbench并拖到每个适当的方块面上,尽管它们可能看起来不太对...

调整UV
为了使纹理位置正确,可能需要重新定位/调整面的UV映射。可以通过选择受影响的面并使用UV面板来完成。


更改材质实例
应用自定义材质实例名称可以轻松定义某些面的渲染方式。
可以通过右键点击立方体并打开Edit Material Instances来编辑。

对于"paper_bag"模型,东西面应有自己的纹理。我们可以通过给它们一个材质实例来表明这一点。

应用几何体和纹理
从文件 > 导出 > 导出Bedrock几何体导出到RP/models/blocks文件夹后,可以在方块JSON中引用模型。
然后,纹理可以通过其RP/textures/terrian_texture.json短名称通过材质实例应用。在此示例中,paper_bag不应阻挡光线,因此其光线衰减设置为0。
BLOCKS.JSON
在方块中添加minecraft:geometry会导致游戏忽略RP/blocks.json中的纹理定义。
如果在该文件中定义了方块的纹理,请确保将它们迁移到minecraft:material_instances以使它们显示。
{
"format_version": "1.21.70",
"minecraft:block": {
"description": {
"identifier": "wiki:paper_bag",
"menu_category": {
"category": "items"
}
},
"components": {
// 通过引用其标识符应用模型
"minecraft:geometry": "geometry.paper_bag",
// 应用纹理和其他渲染配置
"minecraft:material_instances": {
"*": {
"texture": "wiki:paper_bag",
"render_method": "alpha_test" // 禁用背面剔除并允许透明度
},
"down": {
"texture": "wiki:paper_bag_bottom_fold",
"render_method": "alpha_test" // 所有实例中必须相同
},
// 模型中使用的自定义实例名称
"side_gusset": {
"texture": "wiki:paper_bag_side_gusset",
"render_method": "alpha_test" // 所有实例中必须相同
}
},
// 防止阴影
"minecraft:light_dampening": 0
}
}
}下一步?
贡献者
编辑 方块模型本页面上的文本和图像内容根据 知识共享署名 4.0 国际许可协议
本页中的代码示例根据 MIT 许可证



