iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0

製作 Voxel

個人是習慣使用 Goxel 作圖,輸出成 vox:

再匯入 VoxelShop ,只是圖層資訊會遺失,匯入後要重建圖層。

當然也可以直接在 VoxelShop 完成繪圖,包含調色盤、對稱繪圖等功能比 Goxel 更完整。

題外話,.vox 檔案的規格是公開的[^vox-spec],完全可以照它的格式實做在其他軟體上。

輸出 Collada (.dae)

這裡可以下載 VoxelShop,執行方式如下:

java -jar voxelshop-start.jar

輸出的時候 Object Seoaration 記得選 "Per Layer", "Merged" 會把所有圖層合併:

完成輸出後,你會得到兩個檔案:

  • <name>_texture0.png
  • <name>.dae

其中 dae 檔中對於貼圖路徑的描述在 blender 匯入的時候會有問題,至少在這個環境下是有問題的:

  • Linux (Ubuntu)
  • VoxelShop 1.8.26
  • Blender 2.82

要把 dae 檔案中的:

<init_from>file://test_texture0.png</init_from>

改成(檔名請依實際情況做修改):

<init_from>./test_texture0.png</init_from>

Blender Time

改變貼圖模式

匯入模型後會發現貼圖糊糊的:

這需要修改貼圖的內插模式 (texture interpolation),選擇模型後到材質的工具選項,展開 Base Color ,把 Linear 改成 Closest

重新命名 UV map

因為需要把拆件的模型合併成單一物件才能綁骨架,但是直接進行合併的話會造成 UV map 設定損壞(貼圖失效),在合併之前要先把 UV map 命名成相同的名稱。

▼依序點開不同的部件然後修改成相同的名稱

Join 模型

▼匡選所有要合併的部件後,按下滑鼠右鍵之後選擇 "Join"

綁骨架

Shift + A 叫出選單後選擇 Armature

▼開啟 In Front 我們才能看到被模型包住的骨架

▼在選擇 Armature 時的編輯模式,按 Shift + A 可以繼續新增骨架

▼持續新增、調整位置的動作直到完成骨架

▼記得要幫骨架命名,不然等等調權重時候會分不清楚是在調哪個骨架的權重

▼接著先用滑鼠選擇人物模型,按住 Shift 再用滑鼠選擇骨架,然後按下 Ctrl + P 會跳出選單

一般的骨架教學會選擇 "With Automatic Weights" 即自動權重,不過因為 Voxel 的模型所需要的權重模式和自動權重賦予的模式不相同,這裡我們選 "With Empty Groups" 就好,選了自動權重也沒關係,就是要把多餘的權重「塗掉」有點麻煩。

▼接著我們選擇模型後進入權重編輯模式

▼在編輯權重之前記得從 「Vertex Groups」 選擇想要編輯的骨架

▼接著我們需要選定要編輯的區域,「塗權重」時候才不會影響到不想影響的頂點。

  1. 進入面選擇模式
  2. 選擇一個三角面
  3. Ctrl + L 選擇所有相連的頂點

▼選擇筆刷模式後,選擇點編輯模式,接著拿筆刷對著頂點塗塗塗

▼設定完權重之後,骨架的綁定才算完成,接著只要控制骨架就能控制模型囉!


上一篇
Day 19 Pixel Art (LibreSprite, Aseprite 簡介)
下一篇
Day 21 R3F 多重鏡頭
系列文
關於用 Javascript (Typescript) Stack 打造某種 Backend 3D Rendering 的東東這檔事23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言