BlockReel textures
在 BlockReel 資料夾中工作。將每組紋理放入 work/textures/<name>/(已被 .gitignore 忽略)或 films/<name>/textures/。此資料夾結構對應於 assets/minecraft/textures/(block/…、item/…)。切勿複製遊戲紋理;僅可使用原創紋理(儲存庫中的示範集為 CC0 授權)。
1. 任務摘要(最多一個簡短提問)
確定:主題(例如:柔和卡通、粗獷中世紀、雪地)、解析度(預設 16x、32x 或 64x)、涵蓋哪些方塊與物品(預設為約 25 個的起始組合:石頭、鵝卵石、泥土、草地頂部/側面、木材、原木、樹葉、沙子、玻璃、水、熔岩、磚塊、黑曜石、螢光石、雪、羊毛、礦石/金屬方塊、TNT,加上 1-2 個物品),以及目標 Java 版本(需要以此決定資源包格式;若未知則提問)。
2. 研究(網路),寫入 research.md 並附上連結
- 目標版本的官方紋理檔案名稱:名稱即為合約;錯誤的名稱會默默被忽略。
請查閱 Minecraft Wiki:資源包 及該版本的檔案列表(使用者可以開啟自己的用戶端
.jar,路徑為assets/minecraft/textures/,以列出名稱;切勿複製檔案)。 - 動畫紋理:一個垂直條狀 PNG 加上一個側車檔案
<name>.png.mcmeta,例如water_still.png.mcmeta:{ "animation": { "frametime": 3, "interpolate": true } };可選的width、height(影格大小)與frames。每個影格必須大小相同,且圖片必須是完整數量的影格(來源:Wiki 的資源包頁面)。 - 無縫銜接慣例:方塊紋理是正方形的;它們會重複,因此邊緣必須接合。地形方塊的頂部重複最多。
- 該使用者版本的資源包格式:Minecraft Wiki:Pack format,請看資源包欄位。
在你的回答中提及版本、數字與連結。自 25w31a(Java 1.21.9)起,Wiki 指出資源包使用
min_format/max_format而非pack_format。切勿猜測數字。 以十進位表示的版本(例如97.1)不受core/pack.py支援(如何在pack.mcmeta中撰寫尚未確認);請告知使用者。 - 風格參考:與主題相關(色板、其他人如何處理無縫雜訊)。僅限原則說明。
3. 整個組合的色板與風格計畫
在繪製任何東西之前:一個全域色板計畫(每種材質的基礎色,每個顏色為帶有輕微色相偏移的四色漸層:skin.ramp)、風格規則(帶狀平坦色調 vs 柔和漸層、是否使用輪廓、每塊貼圖有多少單像素亮點),以及雜訊尺度(雜訊塊相對於貼圖的大小)。每個紋理都遵循相同的規則;這就是組合一致的關鍵。
4. 生成或繪製
- 透過程式生成(偏好用於貼圖):從
examples/texture-pack-demo/make_textures.py開始(基於種子、結構上可無縫:環繞雜訊、環繞 Voronoi 單元、交錯板、斜角、動畫條)。修改PLAN與樣式。 - 手繪,逐像素繪製,用於關鍵紋理(物品圖示、礦石)。
- 側面紋理(
grass_block_side)、玻璃與金屬方塊因設計而有邊框;它們不重複貼圖。
5. 檢查(強制)
python core/tilecheck.py check block/stone.png --out stone_tiles.png # 2x2 與 3x3 無縫預覽 + 縫隙分數
python core/tilecheck.py palette block/stone.png -k 6 # 主要顏色
python core/tilecheck.py set textures/ --out report/ # 整個組合:問題、備註、總覽圖
python core/pack.py check textures/ # 名稱、大小、動畫條
開啟圖片(stone_tiles.png、report/set-sheet.png)並仔細查看。必須修正 PROBLEMS(可見縫隙的無縫紋理、混雜的大小、過多顏色);備註(亮度、飽和度、色板重疊)是提醒你進一步檢查,並非錯誤。有邊框的紋理會被回報為備註。至少迭代一次:修正你所看到的問題,重新生成,再次查看。
6. 在場景中預覽(強制)
python tools/pack_preview.py textures/ --out pack-preview.png
一個由電影引擎使用你的紋理渲染的小型世界:大型地形(重複)、方塊畫廊、小屋、樹木、水、熔岩、玻璃以及一個角色作為比例參考。檢查:大型表面上的重複、草地和原木的頂部 vs 側面、透明度(玻璃、樹葉)、相鄰方塊之間的對比度,以及在陽光下的氛圍。組合中缺少的方塊會被列出(這些位置會使用內建的原版紋理)。
7. 建立資源包
python core/pack.py build textures/ --name "我的資源包" --pack-format <N> --format-version <java 版本> \
--format-source https://minecraft.wiki/w/Pack_format --icon pack.png --out build/
# Java 1.21.9 及更新版本:使用 --min-format <N> --max-format <M> 取代 --pack-format
該命令拒絕在沒有格式編號的情況下執行(刻意不設預設值)。pack.mcmeta 位於壓縮檔根目錄,資源包中的 README.txt 會記錄該編號、版本以及來源連結。在你的回答中引用該連結。
8. 安裝與測試檢查清單(提供給使用者;你無法在遊戲中測試)
- 將
.zip複製到遊戲的resourcepacks資料夾(選項 → 資源包 → 開啟資源包資料夾即可顯示路徑)。 - 在選項 → 資源包中啟用它。如果遊戲顯示資源包不相容,表示格式編號與遊戲版本不符。
- 在創造模式世界中檢查:草地/泥土/石頭/木材/原木/樹葉、水與熔岩的動畫、玻璃透明度、TNT、每種主要方塊平坦 20x20 的地板(檢查縫隙),以及一些物品。
- 回報任何顯示紫黑色棋盤格的問題:這表示檔案名稱錯誤或影格大小不對。
規則
- 切勿聲稱資源包在遊戲中可用。改說「已在 BlockReel 引擎中建立、檢查並預覽」。
- 切勿提交遊戲紋理。不要從使用者的
.jar中將它們帶入儲存庫。 - 外觀是另一件事(
blockreel-skins);資源包無法改變玩家的外觀。 - 模型、音效、字型與著色器不在討論範圍內。