Unity 室內設計-開門功能
整理基本模型 1. 展開 Apartment 物件將底下的門都拖曳搬出成為獨立物件,可建立 Doors 空物件來放門的物件,以方便管理。 2.開始建立開門/關門的動畫這裡使用 door03 物件來示範後續將依照此製作方式的概念來製作其他種類的門,將 door03 物件 Unpack 段開連結並在 door03 下新增兩個空物件當作門板 (A) 與門把 (B) 的轉軸中心(如果模型的軸向中心正確則不需要此步驟),並將結構調整為如下圖方式。★
建立觸發區 1. 開啟 [ HurricaneVR > Framework > Models ] 資料夾,將 SocketOval 物件拖曳到 A 軸物件底下成為子物件並且調整位置與大小,接著新增一個 Box Collider 並調整位置與大小再將 Is Trigger 勾選起來。 建立動畫 1. 在選擇 door03 物件的狀態下打開 Animation 視窗並按下 Create 建立動畫檔命名為 door03_Open 並按下存檔。 2. 將製作完成的 door03_Open 複製產生第二個動畫,重新命名為 door03_Open_Idle 與 door03_Close ,接著看到 Inspector 屬性編輯器 (還在選取 door03 物件的狀態下) 在 Controller 欄位開啟 door03 動畫控制器即可打開 Animator 視窗。 3. 將 door03_Open_Idle 與 door03_Close 動畫拖曳到 Animator 視窗並且連結起來,接著將左側分頁切換到 Parameters 新增一個 Play (Trigger) 參數,如下圖所示: ★ 4. 點選各動畫之間連結的線並修改為以下圖示設定,三條連結皆相同。 ★ 5. 回到 Animation 視窗並將動畫切換到 door03_Open_Idle 在將第一格以外的動畫影格都刪除,再將時間軸調整到 0:01 然後點擊兩次上方的深灰色影格條即可複製出一格。 切換到 door03_Close 並將影格全選接著將 0:00 格左側的拖曳條拖曳到 6:00 (變成右側) 如下圖:
接著再拖曳第一個影格回到 0:00 如下圖: 完成。
建立控制腳本 1. 建立 VR_Animator.cs 腳本,程式碼如下:★
void OnTriggerEnter(Collider other) 2. 將編輯好的 VR_Animator 腳本元件套用到 SocketOval_Out 與 SocketOval_In 物件上並將 door03 物件拖曳到 Animator 欄位中,按下 Play 測試是否正常執行。完成! |