> For the complete documentation index, see [llms.txt](https://inrhor.gitbook.io/modelengine-wen-d/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://inrhor.gitbook.io/modelengine-wen-d/create/createmodel.md).

# 制作一个模型

## 创建项目

BlockBench支持制作基岩模型和设置基岩模型的动画，这就是我们想要做的

首先我们创建一个项目，选择 新建基岩版模型

![](/files/-ME1vJuwBpqzVuVr5ipe)

填写文件名，就是模型ID

关闭 盒子UV

![](/files/-ME1vqPeGjB-vh42VzQc)

{% hint style="warning" %}
在继续建模之前，请了解以下内容
{% endhint %}

## Bone 和 Cube | 部件和元素

建模时，要了解 Bone 和 Cube 之间的差异

{% hint style="info" %}
这里我们将 **Bone** 命名为 **部件** ， **Cube** 命名为 **元素** 吧
{% endhint %}

部件是元素的集合（多元素组成部件）

模型是部件的集合（多部件组成模型）

一个模型是通过多个盔甲架组成的，每个盔甲架是一个部件，盔甲架包含着物品模型

在BlockBench译文里，**部件**是**组**，**元素**是**立方体**

{% hint style="info" %}
所以
{% endhint %}

**元素**要遵循Minecraft物品模型的限制（因为它相当于）：

（事实上，在BlockBench的Java模型设计中能体会到的，在基岩模型设计中不能体会）

* 只能以22.5度增量旋转
* 角度只能在45到-45之间
* 只能在一个轴上旋转
* 不能大于48x48x48

而**部件**受到限制很少（因为它相当于一个盔甲架）：

* 可以自由旋转
* 可以在多个轴上旋转
* 不能大于48x48x48（要大于此尺寸，则使用 [Position父子模型](/modelengine-wen-d/create/createmodel.md#position-fu-zi-mo-xing) 方法）

你可以操控部件（元素的集合）直接操控部件模型

由于每个盔甲架是一个部件，则请保持部件和元素的平衡（不要花里胡哨的旋转之类，在后面动画中可以设置），即使要选择，请遵循元素的旋转限制规定（不过在动画不受旋转限制）

让开始开始，创建组，并添加立方体

![](/files/-ME24KC_M9edbtUj9bXe)

让我们制作一个简单的模型，看这个KindletronJR

![](/files/-ME253UoTsjb_aSqwgzd)

{% hint style="warning" %}
注意，建模时，注意模型脚下的网格，确保模型朝向 N

网格也是Minecraft的地面，如果你希望模型站立在地面，请让脚部接触网格
{% endhint %}

## Position | 父子模型

这不是教育孩子之类

在模型引擎中，单独的部件（子部件）可以添加到另一个部件（父部件）中，并且子部件随父部件移动和旋转

![](/files/-ME27vmEirSowY6NIbLu)

torso组是父部件，它所包含的组是子部件（h\_head, rightArm等等）

子部件连接着父部件的元素

## Pivot | 轴

在BlockBench译文中，就是**枢轴工具**

每个部件都有一个轴。它决定了部件旋转的位置

例如 rightArm部件在旁边的其身体部件旋转，则请将轴放置在身体部件旁边，如图

![](/files/-ME2A4apBdRVmjtZvhrw)

{% hint style="danger" %}
如果不正确地使用枢轴，那么在游戏中动画处理时会进行错误地旋转
{% endhint %}

枢轴工具在这里

![](/files/-ME2AWfW5_VcrICTMHj9)

## Head Rotation | 头部旋转

当生物看着你时，头部会转向你，而身体静止不动

这样地效果也可以在这个模型引擎中做到

默认情况下，所有部件会随身体旋转

当你希望部件像头部那样旋转，那么你要做的是对这个部件的名称前面添加 **h\_**

![](/files/-ME2BefS32YyJCeGMVFF)

一个模型也可以有多个头部，元素头部的名称前面就需要添加 **h\_**

## Hitbox and Head Height | 打击箱和头部高度

创建模型后，剩下的是为模型分配一个打击箱和头部高度

打击箱也就是我们所说的碰撞箱，具有可被玩家点击和碰撞效果，哪怕只是尾巴，都能点击到模型的尾巴

{% hint style="danger" %}
如果不设置打击箱，模型就没有碰撞的概念，永远跌落于虚空中
{% endhint %}

头部高度是告诉模型引擎这个模型有多高。当生物矮时，它会抬头看你。高的时候，它低头看你

头部高度允许你设置模型的准确高度

创建组命名为 hitbox ，并且添加一个元素（必须），然后调整宽度和高度大小和位置

其中Y轴是头部高度

别忘了设置轴的位置

{% hint style="danger" %}
提示：Reason: Eye height is under ground level. \[0.0]

说明你的hitbox部件的轴在地下，请将其轴移到眼睛位置
{% endhint %}

![](/files/-ME2I7kezcJVKjiaPegd)

模型引擎会采取X和Y数据，不会采取Z数据

{% hint style="success" %}
那么你完成了模型的制作（不正确的话，后台会输出信息，指出错误）
{% endhint %}

{% hint style="danger" %}
别忘了关闭Box UV，[我们在开始时就讲过了](/modelengine-wen-d/create/createmodel.md#chuang-jian-xiang-mu)
{% endhint %}

## 导出模型

选择导出基岩模型和纹理贴图

![](/files/-ME2JUsGqlwL3uV-hNma)

命名文件为 **模型ID.json**

{% hint style="danger" %}
**不是**kindletronjr.geo.json，而是kindletronjr.json
{% endhint %}

{% hint style="warning" %}
模型格式：模型ID.json

纹理贴图：模型ID.png
{% endhint %}

![](/files/-ME2Jo0pwypfRHaeHxZh)

## 放入模型包

将json文件拖到插件目录中的**entities**文件夹

纹理贴图拖入resource pack/assets/\<namespace>/textures/entity

{% hint style="info" %}
\<namespace>决定于[配置中Namespace的值](/modelengine-wen-d/plugin/config.md)
{% endhint %}

然后通过命令 /meg reload models 重载模型配置

重载完毕后，自动为你生成材质资源包

若想直接使用生成的材质资源包，请放置pack.mcmeta

不懂pack.mcmeta的话，请看：<https://pack.imipet.com/>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://inrhor.gitbook.io/modelengine-wen-d/create/createmodel.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
