viewerの構造はこんな感じです。
SceneMgr:3Dシーンを管理します。
FlashMgr:Flashを管理します。
GuiMgr:GUIを管理します。
SoundMgr:サウンドを管理します。
PhysicsMgr:物理演算を管理します。
ScriptMgr:Luaスクリプトを管理します。
InputMgr:キーボード、マウス入力などを管理します。
シーンの構造はこんな感じです。
viewerは、3D描画部分にオープンソースライブラリOGRE3Dを利用しています。
viewerで使用する3Dモデルデータなどは、OGRE3D形式に変換する必要があります。
(各種3DCGソフトウェア用のOGRE3Dエクスポーター・プラグインがあります。)
viewerで読み込む各種データをリソースと呼びます。ただしswfファイルはリソースに含まれません。
リソースはZIPや独自ファイル形式でアーカイブできます。
リソースには以下のような種類があります。
画像ファイル | PNG, JPEG, TGA, BMP, DDS |
*.mesh | ポリゴンモデル。各種3Dソフト用プラグインで作成。バイナリファイル。 |
*.skeleton | アニメーション。各種3Dソフト用プラグインで作成。バイナリファイル。 |
*.material | マテリアル。各種3Dソフト用プラグインで作成。テキストファイル。 |
*.program | シェーダー定義。テキストファイル。 |
*.hlsl/*.glsl/*.cg | シェーダー。テキストファイル。 |
*.compositor | コンポジッター(後処理エフェクト)。テキストファイル。 |
*.particle | パーティクル。エディターあり。テキストファイル。 |
*.scene | シーン。各種3Dソフト用プラグインで作成。xmlファイル。 |
*.layout | GUIレイアウト。エディターで作成。xmlファイル。 |
*.wav/*.ogg | オーディオファイル。 |
*.lua | Luaスクリプトファイル。テキストファイル。 |
*.bullet | Bulletファイル。各種3Dソフト用プラグインで作成。バイナリファイル。 |
基本的に、エクスポーター・プラグインや専用エディターで作成しますが、テキストファイルやxmlは手書きも可能です。
詳しいフォーマットなどは、OGRE3Dマニュアルにも記載されています。
リソースファイルの設置位置は、いくつか手法があります。
ビュアーは起動時に以下の手順でリソースを探します。
viewerは最初にboot.luaファイルを読み込んで実行します。
Luaスクリプトファイルに、シーンの設定やモデルデータの読み込み、ゲームの処理などを記述します。
viewerのスクリプト命令はクラス・リファレンスを参照してください。
Luaファイルは文字コードUTF-8 BOMなしで作成してください。
完成したゲームなどをviewerと一緒に再配布する前に、ogre.cfgファイルを削除する必要があります。
viewerを一度起動すると、viewer.exeファイルと同じフォルダにogre.cfgファイルが作成されます。
このファイルにはハードウェア依存の(ビデオカードの)情報が含まれていますので、そのまま他の環境でviewerを起動するとエラーが発生する場合があります。
また、ビデオカードを交換したときにもエラーが発生する場合がありますので、ogre.cfgファイルを削除してからviewerを再度起動してください。