三次元モデル表示プログラム(w3d_GDI.exe/w3d_OpenGL.exe) Ver 3.00 2008.11.15 by Kuniyuki.Tsujimoto 1.機能概要 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  後述の三次元モデル表示ライブラリ Blue Impulse のライブラリを応用し、任意の 三次元モデルを表示するプログラムである。以下に特徴を紹介する。      ・地形データ、機体データを任意のモデル・ファイルから選択できる。   ・キーボード、マウスで、機体データを操作できる。但し、フライトシミュレータで    はなく、オイラー角で直接姿勢を指示した通りの表示運動する。   ・別プログラム(UDP_AD.exe,Dinput_KJ)を利用することにより、共有メモリ/ネット    ワーク経由JOYSTICK,GAMEPADで操作可能である。   ・入力方法は、キーボード/マウス/共有メモリから選択できる(M)   ・機体運動をファイルに記録することができる。(Space)   ・ファイルに記録した運動に従い機体運動をアニメーション表示できる。   ・複数の機体三次元モデルを同時に表示できる。また表示対象切換できる。(F4)   ・別プログラム(UDP_Bcast.exe/PC_ASYS_H14.exe)を利用することにより、共有メモリ    /ネットワーク経由、機体運動シミュレーションの機体運動に連携して表示できる。   ・機体運動は操作入力、ファイル入力、共有メモリ入力から選択できる(F3)   ・表示方法(機体位置固定、視点位置固定、コクピット視点)が切換可能である。(F1)   ・ポーズ停止/再開可能である。(P)   ・数値表示方法選択可能である。(F2)   ・飛行履歴表示可能である。(F5)   ・視点方向も操作可能である。(RETURN)   ・初期設定ファイル(w3d.ini)により表示初期条件を設定可能である。   ・メニューのダイアログより、任意のモデルファイルが選択可能である。 2.使用方法 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ W3d.iniをサンプルで上書きし実行してください。 サンプルには以下がありますので参考にしてください。 ・W3d(airport).ini ・W3d(H2A).ini ・W3d(rlv-hope).ini ・W3d(matushima).ini ・W3d(B747).ini ・W3d(ZERO).ini ・W3d(AD入力).ini (1) w3d.exe 起動 (2) 3Dロゴ表示中に何かキーを押す。 回転が止まり、マウスでメニュー指示可能となる。 そのまま、goを選択した場合、w3d.iniに従い実行されます。 (3) 一度は、ReadMe.txt/本ファイルを読んでみてください。 (4) file をマウスでクリック。 (5) file のプルダウン・メニューから、Openを指示して、srf ファイルを指示する。 (6) モデルを確認する。 (7) file のプルダウン・メニューから、Openを指示して、fld ファイルを指示する。 (8) モデルを確認する。 (9) file のプルダウン・メニューから、Goを指示して、運動表示を開始する。 (5)(7)を省略した場合、(2)の状態となる。 (10) 以降に示すモードの指定により、SrfモデルをFldモデル上で運動をアニメーション   表示する。 (11) ESCキーで終了。(2)に戻る。再度、(9)から繰り返し可能。 (12) (2) の状態でfile のプルダウン・メニューから、Quitを指示しW3Dは終了する。 以下モード/操作の説明: ・共通 ESC:運動表示終了 RET:視点操作モード/モデル操作モード切換(視点操作モードが初期状態) F1:表示モード(視点追従/視点固定/コクピット)(視点追従が初期状態) F2:数値表示内容切換 F3:運動方法(操作入力/ファイル入力/外部シミュレーション入力)切換 F4:複数モデル表示時、表示対象機体モデル切換 F5:飛行履歴表示ON/OFF M:Key(Keyが初期状態)/マウス入力/Dinput入力(共通メモリ) P:ポーズON/OFF ・視点操作モード A :遠 Z :近 UP :上 DOWN :下 LEFT :左 RIGHT :右 マウス左ボタン:遠 マウス右ボタン:近 マウス上移動 :上 マウス下移動 :下 マウス左移動 :左 マウス右移動 :右 ・モデル操作モード A :加速 Z :減速 B :ヨー レフト N :ヨー ライト Space :ファイル記録ON/OFF 上記は、マウス許可状態でも使用可能 UP :ピッチアップ DOWN :ピッチダウン LEFT :ロール CCW RIGHT :ロール CW マウス左ボタンを押しながら マウス前移動 :ピッチアップ マウス後移動 :ピッチダウン マウス左移動 :ロール CCW マウス右移動 :ロール CW マウス右ボタンを押しながら マウス前移動 :加速 マウス後移動 :減速 マウス左移動 :ヨー左 マウス右移動 :ヨー右 ・ファイル再生モード ・位置姿勢の共有メモリ入力モード (外部の機体運動シミュレーションと連動) 3.制約事項 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (1) dnm ファイル形式のモデルは、扱えない。AURORA ライブラリ未入手のため。   →解決。2004.03.18 (2) 今後対応の予定 ・ランダム運動(Tank.exeの応用)-> WingsOfFreeで実現。 ・Fld地形の障害物処理(Tank.exeの応用) (3) dnm用Impls32o.libを使用したら、立体文字のロゴ表示ができなくなった。    (4) OpenGL版では、全角文字の表示が出来ないため、ReadMeが読めなかった。 4.作業記録 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2008.11.16 ・マウス操縦機能を変更した。 ・ WindowsのNotePadを利用し表示することにした。 ・オープニング画面を対象指定の機体の回転表示とした。 2004.03.18 ・本マニュアル改訂し、バージョンを2.02とした。 ・.dnmモデル取扱可能とした。 2003.12.05 ・飛行履歴表示機能追加。 ・メッシュ範囲の拡大。 ・色合い調整。 2003.07.15 ・本マニュアル改訂し、バージョンを2.01とした。 2003.06.25 ・ログ開始指示の設定ファイル追加。 ・ポーズ機能追加 ・高度0以下にならないことにした。 ・複数モデルの表示 2003.06.24 ・パラメータのメニュー設定/デフォルトファイル記録 ・辻本コーディング・フォーマット規約の反映 ・共有メモリからのデータインタフェース ・モデル操作モードのデータ収録/再生機能 (.fr. .mpa .mdf 対応 FAerobaticとの互換性は無い。) 2001.07.25 wed ・ReadMe.txt 追記 2001.07.24 tue Ver 1.01 ・ReadMe 操作説明表示機能追加 ・機体方向ベクトル/高度軸表示機能の追加 ・srf/fldファイル表示機能の修正 2001.07.23 mon Ver 1.00 ・トップ画面に3Dロゴ文字表示機能追加 ・surfveiw をベースにファイル選択機能改良 ・イベント・ループから、Wing3d表示ループ呼び出し方法改善 (画像表示ループ中は、マウスによるメニュー指示しにくいため) ・マウスのボタン入力がBiMouse で認識できないので? HOTASのマウスボタンイベントに変更 5.Blue Impulse 開発キット ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本アプリケーション開発には、下記開発キットを使用いたしました。 Blue Impulse は、航空自衛隊のアクロバットティームの名称です。本開発システムは、 開発当初より、Blue Impulseの飛行のように美しいグラフィックスを表現できるように との意図で「Blue Impulse 開発キット」という名称で開発を進めてきました。今回、 発表にあたり、航空自衛隊のご好意により、この名称の使用の許諾をいただきました。 なお、「Blue Impulse 開発キット」自体はフリーソフトウェアであり、登録商標には あたらないことを併せて明記いたします。 以下より転載しました。 3Dグラフィックス開発キット Blue Impulse 実践3Dプログラミング 著者:山川総司 PEB01130@nifty.ne.jp 発行所:株式会社アスキー http://www.ysflight.com/ (最新のフライトシミュレータは遥か先を進んでいます。) VRML2.0のモデルファイル(.wrl)から.srfに変換するツールが別途あります。 6.w3d.exe 問い合せ先  kuniyuki.tsujimoto1182@nifty.ne.jp ・5.項に関しまして各自アクセス/購入お願いします。 ・ソースフルセットは提供可能です。(圧縮ファイルで2.4MB) ・関連プログラム(UDP_AD.exe,Dinput_KJ.exe,UDP_Bcast.exe)についても同様に提供  可能です。 7.その他 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ・BiMouse のボタン認識ができない? ・ログファイルの重ね書きした場合長いファイルが残る。 (log.txtははじめに空で作成しておく。) 8.所感 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1996 にBlue Impulse開発キットと出会って以来ようやくここまで使えるようになったことが すなおにうれしい。当時、自前でポリゴン表示機能(W3D6F)を作成していた時でレベルの差が ショックだった。 夏休みの精神的リハビリとしてプログラミンングすることで少しはストレス・リリーフに なったのだろうか?他にすべきことがいっぱいあるのに。 2003.08.17 辻本邦之 -----------------------------------------------------------------------------------