# 原版模型制作指南

# 1. 概述

我的世界中国版支持两种模型格式,分别为原版模型与普通的骨骼模型。

原版模型 骨骼模型
制作工具 Blockbench等 3D Max、CINEMA 4D、Autodesk Maya、Blender等
资源大小 略大于原版模型
模型风格 方块风格 可支持各种风格,模型中可有曲面

两种模型在游戏中支持不同的使用场景,可根据需求调整模型制作方案。

使用场景 原版模型 骨骼模型
生物模型 支持 支持
玩家模型 支持 支持
玩家第一人称模型 不支持 支持
模型骨骼绑定特效 不支持 支持
方块模型 模型文件格式做一定调整后可用于方块模型 不支持
装备模型 模型文件格式做一定调整后可用于装备模型 不支持
PaperDoll 支持模型显示,不支持指定动作播放 支持模型显示,也支持指定动作播放

骨骼模型、骨骼动画的制作请参考骨骼模型制作导出指南

骨骼模型、骨骼动画转换为我的世界可用的格式,请查阅

# 2. Blockbench

Blockbench 是由 JannisX11 开发的一款专门用于 Minecraft 3D 建模的免费软件。

使用软件:Blockbench 3.4.2

官方网站:https://blockbench.net/

因为官网源地址下载太慢,依据软件的MIT协议,这里提供一个国内的下载备份地址

Blockbench有以下优点:

  • 软件操作简单,上手几乎没有门槛;
  • 免费开源软件,任何人都可以自由的使用它 ;
  • 支持插件功能,可以方便的添加功能强大的插件;
  • 制作的模型可以导出为 OBJ 文件,你可以使用任意现代化的 3D 建模软件渲染它,制作出好看的图片;
  • 支持 Minecraft Java 版的方块物品建模,Minecraft Java 版实体建模,Minecraft 基岩版本的实体建模,OptiFine 模组的实体建模等诸多功能。是你制作 Minecraft 模型不可或缺的工具。

reg2-1

本文档我们将介绍如何使用Blockbench制作生物模型与动作。

注意:Blockbench 3.x版本默认启用1.12.0版本基岩版模型。

下面,我们以制作“松鼠”模型和动作为例,详细说明如何制作模型和动作,最终输入资源路径为:示例\6-4 资源制作\工具和示例\bbmodel

# 3.模型制作流程

# 3.1 创建工程

reg2-1

# 3.2 参数设置

这里创建一个松鼠的模型,文件名为squirrel,模型Identifier为netease:squirrel,贴图大小为64,设置完直接点击“Confirm”进入下一步。

reg2-1

# 3.3 导入贴图

在软件界面的左下角中找到贴图界面,导入模型将要使用的贴图,该贴图的大小应该和上一步中设置的参数一致,如下所示:

reg2-1

# 3.4 创建模型几何

reg2-1

如上图所示,在"Edit"标签下,我们可以编辑几何模型,区域1可以编辑模型,区域2实时显示模型。

  • 创建分组与立方体

在大纲栏(Outliner)中,可以通过创建分组来管理立方体。

reg2-1

如上图所示,创建一个分组body,里面包含两个立方体(命名为body)

  • 编辑立方体

在创建分组与立方体完成之后,选中指定的立方体(如上图中第二个body),便可以编辑其位置(Position)、大小(Size)、 轴心点 (Pivot Point)、旋转角度(Rotation)等信息。

  • 编辑立方体贴图UV

reg2-1

如图所示,在左上角可以通过调整XY的值来调整“当前编辑立方体”使用的贴图。

# 3.导出模型

在完成模型编辑之后,我们可以通过导出模型json,便可以在游戏中使用。

reg2-1

在本示例中,导出名称为squirrel.geo.json,内容如下所示:

{
	"format_version": "1.12.0",
	"minecraft:geometry": [
		{
			"description": {
				"identifier": "geometry.netease:squirrel", # 对应参数设置中的模型Identifier
				"texture_width": 64, # 对应参数设置中的贴图大小
				"texture_height": 64,
				"visible_bounds_width": 4,
				"visible_bounds_height": 1,
				"visible_bounds_offset": [0, 0.5, 0]
			},
			"bones": [
				{
					"name": "body",
					"pivot": [0, 5, 8],
					"rotation": [-20, 0, 0],
					"mirror": true,
					"cubes": [
						{"origin": [-3, 2, -2], "size": [6, 5, 10], "uv": [0, 0], "mirror": false},
						{"origin": [-3, 7, 1], "size": [6, 1, 7], "uv": [22, 0], "mirror": false}
					]
				},
				...
			]
		}
	]
}

# 4.动作制作流程

首先,有一点我们需要清楚:动作是在模型的基础上,对模型的节点的位置、旋转角度进行调整。

# 4.1 界面说明

我们先来初步了解一下动作制作界面。

reg2-1

  • 区域1:编辑动作需要切换到"Animate"标签
  • 区域2:动作增加、动作删除、动作长度设置、动作预览、动作属性设置(如:是否循环播放等)
  • 区域3:动作关键帧编辑
  • 区域4:动作编辑管理
  • 区域5:模型分组大纲栏
  • 区域6:模型分组对应的骨骼瞄点

# 4.2新建动作

reg2-1

步骤如下:

  • 点击创建动作按钮,弹出输入框;
  • 输入动作名称,如animation.squirrel.idle;
  • 点击确定

# 4.3 编辑动作

reg2-1

  • 选中需要编辑的动作

如图,选中动作animation.squirrel.idle

  • 选中模型立方体

如图,选中节点head

  • 选中动作时间节点

如图,选中时间线上的0.5ms

  • 插入关键帧信息

如图,点击head下的Rotation右边的“+”按钮增加关键帧

  • 编辑关键帧信息

如图,编辑关键帧信息Rotation(5,0,0)

# 3.4 导出动作

reg2-1

输入命名squirrel.animation.json后保存便得到我们需要的动作。

{
	"format_version": "1.8.0",
	"animations": {
		"animation.squirrel.idle": {
			"loop": true,
			"animation_length": 2,
			"bones": {
				"rearFootLeft": {
					"rotation": {
						"0.0": [0, 0, 0],
						"0.4833": [15, 0, 0],
						"1.6": [10, 0, 0],
						"1.8833": [-10, 0, 0],
						"2.0": [0, 0, 0]
					}
				},
				...
			}
		},
		"animation.squirrel.move": {
			"loop": true,
			"animation_length": 0.48,
			"bones": {
				"rearFootLeft": {
					"rotation": {
						"0.0": [5, 0, 0],
						"0.1667": [125, 0, 0],
						"0.4333": [5, 0, 0]
					}
				},
				...
			}
		}
	}
}

至此,我们可以将导出的模型和动作用于制作自定义生物了。