有沒有辦法檢測玩家(具有剛體)物體上的碰撞體是否與2D環境中的其他碰撞體碰撞?檢查物體是否與任何東西碰撞
-1
A
回答
1
/編輯 - 實際上piojo的計數器的想法更好,只需使用int而不是bool。 一種方法是在腳本中添加一個叫做碰撞的int並將其設置爲0.然後,如果在任何時候碰撞器觸發OnCollisionEnter只是增加它,並在OnCollisionExit中減少它。 這樣的事情應該爲3D工作:
public int collisions = 0;
void OnCollisionEnter(Collision collision)
{
collisions++;
}
void OnCollisionExit(Collision collision)
{
collisions--;
}
https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html
https://docs.unity3d.com/ScriptReference/Collider.OnCollisionExit.html
4
不是本身,而是有兩種方法,你可以得到的信息。保持int
計數器最簡單,並將其增量爲OnCollisionEnter
並遞減爲OnCollisionExit
。當計數器爲0時,不存在衝突。
另一種方式,它會告訴你哪些對撞機重疊,但不一定如果他們觸摸,是使用物理功能。注意你有哪種類型的對撞機 - 球體,膠囊,盒子。瞭解對撞機的尺寸/形狀/位置,您可以撥打Physics.OverlapBox
,Physics.OverlapCapsule
或Physics.OverlapSphere
。賦予函數與對撞機相同的形狀,並且它將返回與該空間重疊的碰撞體。 (對於2D對撞機,您可以使用Physics2D.Overlap*
功能。)
相關問題
- 1. 如何檢查兩個Box2d物體是否在任何時候碰撞/重疊?
- 2. 物理體碰撞檢測
- 3. 2D碰撞檢測和OpenGL的東西
- 4. 碰撞檢測不會返回任何東西
- 5. 與角度物體碰撞
- 6. 與兩個物體碰撞
- 7. 與多個物體碰撞
- 8. jQuery碰撞插件|如何真正檢查是否有碰撞
- 9. 如何檢查兩個移動物體是否相互碰撞IOS
- 10. Andengine碰撞 - 檢測碰撞和刪除物體時的例外
- 11. 非方形物體的碰撞檢測
- 12. 補間物體上的碰撞檢測
- 13. 運動物體碰撞檢測LIBGDX
- 14. 物體沒有與邊界碰撞
- 15. 與移動物體的碰撞
- 16. Farseer 3.3檢查未啓用的物體是否會發生碰撞(產卵)
- 17. 檢查碰撞
- 18. 如何檢查兩個物體碰撞時的情況
- 19. 物體碰撞系統?
- 20. LUA碰撞,多個物體
- 21. 檢查哪一個對象與另一物體碰撞而腳本是相同
- 22. 如何檢查cin中是否有任何東西[C++]
- 23. 如何檢查哪些物件與b2Contact碰撞?
- 24. vb.net檢查函數是否不返回任何東西
- 25. 檢查「git stash」是否藏有任何東西
- 26. 檢查文本內容是否由任何東西分隔
- 27. 檢查遊標是否返回任何東西
- 28. jQuery/javascript檢查是否有任何東西正在加載
- 29. 檢查兩點之間是否有任何東西
- 30. 檢查unix管是否關閉而不寫入任何東西?
3D或2D對撞機?你至少應該把你在你的問題中嘗試過的東西放進去。還要添加該語言的標籤。 – Programmer