UNITY_Colliders
照常推薦Unity官方文檔
本篇文章是介紹在游戲開發過程中,常用的物理組件(Box Collider,Rigidbody等)介紹一些基本的作用,和一些需要規避的地方。
Box Collider
Box Collider形狀類似於箱子,所以也經常使用在地板,牆壁,坡道上;也是組合碰撞器用的最多的一種。
屬性 | 功能 |
---|---|
Is Trigger | 如果啟用,此碰撞器用於觸發事件,並被物理引擎忽略。 |
Material | 物理材料,確定與他們互動的方式 |
Center | 碰撞器在物體空間種的位置 |
Size | 碰撞器尺寸的大小 |
Capsule Collider
膠囊形碰撞器實際上是通過一個圓柱連接的兩個球體,可以通過Height和Radius調節我們需要的形狀。
屬性 | 功能 |
---|---|
Radius | 碰撞器的半徑 |
Height | 碰撞器的高度 |
Direction | 膠囊體縱方向的軸 |
Mesh Collider
網格碰撞器需要一個網格,會根據這個網格來創建碰撞器。該碰撞器的碰撞檢測會比其他的碰撞器更加准確,標記Convex
也會與其他碰撞器發生碰撞。
屬性
屬性 | 功能 |
---|---|
Convex | 勾選之后會啟動Convex , 此網格碰撞器可以與其他碰撞器發生碰撞 |
注意
網格碰撞器會更好的契合模型的形狀,可以得到更加精准的碰撞,同時性能的消耗也是需要注意的地方;慎用,如果只能使用Mesh Collider,那么我們可以在Import Settings
中禁用 Normals
物理系統不需要。
Mesh Collider限制:
- 沒有Rigidbody組件的物體上僅支持不勾選Convex的mesh collider,如果要應用剛體請勾選。
- 在某些情況,為了Mesh Collider正常工作,需要勾選
Import Settings中的Read/Write Enable
。 這些情況包括:- 負比例縮放(-1,1,1)
- 剪切變換
Sphere Collider
球形碰撞器常用語球狀物體。
可以通過半徑來調整大小,除了應用與球狀物體,還可以應用於掉落的巨石和其他需要滾動的物體。
Wheel Collider
輪胎形碰撞器主要應用於車輛。它具有內置的碰撞檢測,車輪物理學和基於滑動的輪胎摩擦模型。
屬性
屬性 | 功能 |
---|---|
Mass | 質量 |
Radius | 半徑 |
Wheel Damping Rate | 施加在輪胎上的阻力值 |
Suspension Distance | 車輪懸架的最大伸展距離;懸架總是通過Y軸向下延伸 |
Force App Point Distance | 這個參數定義了車輪力的施加點。這預計在離懸架行駛方向的靜止位置處的車輪基部以米計。當forceAppPointDistance = 0 這些力量在輪子基地靜止時被施加。一個更好的車輛將有輕微低於車輛重心的力量。 |
Center | 車輪中心 |
Suspension Spring | 懸架試圖通過增加彈簧和阻尼力來達到Target Position |
Spring | 更大的值使懸架更快地到達目標位置 |
Damper | 減緩懸架速度。數值越大,懸架彈簧的移動速度越慢 |
Target Position | 懸架的距離沿懸架距離。1映射到完全擴展的懸架,0映射到完全壓縮的懸架。默認值是0.5,這與普通汽車的暫停行為相匹配。 |
Forward/Sideways Friction | 當車輪向前和側向滾動時的輪胎摩擦特性 |
注意
輪子的碰撞檢測是通過從中心向下投射通過局部Y軸的光線來執行的。車輪有一個半徑,可以根據懸架距離向下延伸。車輛通過使用不同屬性的腳本進行控制:motorTorque,brakeTorque和steerAngle。
輪對撞機使用基於滑動的摩擦模型來與其他物理引擎分開計算摩擦。這允許更真實的行為,但也會導致車輪碰撞器忽略標准的物理材料設置。
轉動輪胎的時候最好不要轉動碰撞器,而是找到一個與碰撞器分開的物體來模擬車輪的轉動。
Terrain Collider
屬性
屬性 | 功能 |
---|---|
Terrain Data | 地形數據 |
Enable Tree Colliders | 樹木的碰撞器將會啟用 |
本作品由繁星隕辰采用知識共享署名-非商業性使用 4.0 國際許可協議進行許可。