方块模型英文wiki原文页面地址:http://minecraft.gamepedia.com/Block_models
方块模型(Block model)
所有模型(model)文件和状态(variant)文件都采用了后缀名为.json的格式。方块模型(block models)描绘游戏中所有的方块,物品模型(item medels)则表现了玩家手持、头戴(头盔和帽子)、掉落以及储存中的物品(item),并定义了这些物品储存时显示所用的图标。
1、状态文件(variant)
一些方块有多种不同的状态,每个方块都有自己的状态文件,其中罗列了这个方块存在的所有状态,并将它们与模型一一对应。这些文件都储存在assets/minecraft/blockstates目录下。你无法修改这些文件的文件名、以及其中罗列的方块状态,这是在游戏源代码中硬性确定的,在资源包中也同样适用。
根目录标签
┗━variants:包含方块的所有状态名称。
┗━A variant:每个状态的名称,由确切的方块状态组成并以“,(逗号)”分隔。只有1种状态的方块使用normal作为状态名称。每一个状态都有一个model(模型)属性。如果使用了多个模型,则模型的名称应该添加“_”后缀标签来区分
【注:这里有两个意思:一是指方块本身就有多种模型,像火把有“normal_torch”和“normal_torch_wall”,“_wall”就区分开这两个模型;二是你可以为同一状态指定多个模型,例如“normal_rail_flat”、“normal_rail_flat_1”、“normal_rail_flat_2”……,规定其出现的概率就可以实现随机材质的效果。】
┗━A model:包含了模型的各个属性。如果使用了多个模型,所有的模型会交替着随机出现。
┗━model:指定方块模型路径。起始路径为assets/minecraft/models/blocks
┗━x:旋转角度(90/180/270)。使模型沿着x轴以90度的旋转
┗━y:旋转角度(90/180/270)。模型沿着y轴以90度的旋转
┗━uvlock:true/false(默认),默认false时材质随方块旋转
┗━weight:数值,默认值为1。这个模型在游戏中使用的概率
例子:火把(Torch)
火把具有多种状态:它可以被放置在地面上,或者朝向不同方向放在墙上。这个例子是在assets/minecraft/blockstates目录下的torch.json文件。
文件: torch.json
{
"variants": {
"facing=up": { "model": "normal_torch" },
"facing=east": { "model":"normal_torch_wall" },
"facing=south": { "model":"normal_torch_wall", "y": 90 },
"facing=west": { "model":"normal_torch_wall", "y": 180 },
"facing=north": { "model":"normal_torch_wall", "y": 270 }
}
}
"facing=up"是火把放置在地上的状态,对应的模型是"normal_torch"。火把可以被放置在方块的四个侧面上,所以还有4个状态,分别是 "facing=east"、"facing=west"、"facing=south"和"facing=north",都使用"normal_torch_wall"作为模型,通过90度旋转来对齐方块侧面。
例子:草地方块(Grass Block)
草地方块有2个状态。这个例子取自文件grass.json,文件可以在assets/minecraft/blockstates目录下找到。
文件:grass.json
{
"variants": {
"snowy=false": [
{ "model": "grass_normal" },
{ "model": "grass_normal", "y": 90 },
{ "model": "grass_normal", "y": 180 },
{ "model": "grass_normal", "y": 270 }
],
"snowy=true": {"model": "grass_snowed" }
}
}
没有雪覆盖的状态(snowy=false),有4个model属性值使用了相同的模型"grass_normal",以90度沿y轴旋转。4个模型都使用同样的后缀标签“_normal”,所以在放置时都有25%机会出现。
方块模型(Block model)
所有模型(model)文件和状态(variant)文件都采用了后缀名为.json的格式。方块模型(block models)描绘游戏中所有的方块,物品模型(item medels)则表现了玩家手持、头戴(头盔和帽子)、掉落以及储存中的物品(item),并定义了这些物品储存时显示所用的图标。
1、状态文件(variant)
一些方块有多种不同的状态,每个方块都有自己的状态文件,其中罗列了这个方块存在的所有状态,并将它们与模型一一对应。这些文件都储存在assets/minecraft/blockstates目录下。你无法修改这些文件的文件名、以及其中罗列的方块状态,这是在游戏源代码中硬性确定的,在资源包中也同样适用。
根目录标签
┗━variants:包含方块的所有状态名称。
┗━A variant:每个状态的名称,由确切的方块状态组成并以“,(逗号)”分隔。只有1种状态的方块使用normal作为状态名称。每一个状态都有一个model(模型)属性。如果使用了多个模型,则模型的名称应该添加“_”后缀标签来区分
【注:这里有两个意思:一是指方块本身就有多种模型,像火把有“normal_torch”和“normal_torch_wall”,“_wall”就区分开这两个模型;二是你可以为同一状态指定多个模型,例如“normal_rail_flat”、“normal_rail_flat_1”、“normal_rail_flat_2”……,规定其出现的概率就可以实现随机材质的效果。】
┗━A model:包含了模型的各个属性。如果使用了多个模型,所有的模型会交替着随机出现。
┗━model:指定方块模型路径。起始路径为assets/minecraft/models/blocks
┗━x:旋转角度(90/180/270)。使模型沿着x轴以90度的旋转
┗━y:旋转角度(90/180/270)。模型沿着y轴以90度的旋转
┗━uvlock:true/false(默认),默认false时材质随方块旋转
┗━weight:数值,默认值为1。这个模型在游戏中使用的概率
例子:火把(Torch)
火把具有多种状态:它可以被放置在地面上,或者朝向不同方向放在墙上。这个例子是在assets/minecraft/blockstates目录下的torch.json文件。
文件: torch.json
{
"variants": {
"facing=up": { "model": "normal_torch" },
"facing=east": { "model":"normal_torch_wall" },
"facing=south": { "model":"normal_torch_wall", "y": 90 },
"facing=west": { "model":"normal_torch_wall", "y": 180 },
"facing=north": { "model":"normal_torch_wall", "y": 270 }
}
}
"facing=up"是火把放置在地上的状态,对应的模型是"normal_torch"。火把可以被放置在方块的四个侧面上,所以还有4个状态,分别是 "facing=east"、"facing=west"、"facing=south"和"facing=north",都使用"normal_torch_wall"作为模型,通过90度旋转来对齐方块侧面。
例子:草地方块(Grass Block)
草地方块有2个状态。这个例子取自文件grass.json,文件可以在assets/minecraft/blockstates目录下找到。
文件:grass.json
{
"variants": {
"snowy=false": [
{ "model": "grass_normal" },
{ "model": "grass_normal", "y": 90 },
{ "model": "grass_normal", "y": 180 },
{ "model": "grass_normal", "y": 270 }
],
"snowy=true": {"model": "grass_snowed" }
}
}
没有雪覆盖的状态(snowy=false),有4个model属性值使用了相同的模型"grass_normal",以90度沿y轴旋转。4个模型都使用同样的后缀标签“_normal”,所以在放置时都有25%机会出现。


o








