手冊:minecraft:material_instances

出自Minecraft基岩版开发Wiki
資料驅動 方塊 > minecraft:material_instances
minecraft:material_instances
附加包元件
元件所屬
元件型別
加入版本

將模型中的面或繪製應用到方塊實際的紋理。

語法[編輯]

"minecraft:material_instances": {
  "*": {
    "texture": "<par1>",
    "render_method": "<par2>",
    "face_dimming": <par3>,
    "ambient_occlusion": <par4>
  },
  "<par5>": {
    "texture": "<par1>",
    "render_method": "<par2>",
    "face_dimming": <par3>,
    "ambient_occlusion": <par4>
  },
  "<par6>": "<par5>"
}

結構[編輯]

  •  minecraft:material_instances:根物件。
    •  *[注 1]:「*」表示應用到所有未定義面。可改成模型中指定面的名稱來應用到這一個或多個指定面;也可以改成遊戲內建指定面的名稱(up:頂面;down:底面;sides:側面)。
      •  texture:方塊使用的紋理名稱。
      •  render_method:定義方塊的繪製方法,又稱方塊繪製圖層。可填alpha_testblenddouble_sidedopaque
      •  face_dimming:定義方塊是否受光照影響。預設值為true。‌[需要驗證]
      •  ambient_occlusion:定義方塊面是否為柔和光源。預設值為true。‌[需要驗證]
    •  <instance_name>:物件名為模型中自訂面的名稱或者遊戲內建面的名稱。
      • ……
    • ……

  •  minecraft:material_instances:根物件。
    •  *
      • ……
    •  <custom_name>:物件名為一個自訂名稱。
      • ……
    • ……
    •  <instance_name>:值為上面的自訂名稱。
    • ……

列舉[編輯]

方塊繪製圖層[編輯]

方塊繪製圖層列舉
鍵名 值(國際版 & 中國版伺服器端) 值(中國版用戶端) 介面字串 描述
RENDERLAYER_DOUBLE_SIDED 0 0 double_sided 完全停用背面剔除。
RENDERLAYER_BLEND_WATER 不存在 1
RENDERLAYER_ALPHATEST_MICRO_BLOCK 不存在 2
RENDERLAYER_RAY_TRACED_WATER 1 3 光線追蹤狀態下的水。
[需要更多資訊] 2 不存在 未來的延遲技術預覽狀態下的水。
RENDERLAYER_BLEND 3 4 blend 該繪製方式允許有透明像素或半透明像素(略微透明的像素,類似於染色玻璃),且不會啟用環境光遮蔽,因此在製作不完整方塊時可使用該繪製方式,防止出現醜陋的陰影。(如果存在多方塊的半透明圖層疊加,則圖層錯亂,例如:水)
RENDERLAYER_OPAQUE 4 5 opaque 用於繪製沒有alpha通道的紋理,不允許有透明像素或半透明像素(會繪製為黑色或TGA基色)。該繪製方式會啟用環境光遮蔽,從而在周圍或下方形成陰影。比如一般的不透明方塊或原版中處於內層的樹葉。
RENDERLAYER_OPTIONAL_ALPHATEST 5 6 用於繪製可選透明像素,類似於原版中處於外層的樹葉。
RENDERLAYER_ALPHATEST 6 7 alpha_test 該繪製方式僅允許透明像素或不透明像素,不允許半透明像素(類似於未染色的玻璃),且不會啟用環境光遮蔽,因此在製作不完整方塊時可使用該繪製方式,防止出現醜陋的陰影。
RENDERLAYER_SEASONS_OPAQUE 7 8 該繪製方式用於繪製在雪原的下雪天氣下會變白色的不透明像素,類似於原版中可下雪生態域中處於內層的樹葉。
RENDERLAYER_SEASONS_OPTIONAL_ALPHATEST 8 9 該繪製方式用於繪製在雪原的下雪天氣下會變白色的可選透明像素,類似於原版中可下雪生態域中處於外層的樹葉。
RENDERLAYER_ALPHATEST_SINGLE_SIDE 9 10
RENDERLAYER_ENDPORTAL 10 11
RENDERLAYER_BARRIER 11 12
RENDERLAYER_LIGHT 12 13
RENDERLAYER_STRUCTURE_VOID 13 14

範例[編輯]

  • 分別定義頂面、底面、「example」面(自訂名稱為「example」的面)以及剩餘其他面的紋理:
"minecraft:material_instances": {
  "*": {
    "texture": "log_side",
    "render_method": "opaque"
  },
  "up": {
    "texture": "log_top",
    "render_method": "opaque"
  },
  "down": {
    "texture": "log_bottom",
    "render_method": "opaque"
  },
  "example": {
    "texture": "test",
    "render_method": "opaque"
  }
}
  • 當有多個面(例如頂面和底面)使用相同紋理時,還可以簡寫為:
"minecraft:material_instances": {
  "*": {
    "texture": "log_side",
    "render_method": "opaque"
  },
  "example": {
    "texture": "log_top",
    "render_method": "opaque"
  },
  "up": "example",
  "down": "example"
}

歷史[編輯]

基岩版
1.16.1001.16.100.56加入了minecraft:material_instances
1.19.101.19.10.20更新了文件。

錯誤[編輯]

關於「Minecraft:material instances」的錯誤在國際版中由錯誤追蹤器維護,請在此回報錯誤。

注釋[編輯]

  1. 該元件必須包含一個「*」物件。