2016-09-17 58 views
2

我有一個複合對撞機設置角色(對撞機由許多原始對撞機形狀設置,每個身體部位一個)以及一個使用縮放立方體設置的簡單地面。立方體縮放1000 x,z軸縮放30。事情還處於早期階段,所以沒有昂貴的圖形,場景中只有原始形狀和低聚字符。事情一開始就沒有問題,但一段時間後,我玩了一段時間後,角色開始落地。任何人都遇到過這個問題,並知道如何解決這個問題?玩過某個時間之後,角色會跌落地面

+0

發生這種情況的最常見情況是,當您處於嚴重建模/連接地形上的裂縫之間(由於浮點舍入錯誤)。如果你的「floor」實際上是一個單一的固體物體,那麼接下來我要檢查的是物理循環的運行頻率足夠高,以至於在下一個tick之前玩家不能掉入物體太遠。如果不符合以上所有條件,我會讓你的對撞機稍微大一些。 – Basic

+0

我的固定時間步是0.02,最大允許時間步是0.3333333,它仍然是默認值。可以嗎?我也意識到,這似乎只發生在播放時間較長的動畫時,該動畫的播放時間設置爲3. – congtrungvnit

+0

正如您所建議的,我已將固定時間步長調整爲0.002,這是10倍更快。事情似乎更好。但是,CPU可以嗎?據我所知,減小這個值會影響CPU的性能。你建議的價值是什麼?順便說一句,你嘗試這個解決方案嗎? (http://answers.unity3d.com/answers/1244965/view.html)。我已經嘗試過,但不起作用。 – congtrungvnit

回答

0

Here是SisterKy可能原因的一個很好的參考列表。

檢查涉及(FallingObjects和GroundObjects)

  • 確實對象有一個對撞機每個對象?如果沒有,

    1. 選擇對象
    2. 去頂吧
    3. 組件
    4. 物理
    5. 選擇合適的對撞機(如地形,檢查最後一個標籤,小嵌齒輪)
  • 注意:網格碰撞器可能會導致問題。

    • 特別是,如果FallingObject和GroundObject都有網格對撞機。
    • 特別是,如果網格是動畫的。
    • 爲避免網格碰撞,您可以從幾個原始碰撞體(在父 - 子 - 同胞 - 同胞 - GameObjects中)構建網格的近似形狀。
    • 如果你需要一個Mesh碰撞器,無論如何,你可以嘗試放置額外的原始碰撞器,它們不會妨礙'執行'碰撞。
  • 對象是觸發器嗎?如果是這樣,

    1. 選擇對象
    2. 發現其對撞機組分(如地形,檢查最後一個標籤,小嵌齒輪)
    3. 刪除的「IsTrigger」
  • 檢查
  • 對撞機安置好了嗎? 小提琴的中心,大小和皮膚寬度(從0.1開始),直到綠色的輪廓近似適合人物 (如果你得到真正奇怪的值,可能是因爲縮放(例如,你的網格太大,所以你縮小到。01))

    您可以嘗試歸零所有定位(包括團結和您的建模程序)

FallingObject和GroundObject具有與每個-其他

  • FallingObject對撞機的一個問題和GroundObject-Collider相互交叉。
    將物體移動到高於地面的位置(爲了測試目的,將它從​​相當大的高度落下)。
    所有的!不僅僅是對撞機或其他附屬物(例如角色控制器的攝像頭)
    注意:即使禁用了戳穿(「灰色膠囊」?)也可能導致問題。 (我不確定這意味着我自己,對不起...發佈此解決方案的答案不是很具體= /)

導入的對象(.obj,.fbx,.max等)

  • 之前的物體拖曳到場景(刪除,如果已經有),

    1. 查看層次
    2. 找到模型
    3. 親perties
    4. 檢查 '生成對撞機'
    5. 命中應用
    6. 現在拖到現場
  • 是法線是否正確?您可能需要

    1. 回到你的造型,PROGRAMM
    2. 命中翻轉/反轉法線
  • 是網格乾淨嗎?據報道,一個單一的2頂點「三角形」造成了不好的碰撞問題。

  • 幾何是相當複雜的?然後,你需要被網格撞機集到凸

    1. 選擇對象,
    2. 網 - 撞機組分
    3. 檢查 'IsConvex'

FallingObject有個特點 - 控制器

  • 是否應用了剛體?如果沒有,

    1. 選擇落物
    2. 頂欄
    3. 組件
    4. 物理
    5. 剛體
  • 施加重力?如果沒有,

    1. 選擇下落的物體。
    2. 查找其剛體組件。
    3. 檢查 '萬有引力'
  • 而且具有MouseOrbit?

    確保MouseOrbit永遠不會將MouseOrbit所連接的相應對象的任何父對象(通常是相機)作爲MouseOrbit對象或拾取結果中的'dog-chases-tail'對象將導致下降。 http://answers.unity3d.com/questions/161386/third-person-controller-falls-through-terrain-upon.html

GroundObject是一個地形

  • 有傳言稱,該地形對撞機可以利用地形工具資產包,使地形被搞砸了。

  • Collisionmatrix可能會造成麻煩。

    1. 去編輯/項目設置
    2. 物理
    3. collisionmatrix

腳本

  • FallingObject與 'transform.Translate' 或腳本「變換。 position ='或其他各種'時髦'腳本。
    這可能會推動對象通過對撞機「違背其意願」。儘量避免它。 (例如,使用「速度」或嘗試SimpleMove)

讓您現場清理

尤其是MAC版本似乎在面對太多多餘的廢話有點馬車。可能會以某種方式禁用所有的對撞機。

調試
  • 每幀增加物理計算。
  • 嘗試並捕捉碰撞穿透(這不能解決問題的根源)。
  • 從高處放下角色和默認多維數據集。
    • 如果兩者都通過,調查地板的屬性。
    • 如果只有角色出現,請調查玩家的屬性。
  • 有時好舊的重啓或重新導入可能只是做的伎倆...
  • 你可能想嘗試的debug.log(colliderFlag);檢查,如果它真的不感動。 http://unity3d.com/support/documentation/ScriptReference/CollisionFlags.Below.html

減少或Alt-Tab鍵編輯時落occures。

這是一個已知問題;不要擔心它太多,只有在編輯器中,不會在最終制作的遊戲中發生。

請注意:我對這件事沒有任何權限......只是收集了我發現的內容。所以如果您發現任何(嚴重?!)錯誤,請指出。

我的消息來源:

http://answers.unity3d.com/questions/39789/tornadotwinswormvideo2-help.html

http://answers.unity3d.com/questions/17779/character-model-sinks-through-floor.html

http://answers.unity3d.com/questions/31397/object-falls-through-floor.html

http://answers.unity3d.com/questions/31033/items-falling-through-floor.html

http://answers.unity3d.com/questions/29719/falling-through-the-floor-issue.html

http://answers.unity3d.com/questions/43206/falling-through-floor.html

http://answers.unity3d.com/questions/35010/my-object-falls-through-terrain.html

http://answers.unity3d.com/questions/8369/whenever-i-run-my-game-i-fall-through-any-terrain.html

http://answers.unity3d.com/questions/21021/enemies-fall-through-floor-when-chasing-player.html

http://answers.unity3d.com/questions/17221/char-is-falling-through-the-terrain-when-alt-tabbi.html

http://answers.unity3d.com/questions/63750/my-characters-and-rigidbodys-fall-on-my-new-terrai.html

http://answers.unity3d.com/questions/57077/character-collider-physics-bug-in-unity-33-falling.html

http://forum.unity3d.com/threads/38996-first-person-controller-falls-through-the-terrain