Unity 週期表製作

前段時間為學校開發介紹原子結構的 VR 教學遊戲,製作 3D 元素週期表的模型雖然難度不高,但是先前使用微軟 MRTK 套件製作 Oculus Quest 2 遊戲時,看過 MRTK 開放原始碼的元素週期表,而此 VR 遊戲也需支援 HTC Vive Focus 3 裝置,稍微研究找到方法,分享給需要的 VR 遊戲開發者。

瀏覽 Mixed Reality | Microsoft Docs - 元素週期表的網頁 [ 連結 ]

前往 混合式現實設計實驗室 GitHub [ 連結 ] 下載資源包並匯入 Unity 專案。

開啟 [ MRDL_PeriodicTable > Scenes ] 資料夾的 Main 場景。

此場景在編輯模式沒有實際的元素週期表,主要的物件是在 Play 模式透過腳本控制而動態生成。

按下 Play 後將 SceneObject 底下的 TableParent 物件拖曳到自行建立的 Prefabs 資料夾,製作 Unity 元素週期表的預製物件。

將此物件重新命名為 "PeriodicTable"

建立一個空白新場景,將剛才建立的 PeriodicTable 預製物件拖曳到原點位置。

為了避免稍後匯出資源包時一併附帶 MRTK 相關檔案,造成匯入新專案時出現錯誤,需要移除用不到的元件。

從 Hierarchy 視窗選取 PeriodicTable 物件,按下滑鼠右鍵執行 Unpack Prefab Completely 避免後續操作受到限制。★

選取 PeriodicTable 物件,移除 GridObjectCollection 與 Layout Style Changer 元件。

接著選取 Element 物件,刪除 Element、Present To Player、Interactable 元件。

建議可使用搜尋功能後選取所有的 Element 物件,再一次移除這些元件。

搜尋 DetailData 物件,並刪除全部 DetailData 物件。

搜尋 MoleculeObject 物件,然後刪除所有的 MoleculeObject 物件。★

搜尋 PressableButtonPlated 物件,刪除所有的 PressableButtonPlated 物件。

每個 Unity 化學元素物件下的 ElementNumber, ElementName, ElementNameDetail 分別是原子序、元素縮寫與全名。

需要時可修改文字內容(例如中文化),預設的字型是 selawk 請替換為 Arial 字型,或可匯入其他字型使用。

完成以上操作步驟後,將 Hierarchy 視窗的 PeriodicTable 物件拖曳到 Project 視窗的 PeriodicTable 預製物件上。

此操作將會更新預製物件,彈出的對話框按下 Replace Anyway 確認替換物件。

選取 PeriodicTable 預製物件,匯出資源包。★

匯出 Unity 週期表的資源包可參考下圖,比對是否有多餘的檔案。

新的專案只需要匯入這個整理過的資源包,即可快速製作 Unity 元素週期表! /Share