Blog

[UE4] MATLABとUE4の簡易的な連携方法 2

執筆: M.M

執筆バージョン: Unreal Engine 4.23

はじめに

引き続き、MATLABとUE4の連携アプリを作成していきます。前回はMATLAB側のアプリを作成したところで終わりました。今回はその続きでUE4側の設定を行いつつ、実際に動かすところまで紹介します。

UE4のプロジェクト編集

最初にUE4を立ち上げますが、通常の立ち上げを行わずにMATLABを経由して起動をしてみます。

まずMATLABを起動し、新規スクリプトを作成していきます。MATLABのウィンドウの「ホーム」→「新規スクリプト」を選択してください。

表示されたエディタに以下の内容を書いて保存してください。

editor = sim3d.Editor(fullfile("UE4の絶対パス"));editor.open();

1行目にあるfullfileの内部は作成したUE4の絶対パスを指定してください。

保存しましたら、そのファイルをコマンドウィンドウにD&Dしてください。一定時間後にUE4が立ち上がります。

UE4が立ち上がりましたら「ファイル」→「新規レベル作成」を選択し、次のウィンドウで「Default」を選択してください。

新しく生成されたレベルのアウトライナに配置しているFloorの詳細にある、拡大縮小のXをできるだけ大きな値に設定してください

次に以下の画像の通りに手順を行ってSimulink用の車を配置してください。

①コンテンツブラウザ右クリックして「Show in new content blowser

」を選択します。

②開いたウィンドウの戻るボタンを選択して、検索対象をすべてのアセットにします。

③「Sim3dPassVeh」を検索してアウトライナに配置してください。

※配置する際の注意点として必ず床(Floor)と接している必要があります。しない場合、実行したときにすぐエラーが発生し停止します。

配置した「Sim3dPassVeh」のタグ「SimulinkVehicle1」を追加します。

レベルブループリントを開いてクラス設定で「Sim3dLevelScript」を選択してください。また、デフォルトで配置されるカメラだと、車が正常に動いているかがわかりにくいため、以下の画像のようにカメラを設定するのが好ましいです。

以上で全ての準備が完了しました。

Simulinkの実行を押下して左下のステータスが初期化中になったら、UE4もプレイを押下してください。

実際に動かしてみた

アウトライナに配置しているsim3PassVehが動いていることがわかるかと思います

また、Simulinkが表示しているToVideoDisplayでは車窓が表示されたと思います。

まとめ

UE4とMATLABの連携について簡単にまとめました。これを応用することによって、MATLAB側から車の操作を任意で行ったり、UE4側でよりリアルな仮想空間を設定したりすることで、より精度の高いシミュレーションが行えるかと思います。

車のシミュレーションをする際に参考になれば幸いです。

関連記事