Unity Destroy 銷毀物件Author: Kelvin Huang使用 Object.Destroy 銷毀物件,例如刪除遊戲角色收集的物品、刪除打倒的敵人或發射的子彈,避免影響遊戲執行效能。 以下腳本展示物件生成後 5 秒自動銷毀。 碰撞到物件或是被其他物件碰撞時立即銷毀。 關於 OnCollisionEnter 碰撞事件可參閱 Unity 網站的說明。
若需要判斷碰撞的物件,第一種方法是使用「物件名稱」。 以下腳本展示物件碰撞到名稱為 Floor 的地板物件時銷毀物件,碰撞到其他物件時不會有任何互動。
第二種方法是使用「標籤」。例如判斷子彈擊中的對象,可以在敵人的遊戲物件上設定 Enemy 標籤。 碰撞到物件時銷毀物件,以下的範例是子彈射到敵人時,將子彈與敵人同時銷毀。
物件進入觸發器的範圍,離開時銷毀該物件。關於 OnTriggerExit 的使用方法可參閱 Unity 網站的說明。
移除物件上的特定元件,例如按下按鍵時移除 Light 燈光元件。注意!物件必須有 Light 燈光元件,否則將會出現錯誤!
注意!如果使用 Destroy 銷毀粒子,將會讓已發射的粒子全部消失! 如果希望粒子能夠逐漸消失,可參考 Unity 標準資源內附的 ParticleSystemDestroyer 腳本:
物件於設定時間自動銷毀 TimedObjectDestructor 並可選擇銷毀之前先 Detach 子物件。
Copyright © 2024 CG Digital Corp. All rights reserved.
|