当前位置:首页 > CN2资讯 > 正文内容

我的世界java模型编辑器

4天前CN2资讯


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

此特性为基岩版独有。

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

概括

本教程是对于高级用户编写的!普通用户请不要轻易尝试! 请您熟悉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

下界反应核

发光的黑曜石

切石机

已移除

下界反应器

相机

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/22210.html

    分享给朋友:

    “我的世界java模型编辑器” 的相关文章

    CUII工业互联网平台:助力企业实现智能制造与数字化转型

    CUII的定义与背景 CUII,全称为China Unicom Industrial Internet,是中国联通精心打造的工业互联网平台。它的诞生源于对智能制造领域不断增长的需求,特别是在网络通信基础设施方面。中国联通意识到,随着工业4.0的推进,传统的网络解决方案已无法满足现代工业对高质量、高安...

    搬瓦工(BandwagonHost)VPS指南:选择适合你的方案与实用技巧

    搬瓦工(BandwagonHost)是一家在VPS领域颇具声望的提供商。作为杭州的一家企业,搬瓦工致力于为用户提供高性价比的虚拟专用服务器服务,在业内吸引了大量的关注和客户。 说到搬瓦工的优势,机房和线路的多样性是一个重要因素。它在多个国家设有数据中心,包括香港、美国和日本等地。这种广泛的选择使用户...

    腾讯云学生福利:低价云服务助力学生云计算学习

    在当今信息技术飞速发展的时代,云计算已成为重要的学习与开发工具。腾讯云紧跟时代步伐,为学生群体量身定制了一系列服务和优惠政策。我很高兴看到这样一个平台,尤其是在我们学习云计算和相关技术的过程中,它为我们提供了极大的便利。 腾讯云的学生服务旨在帮助我们更好地学习和实践云计算技术。通过这些服务,学生能够...

    甲骨文云注册:详细流程与免费试用攻略

    甲骨文云注册概述 甲骨文云介绍和服务特点 我对甲骨文云的首要印象是它独一无二的服务。甲骨文云不仅提供高性能的VPS服务器,还给予用户一个轻松的起步体验。其主要服务包括两台配置为1核1G内存、50G硬盘和10T流量的AMD VPS,还有一台配置为4核24G内存、100G硬盘、10T流量的ARM VPS...

    选择Lisahost VPS服务,提升您海外电商、游戏和流媒体体验

    Lisahost 是一家于 2020 年 1 月成立的 VPS(虚拟专用服务器)提供商,专注于为全球用户提供高质量的云服务。我发现它的目标市场覆盖了包括香港、台湾、韩国、日本、新加坡、美国和英国等多个地区。作为一家新兴企业,lisahost 用创新的服务模式和多样化的产品,为需要高效网络及流畅访问的...

    /16子网掩码的配置与应用指南 | 实现高效网络管理

    为什么选择/16的子网掩码 选择/16的子网掩码常常让人感到有些陌生。对我来说,这个数字不仅仅是一个技术参数,它蕴含着网络设计的深刻意义。首先,子网掩码的基本概念就如同我们在城市中划分区域,/16实际上表示有65536个可用IP地址。这么广阔的空间对于需要大量设备联网的环境,如企业或大型组织,尤其重...