700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 我的世界服务器修改物品模型 教程/修改实体模型 _ 《我的世界》中文Minecraft Wik

我的世界服务器修改物品模型 教程/修改实体模型 _ 《我的世界》中文Minecraft Wik

时间:2021-06-09 15:55:11

相关推荐

我的世界服务器修改物品模型 教程/修改实体模型 _ 《我的世界》中文Minecraft Wik

该文章需要整理以符合样式标准。

请帮助 优化文章样式来让它符合样式要求。

此特性为基岩版独有。

本教程是对官方支持的附加包来修改的。

概括

本教程是对于高级用户编写的!普通用户请不要轻易尝试! 请您熟悉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 ]). 身体将会使用被框起的部分作为材质.

mirror

布尔值,可设置为true或false。如果填true,游戏会根据UV位置映射对应的部位。

inflate

使这部分肢体成倍数增大(可为小数或负数)

骨骼动画

骨骼是我们用来制作模型的。把它想象成一具骷髅!在人体中,骨骼是由肌肉运动的,而你的肌肉也随着肌肉运动。在3D动画中,骨骼是由动画移动的,而动画反过来又会移动附着在骨骼上的几何图形!

重要注意事项

模型还不是完全由数据驱动的。虽然可以更改模型的内容,但是仍然有一些硬编码的值,比如:一个实体需要哪些骨骼,一个实体用什么材料呈现,以及一个实体有什么动画。这意味着你不能只是复制和粘贴几何形状从村民到蜘蛛部分,并希望它工作!在这个系统变得更加数据驱动之前,您需要做一些实验来达到您想要的结果!

确保你的骨骼名称正确!实体的骨骼名称应该与Minecraft-vanilla资源包中的骨骼名称相同。模型的动画和渲染依赖于上述信息的正确性!

修改苦力怕

现在我们已经了解了Minecraft模型格式是如何设置的,让我们稍微修改一下creeper。我们要让他有3个正面,2个在底部,1个堆在顶部,像金字塔一样。

1.13之前的版本

首先,在Vanilla Minecraft的Vanilla包里 mobs.json找到geometry.creeper区复制下来。

Vanilla Resource Pack/models/mobs.json

在资源包中创建一个名为models的文件夹

创建一个名为mobs.json 的新json文件并将其保存到新模型文件夹中。

输入一对大括号({ })在你新建的 mobs.json 然后粘贴geometry.creeper 。

现在,让我们先把它原来的头向左移一点。为了做到这一点,我们要改变骨头命名的原点的x分量"head" 从 -4 到 -8.

现在将 "cubes" 复制到 "head"的方括号中。. 这时文本应该是灰色的。

mobs.json – geometry.creeper – head section

{

"name": "head",

"pivot": [ 0.0, 18.0, 0.0 ],

"cubes": [

{

"origin": [ -8.0, 18.0, -4.0 ],

"size": [ 8, 8, 8 ],

"uv": [ 0, 0 ]

}

]

},

在你复制的行后面加上一个逗号。

粘贴你在逗号后面复制的行

在刚刚粘贴的行后面加一个逗号

在新逗号后再次粘贴复制的行

你现在应该有3对大括号在 "cubes" 每个都有一个原点,大小和uv对象

在复制的第一行中,我们将把原点的x分量从-8改变为0,向右移动

在第二个副本中,将原点的x分量改为-4,y分量改为26

苦力怕的头部部分现在应该看起来像(新文本为灰色):

mobs.json – geometry.creeper – head section

{

"name": "head",

"pivot": [ 0.0, 18.0, 0.0 ],

"cubes": [

{

"origin": [ -8.0, 18.0, -4.0 ],

"size": [ 8, 8, 8 ],

"uv": [ 0, 0 ]

},

{

"origin": [ 0.0, 18.0, -4.0 ],

"size": [ 8, 8, 8 ],

"uv": [ 0, 0 ]

},

{

"origin": [ -4.0, 26.0, -4.0 ],

"size": [ 8, 8, 8 ],

"uv": [ 0, 0 ]

}

]

},

注意,我们不需要改变新头像的UV因为我们复制了旧头像的UV坐标我们没有给新头像添加不同的纹理。

结果

三个头的 苦力怕 .

修改其他生物

如果要更改另一个实体的模型,请确保在右大括号后面加上逗号 geometry.creeper.

伪代码示例

别忘了逗号!(红色突出显示)

{

"geometry.creeper": {

// model stuff

},

"geometry.chicken": {

// model stuff

}

}

1.13及以后版本

首先,在Vanilla Minecraft的Vanilla包里找到models/entity/creeper.geo.json打开,并复制它的全部内容

在资源包中创建一个名为models的文件夹

接着创建一个名为entity的文件夹

创建一个名为creeper.geo.json的新json文件并将其保存到entity文件夹中。

打开你新建的 creeper.geo.json 然后粘贴你复制的内容,它看起来应该是这样的

{

"format_version": "1.8.0",

"geometry.creeper": {

"visible_bounds_width": 1,

"visible_bounds_height": 2,

"visible_bounds_offset": [ 0, 0.75, 0 ],

"texturewidth": 64,

"textureheight": 32,

"bones": [

{

"name": "body",

"cubes": [

{

"origin": [ -4.0, 6.0, -2.0 ],

"size": [ 8, 12, 4 ],

"uv": [ 16, 16 ]

}

]

},

{

"name": "head",

"parent": "body",

"pivot": [ 0.0, 18.0, 0.0 ],

"cubes": [

{

"origin": [ -4.0, 18.0, -4.0 ],

"size": [ 8, 8, 8 ],

"uv": [ 0, 0 ]

}

]

},

{

"name": "leg0",

"parent": "body",

"pivot": [ -2.0, 6.0, 4.0 ],

"cubes": [

{

"origin": [ -4.0, 0.0, 2.0 ],

"size": [ 4, 6, 4 ],

"uv": [ 0, 16 ]

}

]

},

{

"name": "leg1",

"parent": "body",

"pivot": [ 2.0, 6.0, 4.0 ],

"cubes": [

{

"origin": [ 0.0, 0.0, 2.0 ],

"size": [ 4, 6, 4 ],

"uv": [ 0, 16 ]

}

]

},

{

"name": "leg2",

"parent": "body",

"pivot": [ -2.0, 6.0, -4.0 ],

"cubes": [

{

"origin": [ -4.0, 0.0, -6.0 ],

"size": [ 4, 6, 4 ],

"uv": [ 0, 16 ]

}

]

},

{

"name": "leg3",

"parent": "body",

"pivot": [ 2.0, 6.0, -4.0 ],

"cubes": [

{

"origin": [ 0.0, 0.0, -6.0 ],

"size": [ 4, 6, 4 ],

"uv": [ 0, 16 ]

}

]

}

]

},

"geometry.creeper.charged": {

"visible_bounds_width": 1,

"visible_bounds_height": 2,

"visible_bounds_offset": [ 0, 0.75, 0 ],

"texturewidth": 64,

"textureheight": 32,

"bones": [

{

"name": "body",

"cubes": [

{

"origin": [ -4.0, 6.0, -2.0 ],

"size": [ 8, 12, 4 ],

"uv": [ 16, 16 ]

}

],

"inflate": 2.0

},

{

"name": "head",

"parent": "body",

"pivot": [ 0.0, 18.0, 0.0 ],

"cubes": [

{

"origin": [ -4.0, 18.0, -4.0 ],

"size": [ 8, 8, 8 ],

"uv": [ 0, 0 ]

}

],

"inflate": 2.0

},

{

"name": "leg0",

"parent": "body",

"pivot": [ -2.0, 6.0, 4.0 ],

"cubes": [

{

"origin": [ -4.0, 0.0, 2.0 ],

"size": [ 4, 6, 4 ],

"uv": [ 0, 16 ]

}

],

"inflate": 2.0

},

{

"name": "leg1",

"parent": "body",

"pivot": [ 2.0, 6.0, 4.0 ],

"cubes": [

{

"origin": [ 0.0, 0.0, 2.0 ],

"size": [ 4, 6, 4 ],

"uv": [ 0, 16 ]

}

],

"inflate": 2.0

},

{

"name": "leg2",

"parent": "body",

"pivot": [ -2.0, 6.0, -4.0 ],

"cubes": [

{

"origin": [ -4.0, 0.0, -6.0 ],

"size": [ 4, 6, 4 ],

"uv": [ 0, 16 ]

}

],

"inflate": 2.0

},

{

"name": "leg3",

"parent": "body",

"pivot": [ 2.0, 6.0, -4.0 ],

"cubes": [

{

"origin": [ 0.0, 0.0, -6.0 ],

"size": [ 4, 6, 4 ],

"uv": [ 0, 16 ]

}

],

"inflate": 2.0

}

]

}

}

现在,让我们先把它原来的头向左移一点。为了做到这一点,我们要改变骨头命名的原点的x分量"head." 从 -4 到 -8.

现在将 "cubes" 复制到 "head."的方括号中。这时文本应该是灰色的。

creeper.geo.json – geometry.creeper – head section

{

"name": "head",

"pivot": [ 0.0, 18.0, 0.0 ],

"cubes": [

{

"origin": [ -8.0, 18.0, -4.0 ],

"size": [ 8, 8, 8 ],

"uv": [ 0, 0 ]

}

]

},

在你复制的行后面加上一个逗号。

粘贴你在逗号后面复制的行

在刚刚粘贴的行后面加一个逗号

在新逗号后再次粘贴复制的行

你现在应该有3对大括号在 "cubes." 每个都有一个原点,大小和uv对象

在复制的第一行中,我们将把原点的x分量从-8改变为0,向右移动

在第二个副本中,将原点的x分量改为-4,y分量改为26

苦力怕的头部部分现在应该看起来像(新文本为灰色):

creeper.geo.json – geometry.creeper – head section

{

"name": "head",

"pivot": [ 0.0, 18.0, 0.0 ],

"cubes": [

{

"origin": [ -8.0, 18.0, -4.0 ],

"size": [ 8, 8, 8 ],

"uv": [ 0, 0 ]

},

{

"origin": [ 0.0, 18.0, -4.0 ],

"size": [ 8, 8, 8 ],

"uv": [ 0, 0 ]

},

{

"origin": [ -4.0, 26.0, -4.0 ],

"size": [ 8, 8, 8 ],

"uv": [ 0, 0 ]

}

]

},

注意,我们不需要改变新头像的UV因为我们复制了旧头像的UV坐标我们没有给新头像添加不同的纹理。

结果

三个头的 苦力怕 .

修改其他生物

* 回到你新建的models/entity文件夹中。

* 新建一个名字叫生物的英文.geo.json并重复以上操作。如cow.geo.json

总结

恭喜你!

如果您已经做到了这一点,那么现在您应该已经知道了制作您自己的实体模型所需要知道的一切!

基岩版

版本

携带版

Windows 10版

Microsoft HoloLens

Oculus Rift

Gear VR版

Apple TV版

Fire TV版

树莓派版

教育版

开发

版本记录

Alpha

计划版本

未使用特性

独有特性

提及特性

开发版本

技术性

已知漏洞

数据值

实体组成

硬件性能

世界格式

附加包

方块实体

命令

坐标

种子

sound_definitions.json

常加载区域

多人游戏

服务器

Realms

精选服务器

服务器列表

独有特性

精选服务器

VR

商城

皮肤包

材质包

混搭包

音乐

世界类型

旧世界类型

生成结构

边境之地

条纹之地

方块与物品

隐形的基岩

未使用

数据更新方块

Reserved6

下界反应核

发光的黑曜石

切石机

已移除

下界反应器

相机

我的世界服务器修改物品模型 教程/修改实体模型 _ 《我的世界》中文Minecraft Wiki:最详细的官方我的世界百科...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。