Choose your operating system:
Windows
macOS
Linux
いずれかの対象デバイスでプロジェクトの実行中に、 Pipeline State Object (PSO) のキャッシングで使用されるデータの一部を生成する必要があります。 この操作ガイドでは、 デバイス プロファイル と プロジェクト ランチャー を使用して、PSO データの生成およびキャプチャが可能なバージョンの Unreal Engine 4 (UE4) プロジェクトを作成してデプロイする方法について説明します。
手順
メイン ツールバー から [Launch (起動)] の横の白い矢印アイコンをクリックして [Project Launcher (プロジェクト ランチャー)] を選択します。
[Project Launcher (プロジェクト ランチャー)] の [カスタム起動プロファイル (Custom Launch Profiles)] セクションで プラス 記号のアイコン をクリックして、新規 [Custom Launch Profile (カスタム起動プロファイル)] を追加します。
既存のプロファイル名をダブルクリックしてボックスに使用したい名前を入力することでプロファイル名をリネームできます。
[Project (プロジェクト)] セクションで、 [Project (プロジェクト)] のドロップダウンメニューをクリックしてこのプロファイルに関連付けたいプロジェクトを選択します。 このワークフローのデモでは [ActionRPG] を使用しているので [Project (プロジェクト)] に [ActionRPG] をセットします。
[Cook (クック)] セクションの、 [How would you like to cook the content (コンテンツのクック方法を指定してください)] オプションに [By the Book] をセットします。
各種クック オプションの動作の詳細については、「ビルド作業 (クック、パッケージ、デプロイ、実行) を行う」を参照してください。
[クックしたプラットフォーム] セクションで、このプロファイルが使用するプラットフォームをテクスチャを選択します。 このワークフローのデモでは、 [ActionRPG] を使用しているので、 [Android] と [Android_ETC1] が選択されていることを確認します。
[Cooked Maps (クックしたマップ)] セクションで、[Show All (すべて表示)] を選択し、このプロファイルと関連付けたいマップをすべて選択します。 このワークフローのデモでは、 [ActionRPG] を使用しているので、利用可能なすべてのマップの横にチェック マークが付いていることを確認します。
[Launch (起動)] セクションで、 [Initial Map (初期マップ)] に、プロジェクトがロードされる時点で使用されるレベルをセットします。 このワークフローのデモでは [ActionRPG] を使用しているので [Initial Map (初期マップ)] に開始 UI 画面が存在するレベルである [ActionRPG_Main] がセットされます。
次に、[Additional Command Line Parameters (追加コマンドラインパラメータ)] に、「-logPSO」 と入力して、プロジェクト実行時の PSO のログ取得が有効になっていることを確認してください。
PSO データの収集の試行中にプロジェクトがクラッシュし続ける場合は、コマンドラインに 「-NoVerifyGC」 を追加して、ガーベジ コレクションを無効にします。
プロジェクトランチャー右上の [Back (戻る)] ボタンをクリックして [Custom Launch Profiles (カスタム起動プロファイル)] メニューに戻ります。
[Custom Launch Profiles (カスタム起動プロファイル)] セクションで、[Launch this Profile (このプロファイルを起動する)] ボタンをクリックしてクック処理とデプロイ処理を開始します。
[Launch this Profile (このプロファイルを起動する)] ボタンをクリックする前に、対象デバイスのセットアップが完了しており、開発 PC に接続されていることを確認してください。この処理はプロジェクトをビルド、クックするだけではなく、デプロイと起動も行うためです。
クックとデプロイ処理が開始すると、次のウィンドウにビルドの進捗と発生したエラーを表示します。
処理が成功すると、 [Output Log] に「BUILD SUCCESSFUL」と表示されます。
ビルドが完了して、対象デバイスにデプロイされたら、プロジェクトで利用可能な全レベルを実行してください。 ここでの目標は、マテリアルが使用するシェーダーがキャプチャされるように、ゲームで使用されるすべてコンテンツをロードすることです。
確実に使用されているすべてのコンテンツが実際にロードされるようこの処理を数回繰り返した方が良いでしょう。
プロジェクトを数回実行すると、rec.upipelinecache ファイルが取得可能になります。 このファイルは、対象デバイスの以下の場所にあります。 UE4Game\NameOfProject\NameOfProject\Saved\CollectedPSOs
「Saved」と「CollectedPSOs」フォルダが対象デバイスで見つからない場合は、2 フォルダとも手動で作成してから、プロジェクトのコンテンツを再実行してファイルが正しく生成されるようにしてください。
まとめ
必要な PSO データを生成したら、次に、UE4 プロジェクトのビルド時に使用される単一の PSO キャッシュに生成された全種類の「rec.upipelinecache」ファイルを結合する必要があります。
PSO キャッシュの作成方法の詳細については、「PSO キャッシュのビルド方法」を参照してください。