1. 程式人生 > >記憶中的畫素塊褪色了嗎?用開源的體素編輯器重新做個 3D 的吧!

記憶中的畫素塊褪色了嗎?用開源的體素編輯器重新做個 3D 的吧!

> 本文適合對圖形表現有興趣的美術或者開發人員 ![](https://img2020.cnblogs.com/blog/759200/202101/759200-20210119151821103-1571794216.jpg)

本文作者:HelloGitHub-Joey

早期的的顯示裝置畫素顆粒較大,使得顯示內容的顆粒感嚴重,像是由一堆方塊組成的。比較好的例子就是 GBA 上的遊戲,相信這也是很多朋友寶貴的童年回憶。這種藝術風格一直延續到現在,雖然顯示裝置的解析度已經足以顯示非常細膩的畫面,但還是有不少人偏愛畫素風格的遊戲與藝術畫。 ![](https://img2020.cnblogs.com/blog/759200/202101/759200-20210119152015343-1800242860.jpg) 畫素(Pixel)的概念對應到 **3D** 空間中就是體素(Voxel),使用離散的基本單位來表示 **3D** 空間中的物體,最直白的理解就是一個個小方塊,“我的世界”就是一款非常著名的體素遊戲。 這裡是 **HelloGitHub 推出的《講解開源專案》系列**,今天要介紹的體素編輯器 **Goxel** 就是一款用來創作 **3D** 體素藝術作品的編輯器。有了它人人都可以嘗試自己製作出 3D 畫素作品,回味童年的味道。 > 專案地址:https://github.com/guillaumechereau/goxel ## 一、快速開始 **Goxel** 是一款開源的體素編輯器,提供跨平臺支援包括 **iOS**、**Android** 與線上網頁版。軟體內部使用稀疏矩陣儲存資料,使得其可以支援非常大規模的場景編輯。完成編輯後,軟體支援匯出包括 **glTF2.0**、**obj** 在內的多種 **3D** 格式檔案,這些格式可在其他軟體或者遊戲中使用。 ### 1.1 下載安裝 專案的[官網](https://goxel.xyz/)的[下載頁](https://goxel.xyz/download/)中提供了桌面平臺和移動平臺的下載連線。移動平臺是直接到對應商店的連結,**iOS** 裝置可以直接在 **App Store** 中下載。 線上網頁版在首頁上方 [Web Version](https://goxel.xyz/live),在瀏覽器內即可體驗。 ### 1.2 編譯安裝 此部分內容針對希望進行編譯安裝或者在 Linux 系統上使用的朋友,如果其他平臺上希望簡單體驗軟體可以直接下載二進位制檔案使用。 首先需要安裝所需的依賴庫,可直接使用對應的包管理軟體安裝。所需的依賴如下(不同系統下軟體包名字可能稍有區別): ```bash - scons - pkg-config - libglfw3-dev - libgtk-3-dev ``` 安裝完所需依賴後,首先 **clone** 專案: ```bash git clone https://github.com/guillaumechereau/goxel.git ``` 完成 **clone** 後進入專案根目錄並輸入: ```bash make release ``` 即可完成編譯。完成後會在根目錄生成 **goxel** 可執行檔案,輸入: ```bash ./goxel ``` 即可使用。 **我在測試時發現 Linux 平臺上存在嚴重 bug 會導致無法繪製方塊或者無法使用 UI,建議使用 Mac 進行嘗試。** ## 二、介面介紹 ![](https://img2020.cnblogs.com/blog/759200/202101/759200-20210119152051146-152627832.png) 類似傳統的編輯器軟體,介面中間區域是進行體素繪製的部分,點選滑鼠左鍵並拖動進行筆刷操作。 ### 2.1 工具欄按鈕介紹 ![](https://img2020.cnblogs.com/blog/759200/202101/759200-20210119152100533-645556773.png) 工具欄按鈕使用紅框劃出,分為兩類:**撤銷重做**與**筆刷控制**。 撤銷重做部分(左邊三個按鈕)包含了:**撤銷**、**重做**、**清空當前層** 三個功能按鈕,提供筆刷歷史控制,可以以單次左鍵按下滑動操作為單位的撤銷與重做。第三個按鈕提供了清空當前圖層所有體素的功能。 筆刷控制部分包含右邊四個按鈕,其中前三個按鈕為筆刷模式按鈕,第四個按鈕用來控制筆刷作用的體素顏色。筆刷模式包括: 1. 增加體素模式,滑鼠拖動添加當前設定顏色的體素 2. 刪減體素模式,滑鼠拖動刪減軌跡上的體素 3. 修改顏色模式,滑鼠拖動將軌跡上體素的顏色修改為當前設定顏色 ### 2.2 左邊欄按鈕簡介 根據圖中標識的序號對各個按鈕進行功能簡介: 1. 工具欄分頁,點選後會彈出具體的工具列表,包括筆刷,平面蒙板,模糊選擇,顏色拾取,程式化生成等工具 2. 色板分頁,點選後會彈出常用的預設顏色列表 3. 圖層管理頁,非常類似 **Photoshop** 中的圖層概念,可以在各個圖層中單獨繪製體素,該分頁提供了圖層的增刪顯示控制 4. 顯示控制,點選後會彈出全域性顯示控制的選項,此部分僅控制畫面顯示效果,對編輯不影響 5. 材質控制,點選後會彈出全域性體素的材質控制選項,包含簡單的粗糙度,金屬度等屬性控制 6. 燈光控制,點選後會彈出整體環境燈光的控制選項 7. 相機控制,點選後會彈出相機控制的分頁,在此分頁可以增減相機,並在多個機位間切換。另外也可控制相機的位置朝向,並提供了若干正視視角的預設攝像機角度 8. 畫幅控制,此部分提供了整體 **3D** 空間的相對位置與大小控制項 9. 渲染,點選此按鈕後會開始離線渲染過程,將當前相機視角下的畫面使用離線渲染演算法渲染出來,具體的效果與上面燈光材質分頁中的設定相關聯,完成渲染後可儲存圖片 10. 匯出分頁,此分頁中提供了將當前編輯結果匯出成其他 **3D** 格式檔案的選項 ## 三、使用建議 我測試了 **Linux**、**Mac**、**iOS** 以及 **Web** 這四個平臺,各平臺情況總結如下: 1. **Linux** 平臺需要編譯安裝,編譯過程很順利,但存在嚴重介面 bug,導致無法使用,不建議 2. **Mac** 平臺上使用觸控板手勢支援不太完整,若使用滑鼠的話體驗較為良好 3. **iOS** 平臺上個人認為是使用體驗最好的,手勢支援完整,所見即所得,官網上的[宣傳視訊](https://youtu.be/pvBd3Zq0Of8)即是使用 **iPad Pro**演示 4. **Web** 的選單欄按鈕無法使用,但匯出功能可以使用左邊欄中按鈕完成,不影響使用,是最方便的體驗方式 ## 四、作品展示 以下圖片來自官網[Gallery頁](https://goxel.xyz/gallery/) ![](https://img2020.cnblogs.com/blog/759200/202101/759200-20210119152112078-650168760.jpg) ## 五、最後 曾在各種視訊內容中看到過作者在 MC 中創造各種美麗的景觀,實現各種有趣的想法,現在使用這款編輯器亦可做到相同的事情,加上編輯器內提供的各種操作工具,能夠使創作者們更加方便快捷地去繪製新增體素,更加自由且快速地實現自己的想法。軟體支援的匯出格式亦可將作品轉移到其他 **3D** 軟體中進行進一步加工製作,成為一個完整的 **voxel art** 作品。 此外,作為一個開源專案,如果如果在使用過程中發現一些可以改進的點且有開發能力的話,也可嘗試與專案維護人員溝通交流,確定開發計劃並回饋社群,幫助軟體改善的同時亦能對自己的簡歷增加一個亮眼的經歷。