Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Simulation 3D Message Set

Unreal Engine 可視化環境へのデータの送信

R2019b 以降

  • Simulation 3D Message Set block

ライブラリ:
Vehicle Dynamics Blockset / Vehicle Scenarios / Sim3D / Sim3D Core
Aerospace Blockset / Animation / Simulation 3D
Simulink 3D Animation / Simulation 3D

説明

Simulation 3D Message Set ブロックは、Unreal Engine® 3D 可視化環境にデータを送信します。モデルで、Simulation 3D Scene Configuration ブロックが Simulation 3D Message Set ブロックと同じレベルにあることを確認します。

ヒント

Simulation 3D Message Set ブロックが Simulation 3D Scene Configuration ブロックよりも先に実行されることを確認します。これにより、Simulation 3D Message Set で信号データが準備されてから、そのデータを Unreal Engine 3D 可視化環境で受信するようになります。ブロックの実行順序を確認するには、ブロックを右クリックして [プロパティ] を選択します。[一般] タブで、[優先順位] の設定が次のようになっていることを確認します。

  • Simulation 3D Scene Configuration0

  • Simulation 3D Message Set-1

実行順序の詳細については、実行順序の制御と表示を参照してください。

データを受信するためのシーンの構成

このブロックを使用するには、Simulink® モデルからデータを受信するように Unreal Engine 環境のシーンを構成する必要があります。

  1. 車両運動のシミュレーションのための 3D シーンのカスタマイズをインストールします。

  2. Unreal® Editor で、Simulink からデータを受信するための次の一般的なワークフローに従います。詳細については、Unreal Engine 可視化環境との通信の開始を参照してください。

    Unreal Engine ユーザー

    ワークフロー

    ブループリント

    1. Simulink モデルから受信するデータ型に対応する Sim3DGet アクターをインスタンス化します。次の例は、Unreal Editor の Sim3DGet のデータ型を示しています。

      Image of Unreal Engine options

    2. Simulation 3D Message Set ブロックの [信号名] パラメーターと一致するアクターのタグ名を指定します。

    3. レベル ブループリントに移動します。

    4. Simulink モデルから受信するデータ型とサイズに基づいて、Sim3DGet アクター クラスのブループリント メソッドを調べます。

      たとえば、次の Unreal Editor の図から、int32 データ型のサイズのスカラーを受信する Sim3DGetInteger アクター クラスのメソッドは Read Scalar Integer であることがわかります。

      Image of Unreal Engine blueprint connections

    5. シーンをコンパイルして保存します。

    メモ

    既定では、Double Lane Change シーンは TrafficLight1 というタグ名の Sim3DGetInteger アクターをもちます。

    C++ クラス

    1. Simulink モデルで操作するメッシュまたはアセットの新しいアクター クラスを作成します。ASim3dActor からこれを派生させます。

    2. 新しいアクター クラスで、次を行います。

      • 信号名へのポインターをクラス フィールドとして宣言する。

      • クラス タグを取得する。

      • 信号リーダーを作成してメソッド Sim3dSetup でポインターに割り当てる。

      • メソッド Sim3dStep で、関数 ReadSimulation3DMessage を呼び出して Simulink モデルからデータを読み取る。

      • アクターのメソッド Sim3dRelease で、信号リーダーを削除する。

    Unreal Editor の詳細については、Unreal Engine 4 のドキュメンテーションを参照してください。

端子

入力

すべて展開する

3D 可視化環境のシーンに送信されるデータ。Unreal Engine 環境で、Simulink モデルからデータを受信するように Sim3DGet クラスを構成できます。

たとえば、Unreal Editor で、Double Lane Change シーンは TrafficLight1 というタグ名の Sim3DGetInteger 整数アクターをもちます。整数アクターは、Simulink モデルから int32 データ型を読み取ります。それを使用して信号機の点灯の色を制御できます。

次の表に、Double Lane Change シーンの WriteMsg の値に対応するシーンの信号機の色を示します。

Simulation 3D Message Set ブロックの WriteMsg の値

TrafficLight1 の色

0Red
1Yellow
2Green

パラメーター

すべて展開する

3D 可視化環境で信号名を指定します。Unreal Engine 環境で、[Details] ペインにある Sim3Get アクター クラスの 'Tags' プロパティを使用します。

たとえば、信号機の点灯の色を赤、黄、青に変更する Double Lane Change シーンにデータを送信できます。信号機の点灯にデータを送信するには、このパラメーターを TrafficLight1 に設定します。Double Lane Change シーンでは、Sim3dGetInteger アクター クラスの 'Tags' プロパティの値は TrafficLight1 に設定されます。

サンプル時間 (秒)。グラフィックスのフレーム レートはサンプル時間の逆数です。サンプル時間を -1 に設定すると、ブロックは Simulation 3D Scene Configuration ブロックに指定されているサンプル時間を使用します。

バージョン履歴

R2019b で導入