回覆列表
  • 1 # 星辰夜秉燭遊

    穿模這種問題在大一點的3D遊戲中幾乎不可避免,最主要的原因是遊戲中的物理引擎都是"假的"。

    物理引擎是對現實世界物理系統的近似計算,既然是近似,那麼只能接近真,永遠不可能變成真。但是計算的越逼真,所消耗的效能就越大。以物理碰撞檢測為例:

    碰撞檢測大致可以分為離散碰撞檢測和連續碰撞檢測,假設要檢測一個球是否與一個平面發生碰撞:

    當使用離散碰撞檢測時,一旦球在物理計算一幀內的移動距離超過了平面的檢測範圍,則這時候檢測不到碰撞資訊,發生穿模現象。

    理論上物理計算單幀的時間越短,檢測的精確度也越高。但是這樣一來消耗效能會大大增加,二來幀率總會有上限。所以使用連續碰撞檢測來處理這個問題:

    把小球每幀之間的運動路徑連線起來,然後判斷這條連線與平面是否相交。連續碰撞檢測比離散碰撞檢測更復雜,因此消耗更多效能。

    但是就算這樣也並沒有根本上解決問題,實際遊戲內的碰撞檢測更復雜,有的模型面數太多,連續碰撞檢測太過消耗效能,因此物體的碰撞體也只能用一個近似形狀去模擬。

    再加上如果是網路遊戲,還要涉及資料同步的問題,物理計算極容易出現誤差。

    這會導致很多嚴重影響遊戲體驗的物理引擎BUG(比如絕地求生中的原力摩托),穿模問題已經算是比較“溫和”的BUG了。

  • 2 # 一隻懶託尼

    這個是建模問題,我在昨天的直播過程中遇到過!敵人三級包,我打了結果沒傷害!後來拿隊友做測試也是!就是建模問題,不候細緻所以判定不到!

  • 中秋節和大豐收的關聯?
  • 衛生部長打完感染,未完成三期就接種3億人,號稱110%有效的印度疫苗靠譜嗎?