Unity 5 學習筆記 01 —— 靜態碰撞體(Static Collider)與動態碰撞體(Dynamic Collider)


 

博主近來開始學習Unity 打算做一些筆記來督促自己學習,希望這樣能改一改自己拖延以及堅持不久的壞毛病……

 

這些筆記里主要會寫一些博主學習時遇到的一些疑惑的地方,可能會有一些很弱智的,也可能是比較有用的。由於博主剛剛開始學習Unity,所以很可能在文章中間有一些說錯的地方,希望觀眾同學們及時幫忙指出,lz也會及時訂正。共同進步……

 

以下開始是正文:

 

在官方教程Roll-a-ball tutorial中的 COLLECTING THE PICK UP OBJECTS (http://unity3d.com/cn/learn/tutorials/projects/roll-a-ball/collecting-pick-up-objects?playlist=17141)中。添加了所有的“得分標記“之后,視頻中提到了一點:

      

“Unity為了優化性能,會計算場景(scene)內所有靜態碰撞體(static collider)的體積,並保存到緩存中。這樣對於那些不會移動的物體來說,便可以節約計算的資源。如果使靜態碰撞體發生移動,旋轉或縮放,則這個緩存會被重新計算生成,而這將會耗費一定的資源”。

 

因此,對於經常發生變換的物體,應該將其設定為動態碰撞體(dynamic collider),這樣的話,它們的變換將不會導致緩存在每一幀都被刷新,可以做到節約資源的目的。

同時視頻中也提到:

 

“(默認情況下)擁有一個剛體屬性(rigidbody)的碰撞體即為一個動態碰撞體,而沒有剛體屬性的碰撞體則為一個靜態碰撞體”。所以對於一些在場景內經常發生變化的物體(比如懸浮在空中旋轉的金幣等),需要為其賦予一個剛體屬性,這樣的話便可以在一定程度上節約計算資源。

 

當然,如果作為了剛體,則會受到重力的影響自動下沉。然而像漂浮旋轉的金幣這樣的東西多半需要設置為一個觸發器,所以不會受到碰撞體積的影響,而會穿過地面,直接掉下去。因此可以在剛體屬性的選項里面取消勾選“Use Gravity”選項,這樣就不會受到重力的影響。不過有些時候,可能需要忽略的不止是重力。所以可能更好的方法是勾選“Is Kinematic”選項,這樣的話這個剛體就不會受到任何力的影響,而只會通過transform進行變換。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM