註:截至本文發上來,MCPE版本為0.14.0。
今天要介紹PE材質包的內容構成,主要是能給BlockLauncher(下稱BL)讀到的部分為主,以及基本製作PE材質包的方法。 甚麼意思呢?如果你要製作材質包時是從PE主程式中拆來,那麼裡面總會有一些主程式設定檔,部分BlockLauncher是不會執行的,因此不放入這些檔案有助於減少材質包容量。
註:即使BL現在已經進入資源包時代,但我還是使用材質包一詞說明。
下面就為您介紹材質包可以放入、改甚麼材質:
所有檔案都不是必須要有,但檔名和格式一定要符合。
1. 材質包主架構#
目前材質包BL可接受的格式為.apk、.7z、.zip。
如果缺少部分材質,BlockLauncher會自動使用原版材質替補。
材質包通常會有這些東西:
images: 放環境、方塊、GUI、生物皮膚的地方。
shaders:修改光影的設定檔。本人還在研究中,本文尚不介紹,有興趣可以去看看網路上的光影材質包。
materials:跟光影有關的環境設定檔。
pack.mcmeta:材質包作者訊息、介紹等等的檔案。
若無法開啟,使用文字編輯器打開即可。格式為:
{
"pack":{
"pack_format": "材質包格式(1或0)", "description": "材質包介紹"
}
}
pack.png:材質包的縮圖。
splashes.json:可以改標題畫面的跳動黃字。可以在中括號裡新增更多字串(""),格式:
{
"splashes":["跳動黃字內容"]
}
2. images的內容#
images是大家最常看到的部分,改標題畫面、動物皮膚等等都在這裡面。
製作材質時請仔細觀察每個圖片的格式或者物件配置,免得讀出來沒有或者破圖。
未在下文提及的東西改了應該也沒用。
裡面可以有這些東西:
armor:放裝甲的材質,檔名為「裝甲材質_1.png」,例如鎖鍊裝就是「chain_1.png」,後面的1代表這是頭盔、胸甲部分的材質,改成2就是護腿和鞋子部分。目前裝甲材質有皮革/鐵/黃金/鑽石/鎖鍊(cloth/iron/gold/chain)。
art:裡面只會有「kz.png」一個檔案,就是畫的材質。
entity:這裡的放的是是生物以外的實體材質:
boat:裡面放船的材質,格式就是「boat_材質.png」,例如叢林木船就是「boat_jungle.png」。有橡木/樺木/杉木/叢林木/黑橡木/金合歡(oak/birch/spruce/jungle/darkoak/acacia)
enchanting_table_book.png:附魔臺上會自動翻頁的書的材質。
enchanting_table_book_shadow.png:上面書的影子。
experience_orb.png:經驗球的材質。
fireball.png:惡魂吐出的烈焰彈的材質。
fishhook.png:釣竿浮標的材質。
minecart.png:礦車的材質。
environment:放環境的材質
clouds.png
雲的材質。
destroy_stage_0(0~9).png
破壞方塊時出現的裂痕,數字越大裂痕應該要越多。
moon_phases.png
月亮的材質,可以有陰陽圓缺。
rain.png
雨的材質。
snow.png
雪的材質。
sun.png
太陽的材質。
weather.png
不明。
font
各種語言的字體的材質,每種語言不太一樣,非印歐語系的語言做字體要做比較久。
ascii_sga.png
就是附魔臺上效果的文字。
default.png
Minecraft預設字體,有印歐語系國家的字母和一些符號。
glyph_00(00~FF)
16進位的符號。
glyph_ja-JP_2E(2E~FF)
日文和其符號。
glyph_zh-TW_2E(2E~FF)
中文和其符號。
gui:介面的材質,iOS和Windows 10和舊版、無效的材質也在裡面,我會跳過這些。
background
標題畫面背景在轉的圖片,格式為panorama_0(0~6).png。
background.png
載入世界時出現的畫面。
enchanting_table.png
附魔臺介面的材質。
gui.png
方向鍵、藥水效果圖示、物品欄等。
gui2.png
僅有物品欄和按鈕背景。
icons.png
護甲值、生命值、飢餓值等圖示。
spritesheet.png
合成臺、熔爐、介面拉桿和按鈕的材質等。
spritesheet2.png
釀造臺介面的材質。
title.png
標題畫面的MCPE大標題。
touchgui.png
遊戲設定裡面按鈕的材質。
item:不在entity資料夾中的生物以外實體和部分方塊。
chest
裡面放箱子和大箱子的材質。double_normal.png為大箱子、normal.png為普通箱子、trapped.png為陷阱箱、trapped_double.png為大陷阱箱材質。
arrows.png
箭矢的材質。
screenshot_frame.png
不明(或許跟相機有關?)。
sign.png
告示牌材質。
tripod_camera.png
一直是個謎的照相機的材質。
map:放地圖的材質。
map_background.png
地圖的背景材質。
map_icons.png
地圖上的圖標材質。
misc
enchanted_item_glint.png
附魔物品發出的閃光。
pumpkinblur.png
南瓜頭戴上去後看到的視野。
mob:放所有的生物皮膚:
cat
貓咪皮膚的資料夾。
未馴服前的檔名叫ocelot.png,馴服後會有3種分別為:red.png、siamese.png、blackcat.png。
rabbit
兔子皮膚的資料夾。
有blackrabbit.png、brown.png、gold.png、salt.png、toast.png、white.png、white_splotched.png,7種兔子皮膚。
villager
村民皮膚的資料夾。
依職業分有butcher.png、farmer.png、librarian.png、priest.png、smith.png,5種。
villager.png不會被讀到。
zombie_villager
殭屍村民皮膚的資料夾。
格式為在村民職業前加上zombie_,例如zombie_butcher.png。
alex.png
Steve後的第2個預設皮膚。
char.png
舊版是Steve,現已無效。
steve.png
預設皮膚。
其他就是生物的皮膚,例如iron_golem.png。
狼和惡魂各有wolf_angry.png、ghast_shooting存在。
creeper_aromor.png即為高壓苦力怕外圍的電光。
compass.png:羅盤材質,沒錯,真的要把所有羅盤可能的指的方向做出來。
fire_atlas.png:火焰的材質,同羅盤。
items-opaque.png:所有物品的材質,更新時很常改物品排序。
particles.png:所有粒子的材質。
portal.png:地獄門的材質,同羅盤。
terrain-atlas.tga:方塊的材質,注意箱子要去item裡才能改,也很常更新排序。製作時把它按等比例放大(216x216變512x512)就可以製作高清材質,不過沒模組會破圖。(有些材質包還會再放terrain-atlas_mip0等材質,不是很必要)
watch-atlas.png:時鐘的材質,同羅盤。
3. 製作材質包#
想要編輯2.所提到的圖片,.png格式手機可以使用 Pixel Art Editor。
.tga目前只有電腦才開的起來。
壓縮材質包:
使用壓縮軟體,把裝images、shaders等這些東西的資料夾壓成壓縮檔。
這些東西外的資料夾叫甚麼都沒差,BL還是讀的到。
注意,材質包內不受版本限制的應該只有皮膚等一部分,想要知道材質格式更新後有沒有改,請把Minecraft PE的apk解壓縮,到assests裡面就能看到原版材質。
如果該材質沒有要改那就不用放了,前面說了,BL會自己調用原版材質來替補。
範例:
這是外國移植的 DokuCraft,它的主架構非常清楚。
images裡面還是含有一些主程式裡的東西,且看起來改的很多。
4. 結語#
本人從0.7.6開始研究PE材質包,期間也見證了格式的諸多改變。也因為方塊格式一直改因此我自製的材質包早就棄坑了ww,在此僅僅分享給各位其架構與簡單製作方式,希望能有更多出色的PE材質包出現。
另外,若本文有錯誤之處,請務必指出,謝謝。