メインコンテンツ

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

Simulink および Unreal エディターを使用してシーンをカスタマイズする

サポート パッケージをインストールして環境を構成する の説明に従って Aerospace Blockset™ Interface for Unreal Engine® Projects サポート パッケージをインストールすると、Unreal® エディターと Simulink® の両方から同時にカスタム シーンをシミュレートできるようになります。この共同シミュレーション フレームワークを使用すると、航空機とセンサーを Simulink モデルに追加し、このシミュレーションをカスタム シーンで実行できます。

以前のリリースのサポート パッケージを使用して開発したプロジェクトを使用するには、まずプロジェクトを現在サポートされている Unreal Engine に移行します。以前のサポート パッケージを使用して開発したプロジェクトの移行を参照してください。

Unreal エディタを開く

MATLAB® または Simulink の外部で Unreal エディターを開くと、Simulink はエディターとの接続を確立できません。この接続を確立するには、Simulink モデルからプロジェクトを開くか、MATLAB 関数を使用する必要があります。

Unreal エディターを初めて開くと、UE4Editor DLL ファイルまたは AutoVrtlEnv モジュールを再構築するように求められる場合があります。これらのファイルまたはモジュールを再構築するには、Yes をクリックします。エディターは、新しいプラグインが利用可能であることを通知します。Manage Plugins をクリックし、MathWorks Interface プラグインがインストールされていることを確認します。このプラグインは、サポート パッケージをインストールして環境を構成する の Unreal エディター インストールにコピーした MathWorksSimulation.uplugin ファイルです。

'_BuiltData' という名前のファイルに関するメッセージは、関連するレベルの照明データが欠落していることを示します。実行ファイルを出荷する前に、これらのレベルの照明を再構築する必要があります。

照明を再構築する必要があるという警告が表示された場合には、エディター ウィンドウの上にあるツールバーから BuildBuild Lighting Only を選択します。エディターは、シーンを初めて開いたとき、またはシーンに新しい要素を追加したときにこの警告を発行します。AutoVrtlEnv に付属する照明を Aerospace Blockset で使用するには、カスタム シーンでの AutoVrtlEnv プロジェクトのライトの使用 を参照してください。

Simulink から Unreal エディターを開く

  1. 3D 環境でシミュレートするように構成された Simulink モデルを開きます。少なくとも、モデルには Simulation 3D Scene Configuration ブロックが含まれている必要があります。

  2. このモデルの Simulation 3D Scene Configuration ブロックで、 Scene source パラメータを Unreal Editor に設定します。

  3. Project パラメータで、カスタマイズするシーンが含まれているプロジェクト ファイルを参照します。

    たとえば、このサンプル パスは、Aerospace Blockset Interface for Unreal Engine Projects サポート パッケージとともにインストールされる AutoVrtlEnv プロジェクトを指定します。

    C:\Local\AutoVrtlEnv\AutoVrtlEnv.uproject
    このサンプル パスはカスタム プロジェクトを指定します。
    Z:\UnrealProjects\myProject\myProject.uproject

  4. Open Unreal Editorをクリックします。Unreal エディターが開き、プロジェクトからシーンが読み込まれます。

コマンドライン関数を使用してUnrealエディタを開く

Aerospace Blockset Interface for Unreal Engine Projects サポート パッケージからコピーされた AutoVrtlEnv.uproject ファイルを開くには、このプロジェクトをコピーした場所へのパスを指定します。たとえば、AutoVrtlEnv.uprojectC:/Local/AutoVrtlEnv にコピーした場合は、次のコードを使用します。

path = fullfile('C:','Local','AutoVrtlEnv','AutoVrtlEnv.uproject');
editor = sim3d.Editor(path);
open(editor);

エディターは AutoVrtlEnv.uproject ファイルを開きます。

独自のプロジェクトを開くには、AutoVrtlEnv.uproject ファイルを開くときに使用するのと同じコマンドを使用します。path 変数を .uproject ファイルへのパスで更新します。たとえば、プロジェクトを C:/Local フォルダーに保存している場合は、次のコードを使用します。

path = fullfile('C:','Local','myProject','myProject.uproject');
editor = sim3d.Editor(path);
open(editor);

Unreal エディタでシーンを作成または変更する

エディターを開いたら、プロジェクト内のシーンを変更したり、新しいシーンを作成したりできます。

シーンを開く

Unreal エディタでは、プロジェクト内のシーンは レベル と呼ばれます。レベルにはいくつかの種類があり、シーンには マップ のレベル タイプがあります。

AutoVrtlEnv.uproject ファイルから事前に構築されたシーンを開くには、エディター ウィンドウの下の Content Browser ペインで、MathWorksAerospaceContentMaps フォルダーに移動します。次に、変更するシーンに対応するマップをダブルクリックします。

メモ

Content Browser にツリーが表示されない場合は、ブラウザの右上隅にある 3 本線のアイコンをクリックします。MathWorksAerospaceContent がツリーに表示されない場合は、ブラウザの右下隅で View Options をクリックし、 Show Engine ContentShow Plugin Content を選択します。

Unreal エディターマップ

Aerospace Blockset シーン

Airport

空港

GriffissAirport

グリフィス国際空港

自分のプロジェクト内のシーンを開くには、Content Browser ペインで、シーンが含まれているフォルダーに移動します。

シーンにデータを送信

Simulation 3D Message Get ブロックは、Unreal Engine 3D 視覚化環境からデータを取得します。ブロックを使用するには、Unreal Engine 環境のシーンを設定して、Simulink モデルにデータを送信する必要があります。

シーンからデータを受信する

Simulation 3D Message Set ブロックは、Unreal Engine 3D 視覚化環境にデータを送信します。ブロックを使用するには、Simulink モデルからデータを受信できるように Unreal Engine 環境のシーンを構成する必要があります。

新しいシーンを作成

プロジェクトに新しいシーンを作成するには、エディターの左上のメニューから FileNew Level を選択します。

あるいは、既存のシーンから新しいシーンを作成することもできます。この手法は、AutoVtrlEnv プロジェクト内の事前に構築されたシーンの 1 つを、独自のシーンを作成するための出発点として使用する場合に便利です。現在開いているシーンのバージョンをプロジェクトに保存するには、エディターの左上のメニューから FileSave Current As を選択します。新しいシーンは既存のシーンと同じ場所に保存されます。

シーンにアセットを追加する

Unreal エディタでは、シーン内の要素は アセット と呼ばれます。シーンにアセットを追加するには、下部の Content Browser ペインでアセットを参照または検索し、エディター ウィンドウにドラッグします。

シーンにアセットを追加するときは、そのシーンの座標系の原点と方向を理解しておくと役立ちます。

マップ座標方向起源と方向性

空港

X

滑走路に沿って、滑走路開始時の X = 3532.5 メートル。

Y

滑走路中央でY = 0。

Z

地表レベルではZ = 0 です。

グリフィス空港

X

真北に合わせると、滑走路 33 の進入端で X = 200.1 メートルになります。

Y

真東に合わせると、滑走路 33 の進入端で Y = -194.7 メートルになります。

Z

Z は実際の標高データと一致し、Z は滑走路 33 の進入端の地上レベルで 147.4 メートルです。

Unreal エディタは、Y 軸が右を指す、左上 Z 座標系を使用します。Aerospace Blockset の航空宇宙航空機ブロックは、Y 軸が右を指す右手 Z 下座標系を使用します。シーン内にオブジェクトを配置するときは、この座標系の違いに注意してください。

AutoVrtlEnv プロジェクト内のシーンにアセットを追加するときは、航空宇宙関連のアセットのライブラリから選択できます。これらのアセットは 静的メッシュ として構築され、プレフィックス SM_ で始まります。Content Browser ペインでこれらのオブジェクトを検索します。

たとえば、AutoVrtlEnv プロジェクトのシーンに格納庫を追加するには、次のようにします。

  1. エディターの下部にある Content Browser ペインで、MathWorksAerospaceContent フォルダーに移動します。

  2. EnvironmentHangarMesh フォルダを展開するか、SM_Hangar を検索します。Content Browser から編集ウィンドウにハンガーをドラッグします。その後、編集ウィンドウまたは右側の Details ペインの Transform セクションで格納庫の位置を変更できます。

デフォルトの天候を上書きしたり、シーン内で強化された霧の状態を使用したりする場合は、Exponential Height Fog アクターを追加します。

Exponential Height Fog actor selection

シーンの変更とアセットの追加の詳細については、Unreal Engine 5 のドキュメントを参照してください。

AutoVrtlEnv プロジェクトから独自のプロジェクト ファイルにアセットを移行するには、Unreal Engine のドキュメントを参照してください。

カスタム シーンでの AutoVrtlEnv プロジェクトのライトの使用

AutoVrtlEnv プロジェクトに付属する照明を Aerospace Blockset で使用するには、次の手順に従います。

  1. [World Settings] タブの [Force no precomputed lighting] をオフにします。

  2. [Build] の下にある [Lighting Quality][Production] を選択して、生産品質のマップを再作成します。大きなマップの再構築には時間がかかる場合があります。

シミュレーションの実行

テスト シミュレーションを実行して、Simulink モデルと Unreal エディターが共同シミュレーションするように構成されていることを確認します。

  1. Simulink モデルで、Run をクリックします。

    Run をクリックすると、シミュレーションの Simulink 側が起動しますが、Unreal エディターは起動しません。次の 2 つの手順を続行して、Unreal エディターの共同シミュレーションを開始します。

  2. Simulink の診断ビューア ウィンドウに次のメッセージが表示されていることを確認します。

    Simulation 3D Scene Configuration ブロックでは、シーン ソースを「Unreal Editor」に設定します。Unreal Editor で「再生」を選択してシーンを表示します。

    このメッセージは、Simulink が Unreal Engine 3D 環境で航空機やその他のアセットをインスタンス化したことを確認します。

  3. Unreal エディタで、Play をクリックします。シミュレーションは、Unreal エディタで現在開いているシーンで実行されます。Simulink モデルに航空機が含まれている場合、これらの航空機はエディターで開いているシーン内を移動できます。

シミュレーション中にシーンのビューを制御するには、Simulation 3D Scene Configuration ブロックで、Scene view パラメータから航空機名を選択します。シミュレーションの実行中にシーン ビューを変更するには、まずエディター ビュー ウィンドウ内で左クリックし、次にエディターの数字キーパッドを使用します。表には、Scene view パラメータで選択された航空機に対する、シーンを表示するカメラの位置が表示されます。

カメラビューをスムーズに変更するには、次のキーコマンドを使用します。

キーカメラ ビュー

1

左後ろ

2

戻る

3

右後ろ

4

5

内部

6

7

前左

8

フロント

9

前右

0

天井部

シミュレーションを停止するには、Unreal Editor の停止ボタンではなく、常に Simulink の停止ボタンを使用してください。

追加のカメラコントロールについては、次のキーコマンドを使用します。

キーカメラコントロール
Tab

シーン内のすべての航空機のビューを切り替えます。

マウスのスクロールホイール

航空機からのカメラの距離を制御します。

L

カメラのラグ効果のオン/オフを切り替えます。ラグ効果を有効にすると、カメラビューには次のものが含まれます。

  • 航空機の並進加速度に基づく位置の遅れ

  • 航空機の回転速度に基づく回転遅れ

この遅延により、航空機全体の加速と回転の視覚化が向上します。

F

フリーカメラモードのオン/オフを切り替えます。フリーカメラモードを有効にすると、マウスを使用してカメラのピッチとヨーを変更できます。このモードでは、カメラを航空機の周囲に周回させることができます。

シミュレーションを再開するには、Simulink モデルで Run をクリックし、診断ビューアに確認メッセージが表示されるまで待ってから、エディターで Play をクリックします。モデルでシミュレーションを開始する前に Play をクリックすると、Simulink と Unreal エディター間の接続が確立されず、エディターに空のシーンが表示されます。

カスタム プロジェクトを共同シミュレーションしている場合、テンキーを有効にするには、サポート パッケージのインストール フォルダーからカスタム プロジェクト フォルダーに DefaultInput.ini ファイルをコピーします。たとえば、次の場所から DefaultInput.ini をコピーします。

C:\ProgramData\MATLAB\SupportPackages\<MATLABRelease>\...
toolbox\shared\sim3dprojects\driving\AutoVrtlEnv\Config

これを次のように変更します。

C:\<yourproject>.project\Config

シミュレーション結果に基づいてカスタム シーンを調整した後、そのシーンを実行可能ファイルにパッケージ化できます。詳細については、を参照してください。

アクターのブループリントの再親化

メモ

Unreal Engine プロジェクト用の Aerospace Blockset インターフェース サポート パッケージとともにインストールされる AutoVtrlEnv プロジェクトのシーンを使用している場合は、このセクションをスキップしてください。ただし、このプロジェクト内のシーンの 1 つに基づいて新しいシーンを作成する場合は、このセクションを完了する必要があります。

Simulink からカスタム シーンを初めて開くときは、このプロジェクトを Aerospace Blockset で使用される Sim3dLevelScriptActor レベル ブループリントに関連付ける (再親化) 必要があります。レベル ブループリント は、オブジェクトが 3D 環境に配置された後、そのオブジェクトが 3D 環境とどのように相互作用するかを制御します。プロジェクトの親が再設定されていない場合、Simulink はシミュレーションの開始時にエラーを返します。カスタム プロジェクト内の各シーンを個別に再親付けする必要があります。

レベル ブループリントを再親化するには、次の手順に従います。

  1. Unreal エディター ツールバーで、BlueprintsOpen Level Blueprint を選択します。

  2. レベル ブループリント ウィンドウで、FileReparent Blueprint を選択します。

  3. Sim3dLevelScriptActor ブループリントをクリックします。Sim3dLevelScriptActor ブループリントがリストに表示されない場合は、次の手順に従って、MathWorks Simulation プラグインがインストールされ、有効になっているかどうかを確認してください。

    1. Unreal エディター ツールバーで、SettingsPlugins を選択します。

    2. プラグイン ウィンドウで、MathWorks Interface プラグインがインストール済みウィンドウにリストされていることを確認します。プラグインがまだ有効になっていない場合は、Enabled チェックボックスをオンにします。

      このウィンドウに MathWorks Interface プラグインが表示されない場合は、 環境の構成 で手順 3 を繰り返し、 Simulink からエディターを再度開きます。

    3. エディターを閉じて、Simulink から再度開きます。

  4. レベル ブループリント ウィンドウを閉じます。

Unreal プラグイン用の Cesium をインストールする

Cesium® シーンをカスタマイズするには、Unreal プラグイン用の Cesium をインストールし、MathWorks Geospatial プラグインを有効にします。

メモ

Unreal Engine プロジェクト用の Aerospace Blockset インターフェース は、Cesium プラグイン バージョン 1.20.1 をサポートしています。

このバージョンのプラグインをダウンロードするには、https://github.com/CesiumGS/cesium-unreal を参照してください。

  1. https://cesium.com/unreal-marketplace/ から Unreal 用の Cesium プラグインをインストールします。指示に従ってプラグインをダウンロードしてください。

  2. Unreal エディターで MathWorks Geospatial プラグインを有効にします。Unreal エディター ツールバーで、SettingsPlugins を選択します。

  3. プラグイン ウィンドウで、MathWorks Geospatial プラグインがインストール済みウィンドウにリストされていることを確認します。プラグインがまだ有効になっていない場合は、Enabled チェックボックスをオンにします。

  4. エディターを閉じて、Simulink から再度開きます。

参考

|

トピック

外部の Web サイト