前言
這篇文章將會介紹 Collider 並說明應用與控制方式。
Collider | 碰撞體
如果你還不了解什麼是 Collider 的話,這是一個用於模擬物體碰撞的一個組件,如果想要了解更加詳細,可以參考我之前的幾篇文章,分別為介紹 Collider 的基本資訊和程式控制方式。
2D Collider | 2D遊戲的碰撞體
每一個碰撞體都有 2D 碰撞體的版本,在 2D 遊戲的世界中,依照遊戲模式碰撞體會有不同的意義,在上帝視角的遊戲中,碰撞體可以藉由放置在腳底呈現出高度;在平臺遊戲中,可以藉由碰撞體的有無來呈現前後,不同的遊戲世界中會有不一樣的碰撞體效果。
3D Collider | 3D遊戲的碰撞體
在 3D 遊戲中,碰撞體就是那些基礎組件的組合體,可以運用碰撞搭配粒子特效製作出發光透明的平臺;大多數的時候把 3D 碰撞體當成體積用就可以了。
Collider Control | 應用與控制
不同的控制方式能製作出不同的使用效果,這邊總共會介紹不添加任何其他組件的碰撞體、程式控制、動畫控制共三種控制方式。
Only Collider | 不包含剛體的碰撞體
不添加任何東西的碰撞體,代表這個物件不會移動,但是有碰撞體積,這個物件不會因為任何情況而改變,通常用於背景物件,或是不會與任何東西互動的物件,因為沒有剛體代表不會有反作用力。
C# Script | 程式控制
程式控制的剛體通常用於角色、陷阱、機關、敵人等等,應用廣泛,同時取消舊有的碰撞體再啟用另外一個碰撞體,能很好的改變角色狀態,像是隱身、鬼步等等。
程式不太容易控制碰撞體本身的大小,因此通常用於機制判定,如果要在遊戲中控制碰撞體的大小變化,通常會使用動畫控制的方式來達成。
Animator Animation | 動畫控制
動畫能達成很多特別的東西,運用錄製與時間軸,玩家能藉此做像攀爬、定點跳躍等等的動作,也能控制碰撞體做出比較不規則的動作,然而動畫的控制的缺點在於,它比較難修改、維護性比較低。
如果想要快速製作出某些場景或測試環境,可以使用動畫控制快速製作,雖然維護性比較低,但是勝在不需要寫程式、效率較高,但如果移動路徑和改變需求隨機且不可控,那還是寫程式比較好。
後記
我原本有想到要寫什麼文章,直到我在群組被問到碰撞體相關的問題,不知不覺中我已經脫離了初學者的範疇,可以教導其他人,我也算是有十足的成長了。
瓶裝雪