前回に引き続き今回は実際に3Dのガジェットを作るための情報を紹介していきます。3Dのガジェットを作るには①表示モデルの準備、②制御するSWFの準備、③設定ファイルの準備の3つの作業を行う必要があります。
1. 表示するモデルを準備する
Xファイル(DirectXのモデル データ)は各種3Dオーサリング ツールからエクスポートできます。antsではLightwave3Dを使用してデータを作成しています。サンプルの3Dガジェットでは、表示できるデータとして、以下の要件を満たす必要があります。
- モデルは1つのみ
- X形式のテキスト フォーマットのみ
- テクスチャはXデータからの相対パスで指定する
- モーションは複数持つことができる
2. モデルを制御するSWFを準備する
GIZMO 3Dでは、通常のGIZMOのコンポーネントを使った機能のほかに、モデルの表示状態を変更する機能が追加されています。コンポーネントのGizmo.gcommand()メソッドを使って、拡張された機能を呼び出すことができます。 br>詳しい使い方は、3Dサンプル ガジェットのFLAファイルおよび拡張された機能一覧表をご覧ください。
モデル位置を変更する | ||
Gizmo.gcommand(“Gizmo3D.setPosition”, “posX,posY,posZ“); | ||
posX | X座標 | |
posY | Y座標 | |
posZ | Z座標 | |
モデルを回転させる | ||
Gizmo.gcommand(“Gizmo3D.setRotate”, “rotX,rotY,rotZ“); | ||
posX | X軸回転(単位はラジアン) | |
posY | Y軸回転(単位はラジアン) | |
posZ | Z軸回転(単位はラジアン) | |
アニメーションを再生する | ||
Gizmo.gcommand(“Gizmo3D.startMotion”, “name“); | ||
name | アニメーション名 | |
アニメーションの再生を停止する | ||
Gizmo.gcommand(“Gizmo3D.stopMotion”, “”); | ||
カメラ位置を変更する | ||
Gizmo.gcommand(“Gizmo3D.setCamPosition”, “[posX],[posY],[posZ]“); | ||
posX | X座標 | |
posY | Y座標 | |
posZ | Z座標 | |
モデルの特定フレームを表示する | ||
Gizmo.gcommand(“Gizmo3D.NodeOn”, “name“); | ||
name | フレーム名 | |
モデルの特定フレームを非表示にする | ||
Gizmo.gcommand(“Gizmo3D.NodeOff”, “name“); | ||
name | フレーム名 |
3. ガジェット設定ファイルを準備する
1、2で準備したXファイル、制御用SWFを取りまとめる設定ファイル「gadget.xml」を作成する必要があります。親レイヤーを通常のSWFで用意し、子レイヤーで3Dモデルを表示するという構成になります。3Dのレイヤーでは親レイヤーからのオフセット座標、レイヤーのサイズ、初期化パラメータを指定できます。
gadget.xml
<gadget type="layered">
<swf type="main">3d_base_new.swf</swf>
<swf type="3d" offsetX="20" offsetY="15" width="256" height="256" name="3d">param3d.xml</swf>
</gadget>
■初期化パラメータXML