2016-02-28 224 views
0

我在紅線的方向上投射了SphereCastAll,而且我有時會遇到一個奇怪的問題,就是此投射會遺漏下面屏幕中的某些碰撞體。綠線顯示SphereCastAll的起源和不同剛體的最近命中,不與自己的碰撞體發生碰撞。 SphereCastAll半徑是車寬的一半。SphereCastAll無法檢測到某些碰撞

有時SphereCastAll會漏掉前方車輛的所有對撞機並撞上下一輛車。

剛體由WheelColliders

Image showing problem

+0

哪輛車在鑄造?在圖像左側的那個? – Fattie

+0

包括您的鑄造代碼。你可能選擇了錯誤的距離或其他簡單的問題。 – Fattie

+0

鑄造範圍是紅線的長度。鑄造車是沒有可見的對撞機的車。 問題是,這隻會不時發生。大部分時間它運作良好,但是當這種情況發生時,汽車相撞 – Sebastian

回答

0

這裏是Physics.SphereCast()一個link

一個有趣的方面是,它如果球已經與物體發生碰撞有時無法移動。因此,對於Physics.SphereCastAll(),如果球體已經與它們發生碰撞,它可能不會返回第一個(幾個)碰撞。考慮使用Physics.OverlapSphere()來獲取您丟失的碰撞或將SphereCast的半徑減小到這樣的半徑,其中SphereCast無法在任何其他敵人/汽車/您擁有的內部開始。