- 致编者:请牢记我们的域名wiki.mcbe-dev.net!
- 致编者:欢迎加入本Wiki的官方交流QQ群或Discord服务器!
- 基岩版1.19.31现已发布!(了解更多)
- Inner Core现已支持Xbox模组联机!(了解更多)
- 如果您是第一次来到本Wiki,欢迎注册一个账户
- 点击顶部的“编辑”或“编辑源代码”按钮即可编辑当前页面
- 请知悉:在不登录时也可以编辑和新建页面,但是您当前的IP地址会记录在编辑历史中
模型
模型(Model)是Minecraft中表現物體形態結構的一種形式,用於定義模型資料的JSON稱為幾何(Geometry),幾何決定了模型以什麼的樣式呈現出來。
檔案[edit]
幾何檔案一般命名為<example>.geo.json,並存放於models資料夾。實體幾何儲存於/models/entity/路徑下,方塊幾何儲存於/models/blocks/路徑下。[注 1]
相關檔案[edit]
路徑 | 描述 |
---|---|
/models/ | 原版幾何檔案的儲存路徑。 |
/models/mobs.json | 雜項幾何儲存路徑。 |
元件[edit]
型別 | 名稱 | 描述 | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
字串 | format_version | 定義幾何資料使用的格式版本。 | |||||||||||||||||||||
物件 | geometry.<example> | 該幾何的識別碼。在末尾加上: 然後再在後面加上其他幾何的識別碼可以繼承其他幾何的資料。
| |||||||||||||||||||||
物件 | description | 對該模型的定義描述。
| |||||||||||||||||||||
物件 | bones | 骨骼列表。 | |||||||||||||||||||||
字串 | name | 定義骨骼名稱。 | |||||||||||||||||||||
陣列 | pivot | 定義元素的樞軸。 | |||||||||||||||||||||
陣列 | rotation | 定義元素的旋轉參數。 | |||||||||||||||||||||
陣列 | cubes | 立方體組。 | |||||||||||||||||||||
陣列 | origin | 定義元素的頂點。 | |||||||||||||||||||||
陣列 | size | 定義立方體尺寸。 | |||||||||||||||||||||
陣列/物件[注 4] | uv | 定義UV的參數。 | |||||||||||||||||||||
陣列 | uv_size | 定義UV的尺寸。 | |||||||||||||||||||||
字串 | material | ||||||||||||||||||||||
字串 | material_instance | 定義材質映射面的名稱。包含三個預設值:up 、down 和sides ,分別表示立方體的頂面、底面和側面。此元件用於minecraft:material_instances 對指定映射面設定參數。
| |||||||||||||||||||||
浮點數 | inflate | 定義立方體的膨脹係數。可填寫負數。 | |||||||||||||||||||||
物件 | locators | 定位器。 | |||||||||||||||||||||
字串 | parent | 定義父級骨骼。 | |||||||||||||||||||||
布林值 | neverRender | ||||||||||||||||||||||
布林值 | mirror | 鏡像UV。 | |||||||||||||||||||||
布林值 | reset |
骨骼[edit]
模型由骨骼(Bone)構建,每個骨骼中可包含零個或多個立方體(Cube)。
樞軸[edit]
UV[edit]
UV用於定義立方體各個面使用的紋理。「U」和「V」分別代表紋理上的兩個座標軸,UV座標中U代表橫向座標上的分佈,V代表縱向座標上的分佈,在Minecraft中,座標值的單位是像素。
要選取一張圖片作為這個模型的紋理,需要UV對圖片上選取的位置進行定義並確定選取的面積。uv
元件包含兩個值,第一個值表示U座標,第二個值表示V座標。確定了UV後,遊戲就會自動根據立方體展開圖以UV座標為原點,向正方向[注 5]延伸一定距離將展開圖的面積區域框選起來。
不同UV之間的框選區域可以重疊。如果UV框選到了圖片以外的區域,則會導致紋理無法正常顯示。在逐面UV中,如果將UV的框選區域設定得比立方體該面所需面積大,則紋理會被拉伸,反之則會被壓縮。
型別[edit]
箱型UV[edit]
箱型UV所有面的貼圖全部包含於一張圖片,每個立方體的UV以展開圖的形式加入在這張圖片中。遊戲中的實體就是使用的箱型UV。
在箱型UV中,立方體展開圖六個面的相對位置是固定的。下圖展示了這六個面的相對位置佈局:
下表列出了上方圖片的註釋含義:
註釋 | |||
---|---|---|---|
Top | 頂面 | Bot | 底面 |
Left | 左面 | Frnt | 前面 |
Rt | 右面 | Bck | 後面 |
當幾何中包含多個立方體時,例如玩家的幾何模型,這些立方體的展開圖會全部根據UV佈局於一張圖片中(淺色部分表示玩家的外層外觀):
註釋 | |||
---|---|---|---|
Head | 頭部 | Hat | 頭部外層 |
Body | 身體 | Jacket | 身體外層 |
lArm | 左手臂 | lSleeve | 左手臂外層 |
rArm | 右手臂 | rSleeve | 右手臂外層 |
lLeg | 左腿 | lPants | 左腿外層 |
rLeg | 右腿 | rPants | 右腿外層 |
逐面UV[edit]
逐面UV可對每個面使用的貼圖進行定義。遊戲中大部分方塊就是使用的逐面UV。
紋理與材質映射[edit]
定位器[edit]
定位模型
你知道嗎[edit]
畫廊[edit]
註釋[edit]
- ↑ 方塊幾何檔案在1.16.200.52之前儲存於/models/entity/路徑下。
- ↑ 對幾何的基本定義既可寫成:也可寫成:
{ "format_version": "1.12.0", "geometry.xxx": { … "bones": [ … ] } }
{ "format_version": "1.12.0", "minecraft:geometry": [ { "description": { "identifier": "geometry.xxx", … }, "bones": [ … ] } ] }
- ↑ 3.0 3.1 可不加下劃線。
- ↑ 箱型UV使用陣列來定義UV,逐面UV使用物件中的各種參數來定義UV。
- ↑ 在UV座標系中,U軸的方向是從左往右,V軸的方向是從上往下。