2013-06-05 146 views
0

我開發出了類似硬幣推土機的遊戲。爲了硬幣的順利移動,我爲每枚硬幣添加了一種物理材料,但是在完成之後,我的遊戲速度很慢。有沒有其他的選擇呢,或者如何在不使用物理材料的情況下讓硬幣運動平滑?那麼任何人都可以幫助我擺脫這種情況。物理材料放慢遊戲速度

+0

我在使用Unity3D製作硬幣推土機遊戲方面有一些經驗。將物理材質應用於gameObject幾乎不成問題。物理材料比物理計算的一些數學參數更重要。這可能是導致問題的對撞機和剛體。請打開分析器並查看哪些部分最重(如果您使用的是專業版許可證)。我想你應該使用一些較輕的對撞機和較少的計算 – onevcat

+0

硬幣是從3D工作室導入的,它是obj的擴展。所以,而不是對撞機,我可以嗎? – Yashesh

+0

當推土機推到硬幣時,我已經看到探查器的物理效率是94%。 – Yashesh

回答

4

所以問題是物理計算。

不要使用圖形的網格作爲碰撞器來計算硬幣的移動,特別是當網格上有很多三角形和垂直點時。你應該選擇一個更簡單的對撞機,也許像棱鏡一樣的行爲類似於硬幣,並減少大量的計算。您可以使用從3D軟件導出的另一個簡單的棱鏡網格,並使用該網格創建一個新的遊戲對象。從原始硬幣中刪除與物理相關的所有內容(剛體,對撞機和物理材料)。然後將沒有物理的可見硬幣和新添加的對象(處理所有物理)組織到同一父級。網狀對撞機中較少的三角形意味着較少的計算。儘可能少地控制對撞機網格三角形。我建議使用盒子對撞機作爲起點來檢查性能是否提高。

另一件可能的幫助是改變物理設置中的Solver Iteration Count。您可以嘗試將其更改爲較低的值(對於硬幣遊戲,可能是3或4就足夠了)。

將幀率限制爲較低的值可以提供幫助,但這是您應該去的最後一種方式。

+0

你真棒。感謝您的答覆。在Solver Iteration Count值更改爲2後,遊戲變得更加流暢,並且我已經檢查了Box Collider,並且Box collider遊戲正在運行。所以問題是網格對撞機。你可以請求給我一些關於「從3D軟件導出的棱鏡網格」的更多信息,因爲我是unity3d的新手。 – Yashesh

+0

如果你有一個3D設計師,你可以讓他/她做一個棱鏡(三維多邊形)像[this](http://en.wikipedia.org/wiki/Prism_(geometry))。也許8條邊或16條邊可以很好地描述一枚硬幣。然後,您可以使用棱鏡網格作爲對撞機網格而不是箱體對撞機(以改善現實)。如果你沒有3d設計師,你必須自己創建一個。其實這對於DIY來說足夠簡單。 – onevcat

+0

感謝您的幫助。我會執行這個。 – Yashesh

0

您可以延遲添加物理硬幣。我的意思是當硬幣接近下降時加入物理。當你將硬幣從場景中移出時,你還需要摧毀每個硬幣體。如果你只刪除精靈,那麼場景中會有太多的物體。

+0

當我倒下時,我已經毀了硬幣。 – Yashesh

+0

那麼你可能不得不優化你的代碼... –