回覆列表
  • 1 # 麥大麥

    大麥我的這篇回答專業性可強了喲,加個關注不後悔!

    關於這個其實涉及到的是遊戲中出現的穿模bug,那麼為什麼會發生這樣的問題呢,今天大麥就先來給大家科普一下游戲是如何判斷模型間的碰撞的並且解釋為何會發生這樣的情況。

    程式設計師在設計遊戲的時候具體會採取以下這兩種檢測辦法來的避免遊戲角色在物理上的穿模。

    離散碰撞檢測:在畫面中的每一幀判斷碰撞體的每一個面是否有何其他物體的任何一個面進行碰撞。

    連續碰撞檢測:在離散碰撞檢測的基礎上如果碰撞體在運動,還會做射線碰撞檢測預測這一幀內碰撞體將要進行的運動是否有碰撞。

    一般來說碰撞檢測的複雜度是基於模型的面數(n^2),也就是說,遊戲中模型的面數越多碰撞檢測的複雜性也就越高,因此對於一些遊戲來說其實人物的模型非常簡單,可能就控制在幾十個面左右甚至更少,至於像刺激戰場這種手機遊戲他的物理模型的面數那就更少了。

    有了這些基礎知識,那麼我就來和大家說一下為何刺激戰場會出現卡進補給箱的情況。主要原因是由於刺激戰場作為一款手遊,程式設計師們在設計對其進行碰撞檢測的時候僅僅是使用了離散碰撞檢測的方式,而連續碰撞檢測由於手機效能的限制所以可能使用的範圍比較小。這就導致了,玩家在快速的跑向補給箱的時候由於處理器處理速度較慢離散碰撞還無法知曉這個物體是否在兩幀之間穿過了不該穿過的物體,尤其是兩幀裡(由於高速)物體都沒和任何障礙物的碰撞體有重疊。射線法能避免高速下的穿模問題。但效能開銷更大。

    上面那個定義是不是比較繞口並且難以理解,所以簡單來說,其實就是手機處理器還沒來得及進行離散碰撞檢測你人就衝進補給箱了,然而等到處理器反應過來你人物和補給箱都是有碰撞體積的時候,瞬間賦予了你人和補給箱的物理體積,這就出現兩個結果一個是你人被彈出來,另一個就是你被永遠的卡在裡面哈哈哈哈,其實前者出現的可能性比較大。

    而如果有連續碰撞檢測的話,這種情況就會出現的比較少,因為處理器會提前與判斷你的移動方向和移動方向上的物體是否能夠穿越,但是這樣就會損耗更多的效能,這很容易理解把。

    至於解決辦法嘛,其實也比較簡單,玩家重新把遊戲強制關掉,然後在進入遊戲,這時候處理器忙著載入地圖資源可能沒來得及進行離散碰撞判斷你就有機會逃出來了,然而也有運氣不好的時候,就是你的處理器突然執行速度飛快,瞬間完成了所有的資料處理而你,就只能依舊被卡在原地咯。

    因此總的來說,在遊戲中發生穿模現象一般都發生在配置較差的手機上面,一般配置好的手機對於這些資料運算早就都搞好了,出現bug的問題也就比較少啦。

  • 2 # 零辛遊戲

    遇到過太多了

    遊戲卡進補給箱的問題現在還是容易遇到,卡模型對於常常玩遊戲的玩家來說應該很熟悉了,代表就有我們買BUG送遊戲的某遊戲公司了。

    早期還有利用穿模型的問題,大家利用車來卡石頭或者牆的操作,後來還是被修復了。

    這也算是最早大家熟悉的因為卡模型利用的戰鬥BUG吧。

    卡補給箱怎麼解決,基本玩家卡進去很難出來了,單排基本只能等人來或者不能動被圈來了幹掉,多人還好。

    可以嘗試一下幾種方法。

    1.強行讓補給箱唯一,可以用車撞。

    2.手雷解決吧,這個也是可以炸的,運氣好可能可以出來,不過基本都是原地趴下等著結束了。

    3.還是利用車,對的,讓好友開車讓你可能上車,這樣可以換位下車出來,不過難度也是有點大、

  • 中秋節和大豐收的關聯?
  • 人類現在的武器真的能毀滅地球嗎?你怎麼看?