Blockbench專案製作與提交須知
-
製作相關
-
優化與素材置入流程
-
提交規則
<
>
| 物件的尺寸單位和軸向 | 關於物件群組 | 關於物件樞軸點 | 貼圖繪製:規範和要點 | 貼圖繪製:出血填充 |
| 貼圖繪製:製作發光貼圖(Emission map) | 關於共用貼圖 | 渲染提交預覽圖 | 有接縫線的時候 | 植物搖曳 |
- 1 方塊由 16×16 體素組成,對應現實單位為 1 立方公尺。
- 玩家人物為 2 方塊高,需要配合角色風格以實際視覺效果來縮放物件比例。
- 在場景中,地面網格有北方(North)標示,為對應Unity空間軸向,製作時應將物件面朝南方作為正面製作。
- 為避免檔案出錯和保持製作檔的整潔,建議比對物件比例時開新檔案,再匯入角色和製作的物件。
- 為保持檔案整潔和使用性,開始製做新物件時,請建立一個名稱為<檔案名_Root>的母群組收納所有子物件,母群組樞軸點及旋轉都必須歸零。
- 母群組樞軸點必須歸零,而一般子零件若沒有特殊需求,皆點選樞軸居中即可。
- 貼地放置的物件樞軸點設於中央貼地;貼牆放置的物件樞軸點則設於貼牆處中央;貼頂放置的物件則設於貼頂處中央。
- 除非有如下特殊需求,否則應以一個物件一張貼圖為標準。
- 半透明物件、動畫貼圖物件等必須將貼圖另外拆分為獨立材質球。
- 貼圖名稱應與物件名稱相同(請參照提交規則),類型紋理範本、像素密度設為32x、2次方大小、勾選間距。
- 繪製時注意別太依賴平滑畫筆,好好的用乾淨的顏色表現出像素風格吧!
出血是印刷專有名詞,為印前排版作業之一,意為印刷品預計會被裁切掉的邊緣部分。貼圖也是相同道理,繪製完成的貼圖預設是去背狀態,且UV線離邊界極近,有可能在抗鋸齒作用下,與鄰近顏色互相影響或被裁切到而產生接縫,因此比較安全的做法是啟用貼圖間距,並手動為其製作出血區域。
1. 安裝 Solidify 濾鏡,Solidify 64-bit.zip 檔案位於 chibi-test\Blockbench 專案資料夾中,解壓縮後將檔案後放置於
C:\Program Files\Adobe\Adobe Photoshop XXX\Plug-ins 資料夾內即可。
C:\Program Files\Adobe\Adobe Photoshop XXX\Plug-ins 資料夾內即可。
2. 以 Photoshop 打開貼圖,並在下方新增兩個圖層。
※有透空區域的貼圖需要額外複製一層當備份。
※有透空區域的貼圖需要額外複製一層當備份。
3. 選擇 [移動工具],用方向鍵上下各輕推一格並合併三個圖層。
4. 將合併的圖層再複製兩層,用方向鍵左右各輕推一格。
5. 合併所有圖層,套用濾鏡Solidify A。
6. 最後選擇 [圖層]>[圖層背景] 確保透明區域被填充。若無透空需要,至此儲存檔案即可。
7. 要保留透空區域需要先點兩下背景圖層解鎖。
8. 按住 [Ctrl] 選取備份的原始圖層,選擇 [選取]>[反轉] 反轉選區。
9. 使用 [橡皮擦工具],切換為 [鉛筆] 模式擦除要透空的區域,擦除完畢後刪除備份圖層存檔即可。
- 若是半透明區域,在第 8 步驟反轉選區後,選擇矩形選取工具,切換到減去模式(或按住 Alt),將半透明以外的區塊取消選取,確認只留下要半透明的部分後直接在做好出血的圖層按 [Delete] 刪除半透明的部分即可。
- 如果是燈火類有可能會需要開關燈的物件,繪製時須以關燈的方式先繪製,再另外製作發光貼圖,便可於Unity內透過材質球控制發光開關與亮度。
1. 繪製好關燈狀態的貼圖。
2. 在紋理上右鍵,選擇 [另存為] 建立發光貼圖,根據命名規則,檔名為<Sc_物件名稱_E>。
3. 將發光區域外的貼圖全部填充 #000000 純黑。
4. 繪製發光顏色,儲存即可置入Unity測試效果。
當物件較小,UV卻又超過下一階的尺寸時,就可能會出現貼圖空間浪費的情形,因此可以將相同類型的物件共用同一張貼圖以節省空間。
▼浪費很多空間的物件貼圖。
1. 將要共用貼圖的物件照正常流程創建紋理。
2. 右鍵選擇 [調整紋理大小...] 。
3. 將貼圖尺寸調整成和要共用的貼圖相同,範例為128×128。
4. 調整好尺寸後右鍵選擇 [更改文件],將紋理替換成要共用的貼圖。
5. 全選物件UV,手動將UV框線移動排列到空白的位置即可開始上色。
※可以全都繪製完畢再製作貼圖出血,也可以個別製作完出血再進行拼貼。
※可以全都繪製完畢再製作貼圖出血,也可以個別製作完出血再進行拼貼。
以下說明如何渲染提交表格需要使用的預覽圖及三視圖。
1. 打開要渲染的文件,選擇 [文件]>[導出]>[導出glTF模型]。
2. 進入 Light Tracer Render 頁面。
3. 將導出的 .gltf 檔案拖曳進場景中。
4. 選擇 [Replace] 取代掉場景預設的模型。
5. 於左方 Backplate 選擇 [Gradient] 替換背景,右側 HDRIs 選擇 [indoor_christmas_photo_studio_3]。
6. 選轉模型到適當的角度後點選上方圖片,儲存為 png。
6. 以 Photoshop 打開圖片,選擇裁切工具,設定為 [800*800 像素],裁切圖片後存檔即可。
7. 三視圖則是在 Blockbench 先複製模型排列好,點選右下方 Z軸 切換為正視圖,並於右上方關閉陰影。
8. 選擇 [視圖]>[截圖]>[截圖模型]。
9. 點選 [保存] 即可。
製作完貼圖出血後,預覽時仍有明顯接縫……
1. 點選 [文件]>[首選項]>[設置]。
2. 切換到 [文件] 標籤,將 [抗鋸齒] 取消勾選並重開軟體即可。
要讓植物產生隨風搖曳的效果,需要在 Unity 內套用特殊 Shader 的材質球,該 Shader 可以雙面顯示,因此模型製作時若有片面,只需製作單面模型即可。
1. 匯入模型,確認模型片面是否都只有單面模型,若有雙面需先刪除一面。
確認確認無問題後選取選取模型,切換到網格資訊頁籤,找到 [Color Attributes],點選 [+]。
確認確認無問題後選取選取模型,切換到網格資訊頁籤,找到 [Color Attributes],點選 [+]。
2. 新增點著色層。
※由於 Blender 目前版本的問題,現階段只有選擇 [Face Coener] + [Byte Color] 能夠正常匯出點著色資訊。
※由於 Blender 目前版本的問題,現階段只有選擇 [Face Coener] + [Byte Color] 能夠正常匯出點著色資訊。
3. 開啟著色選項,將色彩切換為 [特性]。
4. 為了能選取到背面的模型,將 [X-Ray] 打開,模型會變為半透明。
5. 切換視圖到前正視法,方便選取模型點。
6. 切換到 [頂點繪製] 模式。
7. 將顏色改為 #0000FF 純藍色。
8. 點選 [頂點選取項] 選擇 [框選]。
9. 框選模型點。
※注意靠近地面的根部、土壤等固定在地面上的部位不要選取到!
※注意靠近地面的根部、土壤等固定在地面上的部位不要選取到!
10. 選擇 [繪製]>[設定頂點色彩] 為模型點上色。
11. 關閉 [X-Ray] 檢查是否都已經正確上色,確認無問題後即可照程序匯出檔案置入 Unity 內。
12. 在 Unity 內將物件材質球修改為 [Polygon Wind] 底下的 [Tree_yen] Shader,根據實際效果調整參數即可。
| 模型減面與雙面顯示 | 匯出模型與轉檔 | 合併模型零件 | 整理及匯出 | 素材置入 Unity |
| 檢查與製作 Prefab | 建立動畫 Controller | 渲染提交預覽圖 | 有接縫線的時候 |
- 為減少面數浪費,繪製完貼圖的模型必須進行整理,將不會因動畫露出來、重疊在裡面看不見的面進行刪除。
※可使用 UV 上方 [北]、[東]、[南]、[西]、[頂]、[底] 按鈕方便的選擇到要刪除的面而不需將模型拆開。
- 就算是片面模型也應該將不需要顯示的面刪除。
- 若片面模型有可能看到背面需要雙面顯示,請留下雙面的 UV 後依然將不需要的面刪除,範例為北和南。
接著將模型稍微增加一些厚度,讓兩面模型分開一些不要完全重疊即可。
- 若是網格模型 (Mesh) 需要雙面顯示,就要額外複製一個模型當作內層。
將內層模型整體略為內縮,刪除不需要的面後全選面,點選 [翻轉面] 即可。
- 為何要轉檔?
Unity專案使用的模型為 FBX 檔,而 FBX 檔根據保存的編碼方式不同又分為 ASCII 與 Binary 格式。
Binary 即是所謂的二進制編碼,二進制 FBX 只能由程式讀取;ASCII 編碼則是人類可讀的,可以直接使用記事本開啟與編輯,Blockbench 直接匯出的 FBX 便是 ASCII 格式。但由於我們不會手動去編輯 FBX 文件不需要保留人類可讀性,加上 Blender 的限制只能讀取 Binary FBX,且相比 ASCII 格式, Binary 格式占用的空間更小、讀取速度更快,因此需要將素材經過轉檔的動作。
▼ASCII 與 Binary 格式儲存方式的不同。
1. 安裝 Autodesk FBX Converter。
fbx20133_converter_win_x64.exe 檔案位於 chibi-test\Blockbench 專案資料夾中,依照步驟安裝即可。
fbx20133_converter_win_x64.exe 檔案位於 chibi-test\Blockbench 專案資料夾中,依照步驟安裝即可。
2. 選擇 [文件]>[導出]>[將模型導出為 FBX 文件]。
※有動畫的檔案請先匯出一個包含動畫名為<檔案名稱_A>的 FBX,刪除動畫只保留 T-Pose 後再另外匯出 FBX 模型。
注意刪除動畫後不要儲存覆蓋到 .bbmodel 原始製作檔!
※有動畫的檔案請先匯出一個包含動畫名為<檔案名稱_A>的 FBX,刪除動畫只保留 T-Pose 後再另外匯出 FBX 模型。
注意刪除動畫後不要儲存覆蓋到 .bbmodel 原始製作檔!
3. 開啟 Autodesk FBX Converter,將匯出的 FBX 檔拖曳進左方區塊,確認 FBX Save Mode 為 [Binary],點選 [Convert]。
※預設會在模型存放目錄下新增名為 FBX 2013 的資料夾,轉換過後的 FBX 就放在其中。
※預設會在模型存放目錄下新增名為 FBX 2013 的資料夾,轉換過後的 FBX 就放在其中。
- 為何要合併模型?先了解什麼是 Draw Calls:
1. 開啟 Blender,將預設的 Camera、Cube、Light 按 Delete 移除。
2. 選擇 [檔案]>[匯入]>[FBX (.fbx)] 匯入轉檔之後的 FBX。
※<檔案名稱_A>的動畫 FBX 不需要進行合併優化。
※<檔案名稱_A>的動畫 FBX 不需要進行合併優化。
3. 點選空白處取消橘色框選,並於右上方攤開階層。
4. 按住 [Ctrl] 鍵選取要合併的模型,選擇 [物體]>[結合] 合併模型,並將合併後的模型命名修改為<骨骼名稱_流水號>。
※只有一張貼圖的靜態物件合併所有模型即可,若有多張貼圖,則依照使用的貼圖合併,原則是一張貼圖一個模型。
※動畫模型則依照骨骼去合併,若無特殊需求則一層骨骼對應一個模型。
※選取時注意先後順序,最後選擇的模型外框線會是較淺的橘黃色,最終會以淺橘黃的模型為基準去合併其他模型,
因此應盡量挑位於中間的模型去選擇。
※只有一張貼圖的靜態物件合併所有模型即可,若有多張貼圖,則依照使用的貼圖合併,原則是一張貼圖一個模型。
※動畫模型則依照骨骼去合併,若無特殊需求則一層骨骼對應一個模型。
※選取時注意先後順序,最後選擇的模型外框線會是較淺的橘黃色,最終會以淺橘黃的模型為基準去合併其他模型,
因此應盡量挑位於中間的模型去選擇。
5. 合併範例。
- 若要顯示面數資訊,需要先在下方狀態列按右鍵,將 [Scene Statistics] 開啟,並在右上方 [疊層] 勾選 [Statistics],面數以三角面為準。
1. 選取骨骼最上層,確認座標模式為 [XYZ 尤拉] 後,將位置和旋轉都歸零。
並於骨骼最上層右鍵 [選取階層] 將模型全選,全選之後選擇 [物體]>[套用]>[縮放] 將縮放尺寸壓掉。
並於骨骼最上層右鍵 [選取階層] 將模型全選,全選之後選擇 [物體]>[套用]>[縮放] 將縮放尺寸壓掉。
2. 點選 [檔案]>[匯出]>[FBX (.fbx)] 匯出檔案。
3. 匯出設定如圖,設定完畢後,也可點選上方 [+] 鍵保存設定供下次直接選用。
- Unity 開啟後會呈現左方原始配置,推薦下載下方場景組慣用的版面配置設定檔。
layout.wlt | |
File Size: | 34 kb |
File Type: | wlt |
1. 分別將 模型.fbx、貼圖.png 置入專案對應的資料夾中,也可以在資料夾點右鍵選擇 [Show in Explorer] 來快速打開資料夾位置。
2. 點選匯入的模型,如圖修改模型設定。
※每次匯入新素材,都要檢查修改過設定!
※每次匯入新素材,都要檢查修改過設定!
3. 點選匯入的貼圖,如圖修改模型設定。
※每次匯入新素材,都要檢查修改過設定!
※每次匯入新素材,都要檢查修改過設定!
4. 選到 Materials 裡的 Scenes 資料夾後,點擊上方的 [+] 創建材質球,依照命名規則命名。
5. 將貼圖分別拖曳進材質球對應的位置中,素材即準備完成。
- 什麼是 Prefab?
Prefab 中文稱為「預製件」,就像樣本一樣,可以把設定好的 GameObjects 合成為一個預先備好的素材,這樣不管在哪個場景中,隨時要使用就可以拉出來使用,不需要每次都重新設定,且若場景上擺了許多相同的預製件需要修改,也不需要廢時一一去修改,只要進到原始的 Prefab 裡修改,所有場景上的物件都會一起更新,是 Unity 中非常常用的功能。
- 深入了解:關於 Prefab 變體
1. 先將模型拖曳進 Hierarchy 內放置到場景上,檢查模型座標和尺寸,確認最外層座標歸零,並且所有物件的 Scale 都為「X1,Y1,Z1」。
※若尺寸有誤,可能是在 Blender 內沒有成功壓掉,需再回去處理。
※若尺寸有誤,可能是在 Blender 內沒有成功壓掉,需再回去處理。
2. 替模型套上材質球。可以把材質球直接拖曳到模型上,或是拖曳到模型的 [Materials] 中。
3. 接下來為模型加上 Collider (碰撞盒)。
選取模型零件,點選右下方的 [Add Component],在搜尋框輸入「coll」即會看見很多種不同形狀的 Collider 可以選擇。
選取模型零件,點選右下方的 [Add Component],在搜尋框輸入「coll」即會看見很多種不同形狀的 Collider 可以選擇。
※一般方正的物件選擇 Box Collider 即可,若是形狀複雜或是需要比較精確碰撞的物件可以選擇 Mesh Collider,
而 Mesh Collider 中的 Convex 選項會將凹面補起來,可依照需求決定是否勾選。
而 Mesh Collider 中的 Convex 選項會將凹面補起來,可依照需求決定是否勾選。
4. 都設置完成後,將場景上的模型直接拖入 Prefab\Scenes 資料夾內就能創建 Prefab,沒有特殊需求的話選擇 Original Prefab 即可,
對於何時該選擇 Prefab Variant,請見上方 關於 Prefab 變體 說明影片。
※非動畫物件至此即置入完畢,不用儲存場景變更,僅須儲存專案即可開始上傳檔案!
對於何時該選擇 Prefab Variant,請見上方 關於 Prefab 變體 說明影片。
※非動畫物件至此即置入完畢,不用儲存場景變更,僅須儲存專案即可開始上傳檔案!
動畫物件需要另外製作動畫 Controller,請遵循以下步驟。
1. 將事先準備的<檔案名稱_A>的動畫 FBX 同樣置入 Models\Scenes 資料夾中,並且不進行模型設定修改。
2. 點選模型左方的 [►] 圖標展開模型內容,在底下找到 Animation Clip。
3. 選取所有 Animation Clip,按 [Ctrl + D] 複製,將它們獨立於模型之外。
4. 將複製出來的 Animation Clip 修改命名後,移至 Animations\Scenes 資料夾中,並將<檔案名稱_A>的動畫 FBX移除。
5. 選取 Animations\Scenes 資料夾,點擊上方 [+] 創建 Animator Controller,並依照規則命名。
6. 點選兩下動畫物件 Prefab 或將 Prefab 放置於場景中在右方選擇 [Open] 開啟。
7. 選擇最上層骨骼,按右方 [Add Component] 找到並添加 [Animator]。
8. 將方才創建的 Animator Controller 拖進 [Controller] 中。
9. 打開 Animator 視窗面板,選擇剛才創建的 Controller,將所有 Animation Clip 拖進其中。
※找不到 Animator 視窗面板的話,請於上方 [Window]>[Animation]>[Animator] 開啟。
※找不到 Animator 視窗面板的話,請於上方 [Window]>[Animation]>[Animator] 開啟。
10. 在狀態方塊按右鍵,選擇 [Make Transition] 可以為所有動畫添加連線,至於如何連線則根據物件用途不同有不同的要求。
基本上至此步驟即可儲存並退出 Prefab 準備上傳檔案。
基本上至此步驟即可儲存並退出 Prefab 準備上傳檔案。
專案資料夾分類
根據物件種類將檔案放置於以下分類之中。
※以下僅列出製作素材可能會使用到的文件夾
Blockbench:製作相關檔案。
├各人員製作資料夾。
└設定圖連結節捷徑。
chibi-test:Unity專案檔案。
└Assets
└GameResources
├Animations
└Scenes:場景物件使用的動畫檔案。
├Materials
└Scenes:場景物件使用的材質球檔案。
├Models
└Scenes:場景物件使用的模型檔案。
├Prefabs
└Scenes:場景物件使用的預製件檔案。
├Scenes
└Scenes:場景檔案。
└Textures
└Scenes:場景物件使用的貼圖檔案。
├各人員製作資料夾。
└設定圖連結節捷徑。
chibi-test:Unity專案檔案。
└Assets
└GameResources
├Animations
└Scenes:場景物件使用的動畫檔案。
├Materials
└Scenes:場景物件使用的材質球檔案。
├Models
└Scenes:場景物件使用的模型檔案。
├Prefabs
└Scenes:場景物件使用的預製件檔案。
├Scenes
└Scenes:場景檔案。
└Textures
└Scenes:場景物件使用的貼圖檔案。
檔案與資料夾命名規則
- 有任何新增的物件名稱統一<Sc_物件名稱_流水號+複合材質_異色板流水號>。
若有物件名稱多個單字,中間不須空格,首字母大寫。
範例=>
Sc_Tree_00a_00
Sc_IronSheet_00_00
※換模型不換貼圖就用不同流水號繼續編輯。
※不換模型換貼圖就用不同異色版流水號繼續編輯。 - 若沒有復合材質球的話就只要有流水號即可。
範例=>Sc_Tree_00_00 - 所有物件的 FBX、Material、Texture 和 Prefab 命名規則相同,貼圖根據功能加上<_種類>,以下為常見的幾種貼圖。
※點擊連結可觀看貼圖說明。
Base Color Map / Albedo Map / Diffuse Map:_D
Metallic Map:_M
Normal Map:_N
Height Map:_H
Ambient Occlusion Map:_AO
Emission Map:_E
範例=>
FBX:
Sc_Tree_00_00
Material:
Sc_Tree_00a_00
Sc_Tree_00b_00
Texture:
Sc_Tree_00a_00_D
Sc_Tree_00a_00_N
Sc_Tree_00a_00_H
Sc_Tree_00b_00_E
Sc_Tree_00b_00_AO
⋮
※FBX本身不會有複合材質球的英文編號。 - 如果遇到特殊 shader 需要依色板合併各種類型貼圖,該張貼圖命名一律為 M 結尾。
範例=>
色板R:Metallic
色板G:AO
色板B:HeightMap
色板A:Roughness
最終貼圖合併為:Sc_Tree_00_00_M - 特規貼圖,最後直接依功能命名。
範例=>
Sc_Tree_00a_00_Mask
Sc_Tree_00a_00_Noise - 四方連續貼圖命名規則<Sc_材質種類_流水號>。
範例=>
Sc_Wood_00 - Unity 檔檔名命名規則<Sc_場景種類_流水號>。
範例=>
Sc_Office_00 - 場景動畫物件的 Animation 和 Animation Controller 命名規則:
Controller<檔案名稱_C>。
範例=>
Sc_Character_00_00_C
Animation Clip<檔案名稱_動畫名稱>。
範例=>
Sc_Character_00_00_Idle
Sc_Character_00_00_walk
※若Animation Clip只有單一線性動畫集成,則命名為<名稱_A>。
提交表格
- 提交表格.psd 範例檔案位於 chibi-test\Blockbench 專案資料夾中,依照範例填寫並且替換圖片完畢後放置於物件同名資料夾中。
※渲染預覽圖請見 [製作相關] 的 渲染提交預覽圖 章節。 - 命名規則<名稱_提交/反饋修_日期>。
檔案整理
- 確認模型都經過優化流程。
- 確認模型、貼圖、材質球、預製件都放置於相對位置的Scenes資料夾中。
- 確認製作人員資料夾中的檔案是否齊全,並且無多餘檔案,應有與物件名稱相同的資料夾,內含:
原始檔.bbmodel、轉檔優化後的.fbx、物件貼圖.png、提交表格.png
GIT上傳注意
※Unity專案上請務必確定是自己修改的檔案才勾選,與檔名相同,自動產生的.meta檔也需要一併上傳。