2017-09-21 6 views
2

私はモバイル向けのシンプルなゲームに取り組んでいます。私は初心者/中級者です。私のゲームは、あなたが他の車に乗っているクレイジータクシーのような単純な無限のランナーです。環境のために、私は低いポリーフリーアセットパックを使用しました。ゲームは私のラップトップ上で完璧に動作しますが、私はapkを構築していくつかのデバイスをチェックしています。ユニティモバイルゲームラグ+プロファイラherlp

This is what the game looks like.

私はので、私はそれが問題にならないだろうと思ったの低いポリ資産を使用。私は携帯電話のリソースがはるかに少ないことを理解していますので、この問題をどうやって修正したり、将来避けることができますか?多くのユニティゲームだけでなく、多くのパーティクルエフェクトなど、アプリストアで多くのトップゲームが見られるので、どうやってそうするのですか?解像度で

試み:

私は多くの研究を行っているが、私は本当に理解していけません。私はモバイルシェーダについて何かを読んだ。だから私は、資産のシェーダーを標準からモバイル/拡散するように変更すると思ったが、そうすると多くの資産がテクスチャ/カラー全体を失って白くなる。

私が試したもう1つのことは、ビルド画面のテクスチャ圧縮オプションです。 DXT、ETC、ETC2、PVRTCなどのオプションがありますが、私はそれらをひとつひとつ試しましたが、それは大きな違いはありませんでした。

最後に、私はプロファイラを見ることにしました。プロフィールを使ったのは初めてのことです。そのような質問に関する初心者のための多くのオンラインマテリアルは本当にありません。プロファイラでは、ほとんどのCPU使用量がCamera.Renderであることがわかります。通常、平均時間は9msです。残りのものは通常、〜0.1のようなほとんどの時間を取ることで実質的に時間がかかりません。私は9msが何を意味するのか、それとも何かを知っていません。私はちょうどプレーヤーの後ろにカメラを動かす簡単なカメラスクリプトがあります。

Profiler s/s

私は環境を簡素化しようと、それは価値が少しをドロップさせ、〜7MSのような私はシーンが非常に簡単になると私は美しい環境を作りたいというたくありません。

1つの最後のこと、無限のランナーからの瞬間、私は私の道路用に5つのプレハブを持っています。私はそれらを削除してインスタンス化しています。私はそれが良い練習ではないことを知っている代わりに、私はただプールを使用する必要がありますが、これは遅れの理由ですか?私がまだオブジェクトプーリングを行っていない理由は、当初、私のプールには50種類のプレハブを各種類ごとに10個作成しなければならず、5つのプレハブのためだけに理想的には私の道には多種多様なプレハブを持たせたいからです環境は繰り返し見えません。もし誰かが助けることができれば、私は永遠に借金になるでしょう。

/e私は設定を非常に低く設定しています。私は、自動的に照明を生成してシャドウを無効にしました。

This is a s/s of my stats.

s/s with simple cubes...

これはますます絶望的になり始めています。私はどのように私は< 50バッチカウントに近づくことができる方法を見ていない。上のスクリーンショットは単純な3Dキューブオブジェクトを使用していますが、それでも私は20-30のバッチカウントを与えてくれます。私はいくつかの資産を追加して、シーンをより美しくするようにしています。それは、私のモバイルで遅れて始まります。

答えて

2

ドローコールとシャドウ。私は現在作業していますが、drawcallsと編集 - >プロジェクト設定 - >品質 - > Androidですべてを低く設定してシャドウを無効にしているので、数時間でより良い結果を得られます。モバイルデバイスは、ダイナミックなライトとシャドウをレンダリングするのには適していません。また、プールシステムを使うべきです。なぜなら大きなプレハブを使うと、ゲームを本当に遅くし、プレハブの産卵時にフリーズさせるからです。ローエンドのミドルエンドのデバイスでは、ドローコール(現在はバッチを1つにまとめている)が大きなボトルネックになる可能性があります。あなたのunity3dゲームウィンドウでstatsを押して、あなたが持っているバッチの数を確認してください。モバイルの場合は、少なくとも私の経験では、最大で約10〜30でなければなりません。

+0

ありがとう、私は今、アンドロイドの設定を非常に低くして、シャドウをオフにしました。照明で私はまた、自動生成のチェックを外した。統計によると、私は700回以上のバッチがあることを示しています:o ...私はあなたの詳細な応答と感謝をもう一度待っています。私は元の投稿をstats/sで更新しました。 –

+0

プールしてドローコールを減らしますか?または毎回プレハブを有効にすると、それらの通話をもう一度行いますか?現時点で私は5つの道路プレハブを持っています。私がプールすると、ゲームの開始時に少なくとも5つのゲームを作成しなければならないので、最初は5つのプレハブを持っていると25のインスタンスを作成します。もし私がもっと持っていたら? 10-15プレハブ –

+0

どうすれば私のバッチでそれを低くすることができますか?私は道を除いてすべてを取り除いたが、これは通常の3Dオブジェクトのためのプレハブの変化であるが、それでもなお7-8バッチを得た。私は私のバッチに車の障害物を置く40から50に飛んだ。はい、車には子供のオブジェクトなどがありますが、彼らも "低"ポリカウントパックのものでした。 –

0

これらの低ポリアセットは、実際にはモバイル向けにはポリ低分子ではなく、多くの異なる素材を持ち、多くの子オブジェクトで構成されています。また、地形を使用する場合は平面に変更します。そして最も重たいのはダイナミックな稲妻と影です。

+0

https://www.assetstore.unity3d.com/en/#!/content/50095 –

+0

これは私が使用している資産パックです。それはとても美しいですが、そうですね、それは特に、多くの異なる材料と子供のオブジェクトがあります。それはどういう意味ですか?私はこのパックを使えないのですか?子オブジェクトが悪いですか?私は子供のオブジェクトがないと言う資産パックを見つけるべきですか?ヤニ、1ハウス1オブジェクトタイプ? –

+0

はい、私はこの資産を認識し、私は自分のゲームの1つに使っていました。私は1つの材料が1つのdrawcallであることを知っています。その家はあまりにも複雑だと私は思う。シンプルな家のモデルを見つけて、それを使ってゲームを試してみてください。しかしまず第一に、雷の設定に注意を払う – Evgeniy