|
プログラム概要
|
|
UC-win/Roadのカスタマイズを行うために本APIを提供します。
本APIを使用すると、UC-win/Roadの基本プラグインと同レベルで自由にオプションの開発ができるようになります。
なお、リアルタイムにUC-win/Roadデータの読み取り・書き込みおよびユーザインタフェースのカスタマイズが可能です。 |
|
|
Ver.14.0.0 改訂内容 (2019年 11月11日 リリース)
|
|
- UC-win/Road Ver.14.0.0 に対応
|
|
Page Top |
プログラムの機能と特長
|
|
●仕様
UC-win/Road SDKは、Embarcadero® Delphiで作成したAPIであり、プラグインを開発するためにDelphiが必要になります。UC-win/Roadのプラグインは、Embarcadero®
DelphiのランタイムライブラリとしてUC-win/Roadの起動時、あるいはUC-win/Roadのプラグインマネージャ画面によりプロセス内にロードされます。プラグインからアプリケーションや既存のデータにアクセスし、UC-win/Roadのカスタマイズが可能になります。
プラグインからアプリケーションや既存のデータにアクセスし、UC-win/Roadのカスタマイズが可能になります。
※DelphiはProfessional版以上のエディションが必要です。また、Ver.10ではDelphi XE2にのみ対応しています。順次最新バージョンに対応予定です。XE2は最新版からダウングレード版のダウンロードサービスで入手可能。
●製品構成
Libraryフォルダ |
: |
プラグインのコンパイルに必要な各種ライブラリファイルを格納。 |
Pluginsフォルダ |
: |
各種サンプルプログラムのソースコードを格納。コンパイルして実行することで、SDKで制御可能な機能の理解に役立つ。 |
ヘルプファイル |
: |
APIのインターフェースの説明やDelphiのセッティング方法を記述。現行では英語のみ。 |
●APIの機能
本SDKでは、UC-win/Road上のデータ作成や編集、データ交換、データ処理に関する機能や、UI(ユーザインターフェース)の追加、ドライビングシミュレーションに関する制御など、多彩な機能を提供しております。主要な機能について以下に示します。
■VR空間を構成する静的なデータの参照、変更
VR空間を構成するデータの参照、編集、新たに作成するなどの操作が可能です。
- 地形
構成するポリゴン座標、指定平面座標の標高、メッシュサイズ、座標系の変換
- 道路線形
平面線形、縦断線形のIP点座標、道路長、勾配、緩和曲線や円弧の設定、各車線の情報
- 道路断面
横断面形状、車道・縁石等の分類、切り土・盛り土・トンネル断面形状・属性、テクスチャ参照
- 交差点
交差点形状、テクスチャ、マーキング、走行ルート、信号現示(信号機、信号フェーズ、交通制御)
- モデル
モデルを構成するポリゴン、テクスチャ、基本色、パーツ構成、大きさ、動作設定、回転、スケール、原点位置
- 配置モデル
ビル、2D樹木、3D樹木、車両、背景、標識、道路付属物、ビデオウォール、3Dテキストの参照、新規作成
■モデル/キャラクタのリアルタイム制御
- キャラクタ座標の制御
座標、向き、傾き等をリアルタイム制御することにより、キャラクタを歩かせることが可能。他の解析プログラムの可視化等に用いる。
- 可動パーツの制御
予め3Dモデルに設定した可動設定を呼び出すことにより、モデルの一部を稼働させる。
|
|
▲キャラクタ座標の制御 |
▲可動パーツの制御 |
■ドライビングシミュレーションの制御
UC-win/Roadの中で行っている車両ダイナミクス(車の物理運動)の制御を、SDKで開発したプラグイン内の運動モデルで置き換えることができる。車両の安定性能や快適性能評価、新技術評価検討などの研究開発に用いることが可能。また、外部プログラムの車輌運動モデルの計算に置き換えることも可能。(例:CarSim)
■ログ機能
運転する車両、周囲の車両、歩行者等の座標や向き、ステアリング、アクセル開度などの情報をリアルタイムに取得する機能。ファイルに保存し分析することができる。
■メイン画面の視点制御
視点(カメラ位置)を自由に制御することができる。着目するモデルを異なるアングルから確認するなどの見せ方が可能。
■OpenGLコントロールの自由な描画
3D画像を描画するOpenGLコントロールを用いて直接描画することができる。下図は3次元空間上に風の流れ(流線)を描画したところ(流体解析連携プラグイン)。
■ユーザ操作取得
ユーザがメイン画面で行うマウス、キーボードとゲームコントローラ操作の取得が可能。ユーザのクリック位置や押したキーによるVR空間の制御、そしてクリックするモデルに対する情報を表示できるようになる。
■GUI(Graphical User Interface)のカスタマイズ
- 入力/情報表示ダイアログの追加
パラメータの入力画面や情報を表示する画面を作成し、これを制御することができる。
- コントロールの追加、既存コントロールの制御
メイン画面にメニューの項目やツールバーを追加する。また、既存のコントロール選択時の動作を変更したりする。
|
|
▲入力/情報表示ダイアログ追加 |
▲コントロールの追加/制御 |
|
●開発事例
- ドライビングシミュレーション
ログ機能を用いることにより、運転シミュレーションの際、車輌の物理量をリアルタイムで取得することが可能になります。
ユーザが運転する車輌及び周辺の車輌の情報を得て様々な分析に利用できます。例えば、運転の特性、安全性、エコドライブの判定アルゴリズムを自由に組み込んで教育や研究などに活用できます。出力する情報は下記の通りです。
- 車輌の位置情報及び方位
- 道路及び車道に対しての位置情報
- ユーザの運転操作量
- 車輌の速度、加速度、エンジンRPM、ギア
- 車輌の属性:重量、寸法、ギア比、エンジントルク、ブレーキ応力、摩擦係数
- 車両運動モデルのカスタマイズ
運転する車輌の運動特性のカスタマイズが可能になります。UC-win/Roadの標準運動モデルを置き換え、ユーザの運転操作に対する車輌運動アルゴリズムをプログラミングできます。
UC-win/RoadのVR環境を利用し、カスタマイズされた運動モデルでドライビングシミュレーションが行えます。
- モデルリアルタイム制御
データに登録した3DモデルをVR空間上で動かしたり、表示/非表示することが可能になります。UC-win/Roadに位置情報だけを与えればキャラクタモデルのアニメーションが実際の移動速度に合わせて再生されます。UC-win/Roadの基本機能である飛行ルートあるいは道路に沿った動きの他に自由な動きの表現ができます。外部のデータとの連携を開発すればマイクロシミュレーションのVR表現が可能です。
- Cloud Programming World Cup
フォーラムエイトでは、2013年より、学生を対象とした、開発キット(SDK)によるクラウドアプリのプログラミング技術を競うコンテストを毎年開催しています。
●サンプルプログラム
プロジェクトを読み込み、コンパイルしてプラグインを作成して実行することにより動作を確認したり、機能を実現するためのソースコードの処理を理解することが可能です。
例えば、交通流の種々の設定を行うプログラム。ツールメニューに「Traffic Generator Set」が追加されます。クリックすると、各道路の中央に「任意交通量点」を追加し、基本的な設定を行います。道路端部の交通流発生点の設定も行います。
|
|
|
▲道路のクアッド情報(道路の形状の取得) |
|
▲受音点の表示と選択(オブジェクトインスタンス) |
●書籍
関連書籍でも取り扱っております。
|
|
Page Top |