该文章需要整理以符合样式标准。
请帮助 优化文章样式来让它符合样式要求。
此特性为基岩版独有。
本教程是对官方支持的附加包来修改的。
概括
本教程是对于高级用户编写的!普通用户请不要轻易尝试! 请您熟悉JSON的数据格式。如果您并不熟悉的话,请阅读行为附加包教程的JSON部分。在本教程中,我们将涉及:
Minecraft的JSON模型格式
如何去修改模型
所需时间
30 分钟
所需工具
一个文本编辑器
任何的文本编辑器应该都是可以的,但是我们建议您使用用于编程的IDE软件。Notepad++是一个优秀且免费还带有多编程语言高亮显示支持的编辑器。你可以在 这里下载Notepad++ 。
入门
在本教程中我们将使苦力怕有3个头。但是在修改苦力怕之前,我们来看看组成模型的代码。
Minecraft模型格式
1.13之前的版本
Minecraft的实体建模由JSON语言编程,模型由mobs.json这个.json文件决定。你可以在Vanilla Minecraft资源包找到它,路径为Vanilla Resource Pack/models/mobs.json。这些文件包含了所有Minecraft中实体的模型代码。模型代码们看起来是这个样子的:
实体模板的伪代码
“geometry.entityname”: {
“texturewidth”: x,
“textrueheight”: y,
“bones”: [
{
“name”: “body part name”,
“pivot”: [ x, y, z ],
“cubes”: [
{
“origin”: [ x, y, z ],
“size”: [ x, y, z ],
“uv”: [ x, y ]
}
]
}
]
}
注: 这只是一个参考例子,不是一个可用的实体模型。使用它作为代码是没用的!
1.13及之后版本
Minecraft的模型仍然由JSON语言编写,不过从models/mobs.json的单一文件变为如图的文件结构。可以在Vanilla Resource Pack/models/entity中找到它们。生物模型被从mobs.json中分离为单一文件,命名方式为name(实体名称).geo.json,但仍有部分实体被留在了mobs.json中。
JSON语言解释
geometry.entity
这个是要修改的实体的名称
texturewidth
宽度单位,1个像素
textureheight
长度单位,1个像素
bones
骨骼模型运动的动画,它包含了使几何体运转的信息。注:但这也有局限性,他只能使包含在源代码骨骼动画清单的骨骼部分运。
name
骨骼动画的名称
pivot
轴位置是实体肢体的旋转中心。例如:苦力怕的头是能绕着这一点旋转的方形构成。
rotation
旋转实体的部分在xyz轴上。注: 游戏可能会以动画覆盖包含动画的对象。
mirror
布尔值,可设置为true或false。如果填true,游戏会根据UV位置映射对应的肢体。
cubes
如果几何没有骨骼动画,写入此关键符并键入要映射的动画肢体名,即可赋予几何动画。
origin
几何体的位置和实体模型的起点位置有关。 注: 这个点在模型的左前下角。
例如: 这个苦力怕身体的红色顶点,就是这个身体的模型位置。
size
几何体的大小。注: 16x16x16是一个方块的大小!(中文补充:它和肢体大小确实有关,但是只是用来确认肢体材质位置的,放大用inflate见下文)
uv
这个是实体肢体材质的起点。
注:这是规定x(横轴),y(纵轴)轴的第一个点 注:这个点应该是一个实体的某个肢体材质的区域的左上角。 例如: 这个红点是你想做成苦力怕”body”(身体,因为是代码不译)的UV 做成点。 (“uv”: [ 16, 16 ]). 身体将会使用被框起的部分作为