本系列文章是對<3D Apple Games by Tutorials>一書的學習記錄和體會git
此書對應的代碼地址github
MagicaVoxel 是個很棒的3D內容建立工具,由於它是免費的! 你能夠從這裏下載ephtracy.github.io框架
注意: 1. MagicaVoxel for Mac 啓動後多是黑屏,啥都沒有,什麼都點不了?把軟件MagicaVoxel.app先拖出文件夾,再放回去應該就行了編輯器
- 若是出現"App can't be opened" ,打開終端,嘗試如下命令:
chmod +x [directory]/MagicaVoxel-mac.app/Contents/MacOS/MagicaVoxel
界面從左到右分別爲:工具
先給本身建立一個空白的工做臺. 在右側的文件設置裏選擇New來建立一個新模型.設置體素模型規格尺寸爲9 9 9 ,而後點擊編輯設置下面的Zero來清空整個模型: oop
在編輯區頂部命名這個模型爲MrPig,並按回車.當提示保存時選擇save: post
咱們將從建立小豬身體的基礎層開始. 從左側的顏色面板中選擇合適的顏色. 按B來設置筆刷爲Box Mode,而後按T來選擇Attach. 移動位置到(x: 1, y: 7, z: -1).左鍵單擊並按住,拖拽到(x: 7, y: 7, z: -1).到位後釋放,就獲得了一個一體素高的基礎層: 學習
更改筆刷類型,按F來切換到Face Mode,同時確認Attach仍然是被選中的. 左鍵單擊基礎層的頂部平面並向上拉伸一個體素高.重複操做直到基礎層有6體素高: 3d
能夠點擊視圖設置中的 Grid來幫忙看清尺寸.如今建立頭部. 更改筆刷模式,按B回到Box Mode,同時確保Attach還是被選中的. 從(x: 2, y: 6, z: 5)位置開始.單擊並拖動到(x: 6, y: 4, z: 5):
從左側面板中選擇深粉紅色. 使用和上一步同樣的筆刷設置,從(x: 2, y: 1,z:3)到 (x:6,y:1,z:1)建立一個盒子:
更改筆刷模式,按V切換到Voxel Mode,而後按R選擇Erase. 擦除鼻子上的兩個鼻孔,參考下面的圖片:
分隔他的兩個眼睛:選中和前面鼻子一致的深粉紅色. 將小豬沿y軸旋轉180度,讓後面顯示出來. 仍然是Voxel Mode,按T來選擇Attach模式,從(x: 4, y: 7, z: 2)開始建立一條螺旋狀的尾巴,以下圖:
完成後,再沿y軸旋轉180度,讓前面顯示出來.選中和前面一致的深粉紅色. 按1來打開x軸對稱.你會注意到鏡像X按鈕處於打開狀態.如今你在一邊所作的全部的操做會自動鏡像到另外一邊. 開始一個體素一個體素建立耳朵,會看到另外一隻耳朵也在同時建立.參考下面的圖片:
目前,小豬是處於邊界的底部,因此你須要將他向上移動來騰出空間給他的腿. 你能夠進入Move Mode並向上拖拽模型,或按住Command鍵並向上拖拽也能夠. 向上旋轉小豬,露出他的腹部. 用一樣顏色和筆刷設置,並確保沿x軸鏡像模式仍然是打開狀態. 開始建立他的後腿,而後是前腿.參考下面的圖片:
只剩下着色了. 按G進入Paint Mode. 從左側顏色面板中選擇白色,在眼睛位置單擊着色.完成後,再選擇黑色給瞳孔着色:
接着,轉動小豬,讓他正面對着你. 將他的耳朵和鼻孔塗成黑色,以下:模型已建立完成,但SceneKit並不支持MagicaVoxel的原生格式 .vox.幸運的是還能夠將模型輸出爲常見的 .obj格式. .obj格式是Wavefront Technologies開發的開放標準幾何體定義,並被不少3D創做工具支持. 從MagicaVoxel中輸出體素模型易如反掌.
小豬還須要一個敵人-小狼.
在resources文件夾下,你會找到MrWolf.vox文件.複製到Applications/MagicaVoxel/vox,而後在MagicaVoxel中打開.
加載完成後,能夠以特定格式輸出了. 要輸出爲 .obj格式,只需單擊Export區域的obj就能夠了.
輸入文件名,選擇輸出路徑,其他保持默認,點擊 save.
能夠在 Applications/MagicaVoxel/export/ 下找到輸出的文件了.同時在你項目的 resources文件夾下也會有一個複本. 共輸出了三個不一樣的文件:如今已經輸出了模型,能夠導入到Xcode中了,而後轉換爲合適的SceneKit場景文件.
選中MrPig.scnassets文件夾下的MrWolf.obj文件.模型是全黑色的,沒關係,咱們立刻修復它. 在菜單設置裏找到Editor,而後選擇Convert to SceneKit file format (.scn):
這裏提示,你能夠選擇建立一個原始 .obj文件的複本,或者用轉換後的 .scn 版本替換原來的文件.選擇Convert繼續:
MrWolf.obj文件已經轉換爲合適的 MrWolf.scn文件了.
選中場景中的小狼節點,打開材料檢查器.更改Lighting model光照模型爲Lambert並更改Diffuse確保它使用了MrWolf.png 做爲紋理:
在節點檢查器中,更改Identity爲MrWolf.並更改縮放爲(x: 0.08, y: 0.08, z: 0.08).這樣的縮放讓他和小豬有了相同的尺寸:
切換到物理檢查器,更改物理形體的 Type爲 Kinematic: 設置 Category mask爲2, Collision mask爲-1.更改 Physics Shape的Type 爲 Bounding Box並設置Scale爲 0.05,這樣碰撞幾何體更貼緊小狼的形體了.你能夠在projects/final/ Mr.Pig/ 下面找到完成版.
再來點小挑戰吧! 將小狼添加到遊戲中,並讓他繞着樹林追尾巴.準備好了麼?別擔憂,這裏有些小提示能夠幫你. 選中MrWolf.scn並作點改變: