MikuMikuDayo
エフェクトリファレンス
読み取り中…
検索中…
一致する文字列を見つけられません
YRZ::FXController 構造体export
モジュール YRZFx

コントローラの定義 HLSL側からどんな値をホストアプリケーションに要求するか? [詳解]

YRZ::FXController 連携図
[凡例]

公開メンバ関数

template<class Archive>
void serialize (Archive &A)

公開変数類

std::string name
 hlslからアクセスするための変数名
std::string controllerName = "(self)"
 ホストアプリケーション側からコントローラを検索するための名前(MikuMikuDayoの実装ではpmxファイル名)
std::string item
 項目名、モーフ名・ボーン名など、空文字の場合はモデル全体の状態
std::string type = "float"
 返り値の型
FXSlider slider
 入力ウィジェットについての設定
std::vector< std::string > desc
 説明文。多言語対応のためvector。MikuMikuDayoの実装では第一要素に英語、第二要素に日本語

詳解

コントローラの定義 HLSL側からどんな値をホストアプリケーションに要求するか?

MikuMikuDayoでの実装では以下のように解釈される

例) { "name":"C_DayoNekoze", "controllerName":"dayo.pmx", "item":"猫背" }
dayo.pmx の猫背ボーンの情報をHLSL内のC_DayoNekoze変数に得る
"type" : "bool""猫背"ボーンまたはモーフがあるか?
"float""猫背"モーフの値を得る
"float3" → 猫背ボーンの位置
"float4x4" → 猫背ボーンの姿勢を得る
"int" → 猫背ボーンまたは猫背モーフが何番目のボーン/モーフであるかを得る。同名のボーンとモーフがある場合はモーフを優先(どちらも存在しない場合は-1)
●特殊なitem
itemが空文字の場合はモデルそのものの情報を得る
"type" : "bool" → 表示状態を得る。trueで表示、falseで非表示
"int" → コントローラのモデル番号を得る。コントローラの元になるモデル自体がアプリケーション内に存在しない場合は-1
"item" : "(exists)"の場合
"type" : "bool" → コントローラ自体が存在するかどうかを得る
"int" → 同名のコントローラが何個存在するかを得る
●特殊なcontrollerName
"controllerName" : "(self)" の場合、エフェクトの起動元になったpmxモデルとして解釈される(デフォーマまたはポストプロセスの時に有効)
●コントローラ配列
name の末尾に[]をつけると、配列になる。[]内に要素数を書く
例) { "name":"dayo[8]", "controllerName":"dayo.pmx", "item":"ダヨー", "type":"float"}
ConstantBuffer内にdayo[8]という配列変数が出来る、dayo[1]以降は同名の2台目以降のコントローラから値が入力される
std::string name
hlslからアクセスするための変数名
Definition YRZFx.ixx:1047

YRZFx.ixx1045 行目に定義があります。


この構造体詳解は次のファイルから抽出されました: