Unity物件產生、碰撞和觸發2/3_觸發行為

觸發器

觸發器意指觸碰到就執行設定的指令,以飛機射擊遊戲為範例。

遊戲場景布置

  • 新增一個Plane地板,並把Project專案視窗中_03_Texture資料夾裡的Ground貼圖拖拉到地板,因為只是背景的關係所以把Mesh Collider關閉或刪除,調整好地圖與攝影機的範圍與角度,運用第一堂1_2_ Material材質球單元所教的Animation動畫,加入地圖流動的方法,背景就處理好了。
  • 把Project專案視窗內_02_Models資料夾裡的Player拖拉到場景中,並且座標歸零。
  • 如果如上圖沒有貼圖的話,就必須點選_02_Models資料夾內Materials資料夾,選擇Player材質球給予貼圖路徑。模型預設大小的問題,更改Inspector屬性視窗中Transform元件的Scale屬性為0.2,因為預設方向與操作方向相反,所以要作一個父子階層,新增一個空物件命名為Player,並拖拉模型到物件裡層後更改模型的Rotation的Y軸為180。並且把Ground地板座標往下移動避免跟Player重疊。

基礎控制腳本

  • 寫入基礎操作到Player物件中,並設置界線值,腳本內的Bullet是擺放到之前製作過的子彈預製物中。

_01_PlayerMove腳本:

  • 在Update裡寫入克隆子彈的程式碼,子彈的位置可以設定為物件座標加一個新的三維座標的距離,並給予0.2秒發射延遲時間。_01_PlayerMove腳本:
  • 新增一段程式碼於_02_ButtonFly腳本中,讓子彈兩秒後刪除。

_02_ButtonFly腳本:

觸發器的設置

把Project專案視窗_02_Models資料夾裡的Monster拖拉到場景中,並且座標歸零後修改Scale大小為0.2,放置到與Player的相對位置。

點選Monster物件在Inspector屬性視窗內添加Rigidbody剛體,Sphere Collider圓型碰撞,在Rigidbody剛體元件內的Use Garvity取消勾選Sphere Collider元件內的 Is Trigger確定勾選,這時Monster物件就有實體碰撞了。之後添加入_03_Monser腳本。

_03_Monser腳本:

運行遊戲,點擊滑鼠左鍵發射子彈後,就會發現撞擊到Monster物件時,子彈自動會消失,這就是觸發器的運用。

相關文章

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *