□ sandbox パッケージについて

・sandbox パッケージの構成

 - SandBox/  ... エディットランタイム連携確認用プログラムです
   - bin/    ... 実機/PC 用実行ファイル
   - bat/    ... 起動用バッチ
   - EditData/ ... 動作確認用データ（モデル、シェーダ）
     - model/
     - shader/
     - convert_all.bat   ... モデル、シェーダをコンバートするためのバッチです
     - tools/3DEditor/TeamConfig/ ... sandbox 用 3DEditor のチームコンフィグです。

 - Tool/3DEditor/    ... 3DEditor の実行ファイル NW4F_3DEditor.exe があります


・テストデータのコンバート

 - SandBox/EditData/convert_all.bat バッチを実行すると、
   SandBox/DiscRoot/g3d/sandbox/nakatani/test
   にバイナリ、シェーダ（fsdb、bfsha）が生成されます。
 - DataEdit を起動する場合には、先に上記バッチを実行しておく必要があります。


・3DEditor

 - SandBox で使用するため、環境変数 NW4F_G3D_ROOT を Sandbox パッケージの直下（NW_Cafe）に
   設定してください。
 - 下記バッチから実行すると、NW4F_G3D_ROOT を設定して 3DEditor を起動します。
   SandBox/bat/Run_3DEditor.bat
 - SandBox 用に設定された 3DEditor のチームコンフィグが下記にあります。
   SandBox/EditData/tools/3DEditor/TeamConfig
   - Run_3DEditor.bat から 3DEditor を起動すると上記が指定されます。
   - 上記バッチから 3DEditor を起動しない場合には、上記チームコンフィグのパスを
     環境変数 NW4F_3DE_TEAM_CONFIG に設定します。

・SandBox プログラム

1) EditTest
   EditTest はエディットランタイムを使用して 3DEditor からメッセージを
   受信するだけのテストプログラムです。
   コンソールアプリでエディットランタイムのログが出力されます。（ウィンドウは出ません。）

   ・起動方法
     - PC 版
       - SandBox/bin/Win32/Debug/g3d_sandbox.exe から起動します。
         起動後、 3: Nishizawa -> 1: EditTest メニューをキーボード入力から選択します。
       - 上記操作を一括で行えるバッチが下記にあります。
         SandBox/bat/Run_EditTest_PC.bat

     - 実機版
       - SandBox/bat/Run_EditTest_Cafe.bat 
         バッチを実行すると sandbox の 3: Nishizawa -> 1: EditTest が起動します。

2) DataEdit
   DataEdit は 3DEditor に読み込んだモデルをプレビューしたり、
   アプリ内のモデルに対して 3DEditor から Attach / Detach を行えるテストプログラムです。

   ・起動方法
     - PC 版
       - SandBox/bat/Run_DataEdit_PC.bat 
         バッチを実行すると sandbox の 2: Nakatani -> 2: DataEdit が起動します。

     - 実機版
       - SandBox/bat/Run_DataEdit_Cafe.bat 
         バッチを実行すると sandbox の 2: Nakatani -> 2: DataEdit が起動します。

   ・デバッグパッド操作一覧
     - エディットモード時
       - a: PierrotAnimDance.fmda モデルの Attach
         （ファイルパスを送っているので Attach すると 3DEditor に自動でモデルが読み込まれます。）
       - a + R: モデル Attach の際に PierrotAnimDance.fmda のファイルパスをランタイムから送りません。
       - a + L: 全モデルアタッチ。
       - b: モデルの Detach
       - b + L: 全モデルデタッチ。
       - x: シェーダの Attach
         （ファイルパスを送っているので Attach すると 3DEditor に自動でシェーダ定義が読み込まれます。）
       - x + R: シェーダ Attach の際に edittest.fsdb のファイルパスをランタイムから送りません。
       - y: シェーダの Detach
       - L: 3DEditor から読み込まれているモデルの全マテリアルの選択
       - R: 3DEditor から読み込まれているモデルの全マテリアルの選択解除
       - L+R: カメラモードに切り替え
     - カメラモード時
       - a: +Y 方向移動
       - b: -Y 方向移動
       - x: ズームイン
       - y: ズームアウト
       - 右スティック(PC 版ではマウス右ボタン): 回転
       - 左スティック(PC 版ではマウス左ボタン): XZ 方向移動
       - L+R: エディットモードに切り替え
     - アニメーション操作 (エディットモード、カメラモード共通)
       - ↑：アニメ再生
       - ↓：アニメ一時停止
       - ←: フレームを一つ戻して一時停止
       - →: フレームを一つ進めて一時停止
       - Z + ←、Z + → : フレームステップ減、増
       - Z + ↓：次のアニメーションセットをプレビュー中に切り替える。(一番目のモデルに対して有効)
       - Z + ↑：前のアニメーションセットをプレビュー中に切り替える。(一番目のモデルに対して有効)

   ・モデルへの Attach / Detach
     - ゲーム内モデルに Attach を行うことで編集を行います。
       DataEdit では PierrotAnimDance（ピエロのモデル）に対して Attach できます。
     - 方法
       - 3DEditor 接続中に Sandbox で「a」ボタン（PC では A キー）を押すと 
         「PierrotAnimDance へアタッチするファイルを開く」ダイアログが開きます。
         PierrotAnimDance モデル中間ファイルを選択することで Attach ができます。
       - Attach したモデルに対してリアルタイム編集することができます。
       - Sandbox で「b」ボタン（PC では B キー）を押すと Detach します。

   ・シェーダへの Attach / Detach
     - シェーダ定義を Attach することによって、シェーダのリアルタイム編集を行います。
     - 方法
       - 3DEditor 接続中に Sandbox で「x」ボタン（PC では X キー）を押すと 
         「edittest へアタッチするファイルを開く」ダイアログが開きます。
         edittest シェーダ定義ファイルを選択することで Attach ができます。
       - 3DEditor のシェーダ定義プロパティパネルのソースコードのページを開くと
         「編集」ボタンがあります。
         「編集」ボタンを押すと、該当シェーダソースがエディタに開かれ編集可能になります。
         エディタからシェーダソースを上書き保存すると、結果がリアルタイムに反映されます。
       - Sandbox で「y」ボタン（PC では Y キー）を押すと Detach します。

   ・最適化シェーダ
     - 3DEditor メイン画面上部の「シェーダ最適化」を有効にすると
       マテリアルに最適化されたシェーダを 3DEditor から送信して使用します。
     - マテリアルプロパティパネルのプレビューページの
       シェーダ最適化 -「最適化処理に含める」チェックボックスを ON にしたマテリアルのみ
       最適化シェーダを送信します。
     - 「マテリアルの変更に追従してシェーダを再生成する」チェックボックスが ON の場合には
       マテリアルに対してシェーダ再生成が必要な編集が行われたタイミングでシェーダを再生成します。
       （シェーダ再生成を行うのでプレビュー反映に時間がかかります。）
       OFF の場合には、マテリアル編集のタイミングではシェーダ再生成が行わず、
       （シェーダ再生成を行わないのでプレビュー反映に時間がかかりません。）
       メイン画面上部にある「最適化シェーダ再生成」ボタンを押すと再生成・送信を行います。

   ・注意
     - DataEdit の実行には convert_all.bat バッチでバイナリをコンバートしておく必要があります。
       （上記、テストデータのコンバートの項を参照）


・更新履歴
 - 2013/09/24 3DEditor チームコンフィグ設定を追加。最適化シェーダについて追加。
 - 2013/04/09 アニメーション操作を追加。
 - 2012/11/07 3DEditor 起動方法を追加。
 - 2012/10/31 モデル/シェーダ Attach の際にパスを送らない操作を追加。全モデル Attach 操作を追加。
 - 2012/06/29 DataEdit でのデバックパッド操作一覧を追加
 - 2012/05/10 モデルへの Attach / Detach、シェーダへの Attach / Detach を追加
 - 2012/04/03 DataEdit を追加
 - 2012/03/15 初版

