広告あり

Unreal Engine コツコツ自習_Instanced Static Meshを活用してゲームパフォーマンスを向上させる

UEコツコツ自習シリーズ
スポンサーリンク

Instanced Static Meshを活用してゲームパフォーマンスを向上

今回は、ゲームステージに設置している各スタティックメッシュをインスタンス化して、ゲーム容量を削減した方法を備忘録にします。

※作業環境:UEバージョン5.3.2

備忘録

作業中に何か不具合が発生するかもしれません。

実施する際はバックアップを取っておいたほうが安心です。

「Draw Primitive calls」の確認

まずは処理量の確認をしていきます。

「Cmd」横の欄に「stat rhi」と入力して「Enter」キーを押します。

すると以下のようにデータの統計が表示されます。

この中に表示されている「Draw Primitive calls」の数値を削減していきます。

CPUからGPUに対して描画指示を出すものらしいので、この値が小さいほどゲームパフォーマンスは上がるみたいです。

統計を消したいときは「Cmd」横の欄に「stat rhi」と入力して決定すると消えます。(他にも良い方法あるかも)

コマンド再入力方法は、下の記事でも紹介しています。

操作手順

それではInstanced Static Meshをやっていきたいと思います。

ちなみにInstanced Static Meshとは、同じスタティックメッシュを複数回描画する際にパフォーマンスを最適化する技術みたいです。

別々に処理するんじゃなくて、同じなら処理流用しようみたいな感じだと思います。

まとめたいスタティックメッシュを選択します。

選択したらツールバーの「Actor」の「Merge Actors」の「Batch」を選択します。

処理完了後、レベル上に新しくActorが作成されています。

統計を確認すると「Draw Primitive calls」の数値が削減されているはずです。

さらに容量を減らすためにマテリアルをマージする方法

今回は実施していませんが、複数のマテリアルを1つのマテリアルに統合して、容量を削減する方法もあります。

いつか使うかもしれないので、やり方だけまとめておきます。

マージしたいマテリアルを持つスタティックメッシュを選択します。

選択したらツールバーの「Actor」の「Merge Actors」の「Merge Actors Settings…」を選択します。

設定を一部変更して、「Merge Actors」を選択して保存します。
※今回は未実施なので、設定の変更はしていません。

終わり

モバイルゲーム制作でヒッチが起きたので、その対策で試してみましたが、私の問題には効果ありませんでした。

ちなみに、パッケージ化したデータを実機に転送する流れでアプリインストールしたらヒッチは改善されました。

iPhone実機なら、まずiOS用にパッケージ化を行い、作成されたipaファイルを実機に転送してアプリインストールする流れです。

おそらくパッケージ化の段階で最適化されたのだと思います。(たぶん。。。)

以下の記事で紹介していますので、ご参考に確認してみてください。

他の記事を探す

他の記事も気になる方は、以下の記事の目次を確認ください。

タイトルとURLをコピーしました