モバイルでメッシュ自動インスタンシングを使用する

モバイルでメッシュ自動インスタンシングを有効にする方法を説明します。

Windows
MacOS
Linux
On this page

UE4 Mesh Drawing Pipeline は、メッシュ自動インスタンス機能を実装しています。描画コールが統合されたため、グラフィック性能が大幅に向上しました。追加設定を行うことで、この機能をモバイル デバイスで利用できるようになりました。

手順

  1. プロジェクトの「Config」フォルダから自動インスタンシングを追加対象のプラットフォームに適した Engine.ini ファイルを開きます。たとえば、Android ビルドの場合は Config/Android/AndroidEngine.ini を使用します。

  2. プラットフォームの Engine.ini ファイルを開き、以下の行を追加します。

    r.Mobile.SupportGPUScene=1
    r.Mobile.UseGPUSceneTexture=1

    変更を保存し、ファイルを閉じます。

この機能を有効にすると、モバイル プラットフォームにシェーダーが再ビルトされます。Unreal Editor を Android Preview モードに設定してあれば、エディタは適切にシェーダーを再コンパイルします。大きなプロジェクトはイタレーション時間が長くなる場合があります。

結果

プロジェクトで上記の設定を有効にすると、すべてのデバイスに対して自動インスタンシングが有効になります。r.Mobile.SupportGPUScene はモバイル デバイスで自動インスタンシングを有効にします。ただし、デスクトップ ビルドでは同じバッファが使用されます。Mali デバイスは 64 kb までしかバッファをサポートしておらず、通常はこの機能をサポートできません。r.Mobile.UseGPUSceneTexture によって自動インスタンシング プロセスはバッファの代わりにテクスチャを使用して必要な情報を格納するため、Mali デバイスは自動インスタンシングも使用できるようになります。

制限事項

統合された描画コールに対する制限事項は メッシュ描画パイプライン ページに記載されていますが、モバイル デバイス固有の自動インスタンシングに対しても制限事項があります。

  • モバイルでの自動インスタンシングは主に、GPU バウンド プロジェクトよりも CPU バウンド プロジェクトに有用です。自動インスタンシングを有効にすると GPU バウンド プロジェクトに害を与えることはありませんが、使用しても大幅な改善がみられることもほとんどありません。

  • ゲームがかなりメモリ バウンド状態に陥っている場合、Mali デバイスでは使用できないことを理解した上で、r.Mobile.UseGPUSceneTexture を無効にしてバッファを使用する方が有用な場合があります。

自動インスタンシングの効率性はプロジェクトの詳細な仕様に大きく依存します。そのため、自動インスタンシングを有効にしてビルドを作成し、大幅なパフォーマンス ゲインがみられるか判断するためにプロファイルを行うことを推奨します。プロファイリングの詳細については、パフォーマンスとプロファイル セクションを参照してください。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback