Add-On 實體Render Controller的用法:3D武器、動態材質

閃電苦力怕是怎麼顯示材質的?為什麼有人可以讓盔甲隱形?各種花色的貓是怎麼實現的?就是Render Controller在背後控制的。

註冊實體時需指定使用的render comtroller,檔案放在資源包/render_controllers資料夾,裡面可以控制實體要使用什麼material、texture(在註冊實體的檔案裡需先條列出來要使用的材質),以及實體模型各個bone的顯示與否(parts_visibility)和要使用的模型(geometry)

一個實體可以同時使用多個render controller,這也是3D武器的作法之一:讓玩家本身的render_controller跟自己另外做的render_controller同時顯示,詳情參考這篇

textures可以在render_controller檔案裡宣告要使用的材質陣列,然後使用query讀取實體的變種(variant),以此控制該實體要使用什麼材質,如貓、界伏蚌等。
同理,geometry和material也可以這樣操作。

原版資源包/render_controllers/cat.render_controllers.json


parts_visibiliy見於盔甲的render_controller。可以每行都寫條件式來偵測要不要顯示某個骨骼。
陣列頂端需先列出星號代表的布林值,以此讓系統知道是要判斷式結果是true或false才要顯示指定的bone。把這個檔案稍作修改,就可以讓玩家的盔甲隱形。
如果要用在實體上,則一個骨骼底下不能有其他骨骼,否則就得把全部骨骼都列出來才能顯示或隱藏。
parts_visibility作用等同用animation的scale控制,差別在於animation不需要全部指定,只要寫出最頂層的骨骼。

原版資源包/render_controllers/armor.render_controllers.json



overlay_color可以在實體材質上面蓋上指定的顏色,參數為RGB值,例如苦力怕爆炸時的白色。
un_anim則可以透過控制材質UV的方式做到動畫效果,例如閃電苦力怕外部的電磁圈。同時該實體使用的material也必須是creeper才可以。

原版資源包/render_controllers/creeper_armor.render_controllers.json


留言

此網誌的熱門文章

Minecraft基岩版多人連線教學: 方法一覽

【詳細解說】什麼是Minecraft基岩版,跟Java版有什麼差?

Minecraft基岩版安裝模組(Add-On)&資源包&光影教學