「川田さんより引き継いだtrmodelクラスについての資料まとめ」

基本はDoxygenを参照してください。

■主担当
プランナー　中津井さん
デザイナー　大久保さん
　　　　　　　（モーションは梶田さん）

■リソース

(1) おおもとの置き場所
C:\home\xy_chara\battle\convert\trmodel

(2) 生成物の置き場所
C:\home\xy_project\resource\trmodel


■プログラム

C:\home\xy_project\prog\include\trainer\
TrModelManager.h
TrModel.h

C:\home\xy_project\prog\src\trainer\
TrModelManager.cpp
TrModel.cpp


■デバッグメニュー
生田くん作成のデバッグメニューがあります。
詳しくは生田くんに。


======================= 使い方 ===================================

(1) リソースの場所
C:\home\xy_chara\battle\convert\trmodel


(2) プログラムの場所
C:\home\xy_project\prog\include\trainer\
    btl_tr_gra_id.h    ・・・バトルのトレーナー番号
    tr_mot_def.h    ・・・モーション番号
    TrModel.h    ・・・モデルクラス
    TrModelManager.h    ・・・マネージャクラス←これだけ#includeしてもらえば、上記のものは使用できます。

C:\home\xy_project\prog\src\trainer


(3) 使用例

1 着せ替えを使用する場合は、着せ替えマネージャを生成しておく
  xy_system::dress_up::DressUpManagerCreate(
      m_heap_memory,
      m_heap_memory,
      m_device_memory
  );

2 マネージャを生成する
  m_tr_model_manager = GFL_NEW(m_heap_memory) trainer::TrModelManager(
    m_heap_memory,
    m_game_manager->GetFileReadManager()
  );

3 毎フレームの処理
    m_tr_model_manager->CalculateBefore();
　　　　ここにシーンのCalculateが入ります。
    m_tr_model_manager->CalculateAfter();
　　　　この後シーンのSubmitViewになります。

4 モデルを生成を開始する
  m_tr_model[TR_MODEL_HEROINE] = m_tr_model_manager->RequestCreateModel(
      m_heap_allocator,
      m_device_allocator,
      desc
  );

5 モデルの生成完了を待つ
m_tr_model_manager->IsModelCreated(m_tr_model[i]) 

6 モデルの設定を行う　※ここは皆さんがよく使う関数をどんどん追加していきたい場所です。
            m_tr_model[i]->AddModelToScene(
                m_g3d_util->GetScene(),
                CALC_INDEX,
                DRAW_INDEX
            );
m_tr_model[i]->SetTranslate(translate);
m_tr_model[i]->ChangeMotion(TRMOT_BTL_BA10_BALL01);

7 モデルの破棄
      GFL_ASSERT_MSG(m_tr_model_manager->IsAbleToDestroyModel(m_tr_model[i]), "トレーナーモデル%d番を削除できません。\n", i);
      m_tr_model_manager->DestroyModel(m_tr_model[i]);

8 マネージャの破棄
    GFL_ASSERT_MSG(m_tr_model_manager->IsAbleToDestroy(), "トレーナーモデルマネージャを削除できません。\n");
    GFL_DELETE m_tr_model_manager;

10 着せ替えを使用していた場合は、着せ替えマネージャを破棄する
    xy_system::dress_up::DressUpManagerDestroy();


(4) 実際に使用している場所

イントロ
C:\home\xy_project\prog\src\app\intro\
IntroCommon.cpp


(5) トレーナーモデルを表示するのに最適なシーン環境

トレーナーモデルを表示するのに最適なシーン環境をつくれるようにしました。

リソースなしでシーン環境をつくれます。
C:\home\xy_project\prog\include\trainer\
TrModelManager.h

struct TrModelEnvMember
extern void CreateTrModelEnv(
extern void DestroyTrModelEnv(

凝った背景（フィールドやバトルの背景のようなもの）にトレーナーモデルを出すとき以外は
これを利用して頂けると思います。

app_util_3d.h
app::util::G3DUtil
を使用している方用に、G3DUtilに上記シーン環境をつくれる関数も用意してあります。
extern void G3DUtilCreateTrModelEnv(G3DUtil* util, app::util::Heap* heap);
extern void G3DUtilDeleteTrModelEnv(G3DUtil* util);



