VR漆刷式繪畫

VR-Paint Brush

許邵鈞徐宏宇楊恭彰張佑銓葉正聖

 摘要

  本計畫主題是漆刷式繪畫,通過設備輔助可以進入 VR 世界進行繪圖。 繪畫出的帶狀線條會具有 VR 空間中特有立體感,呈現出來的成果也與一般 2D 繪畫截然不同效果。 使用的開發程式為 Unity3D,透過結合 SteamVR 來進行介面設置與手把控制。 本計畫操作方式類似小畫家等繪圖軟體,並且做出相關的使用指南方便使用者上手。

  縫合功能是為了方便使用者繪圖的功能,基本定義是若兩線帶距離相近,程式會自動將其縫合成平面, 減少多餘的空隙產生,可以降低繪畫平面的難度。不過這樣的特殊功能會衍生出, 因為資料點重複存取及反覆搜索相近的距離,導致程式緩慢甚至卡頓的問題。

  為了處理這樣的問題,本計畫使用 KDTree 解決。這個搜尋法可以減少為了檢索資料點而執行過多次的情況,透過分類的方式給將需要的資料點放入 KDTree 當中。 因為經過多層的分類,檢索會加速許多,同樣的程式也不會多次執行,可以有效的使程式負擔減少。 最終成品期望做到使用者可以繪畫出完整的圖畫,並且順利的縫合線帶間的空隙,建構出完整的 3D 物件。

  在做 Unity 專案的時候,經常遇到版本控制的問題,所以本計畫最後利用 GitHub 解決此問題。 正確的更新專案可以免去很多版本錯誤所浪費的時間,而且放在網路上也可以被更多的人看見。