ジェイのブログ

Unity,UnrealEngine,ゲーム制作,プログラミング,日記も書きます!

UnrealEngine5でStrixCloudのサンプルプログラムを使う方法

こんにちは!ジェイです。

StirxCloud公式のサンプルが対応しているのがUnrealEngine4なので、今回はUnrealEngine5で実行するまでの流れを説明します。

この記事を書くに当たってStrixCloudのサポートチームに質問して回答していただきました。ありがとうございました!

 

StrixUnrealSDKのダウンロード

www.strixcloud.net

まずは公式のページからStrixUnrealSDKをダウンロードしてから、StrixUnrealTps.uprojectをUnrealEngine5で開きます。

プロジェクトの変換には結構時間がかかりますが、気長に待ちましょう。

アプリケーションIDとマスターホスト名を設定する

最初にStirxCloudのダッシュボードを開き、アプリケーションIDとマスターホスト名がわかる状態にしておきましょう。

次に、StrixUnrealTpsのWidgetBuleprintのW_MainMenuを開いてEventGraphを選択します。

InitializeStrixNetworkにダッシュボードのアプリケーションIDを入力して、ConnecttoMasterServerにマスターホスト名を入力します。

ノードが見つからない場合は、Ctrl+Fで検索窓が出るので、ノード名を入力しましょう。

これでサンプルが実行できる状態になります。

同じ部屋に入れない時の対処法

もしMigrateなどで移行した場合は、同じ部屋に入れない現象が起きるので、その時にはConfigフォルダに入っているDefaultGameStrixTypes.iniをコピーしてみましょう。

DefaultGameStrixTypes.iniはStrixReplicatorのType IDの保存するための物です。

ビルド後にレベル遷移できるように設定する

このままでは、ビルド後にレベル遷移ができないので、できるように設定します。

Edit→ProjectSettingから検索窓にList of mapと入力するとList of maps to inculde in a packaged bulidの項目が現れるので、+を2回押して以下の様にレベルを選ぶとそのレベルは、ビルド後も遷移できるようになります。

UE5のデフォルトのマネキンで動くようにする

ここから先はおまけですが、UE5のサードパーソンのマネキンを使えるようにします。

まずはAdd→Add Feature or Content Packを選んでUE5のTherdPersonを追加します。

ブループリントの編集

ルームの入室後にレベルの遷移が行われる場合、オブジェクトの生成タイミング次第で正常に動作しない可能性があるため、ルームの入室時の自動レプリケートを停止する機能があります。
サンプルでは、その機能が有効になっているため、レベル遷移後に自動レプリケートを再度有効にする必要があるので、BP_ThridPersonを開いて以下のノードを追加します。

 

UE5のマネキンでのアニメーションの同期

UE5サンプルに付属するMannyやQuinnは、アニメーションブループリント(ABP_Manny)内にて、MovementComponentの速度と加速度の確認を行い、一定以上の場合に移動フラグを立て、速度に応じたアニメーションの再生を行ってます。

 

MovementSynchronizerは、現在加速度の同期を行っていないためにフラグが有効にならず、移動のアニメーションが同期されない状態になってるので、加速度の確認処理を外すことで、アニメーションの同期は正常に行われるようになります。以下参照


まとめ

内容的には難しいことではないのですが、知らないだけでハマってしまうようなトピックがあったので今回は記事にしました。

StrixCloudでオンラインゲームを作る時は、お問い合わせから気軽に質問することができます。土日祝日は休みですが、平日の対応はとても迅速で丁寧に教えてもらえますよ!

去年12月にUnrealEngine5に対応して、UnityでもWebGLがサポートされるようになったので、これからの更新に期待してます。