パラメータの操作

パラメータを設定する

パラメータは通常モーションから設定されますが、直接値を指定することもできます。
その場合は以下の3種類の方法があります。

1. 値を上書きする

setParamFloat関数を使用します。
第一引数にパラメータのID,第二引数に値、第三引数に影響度を設定します。
影響度は省略可能で、その場合は1になります。
例えば0.5にすると前の値の影響を50%残したまま設定することになります。

2. 現在の値に加算する

addToParamFloat関数を使用します。
引数はsetParamFloatと同じです。
設定した値が加算されるところが異なります。

3. 現在の値に乗算する

multParamFloat関数を使用します。
引数はsetParamFloatと同じです。
設定した値が乗算されるところが異なります。

また、現在のパラメータ値の取得にはgetParamFloat関数を使用します。

パラメータのインデックスによる指定

パラメータのID指定には、"PARAM_ANGLE_X"などの文字列で指定する方法とインデックスで指定する方法があります。
インデックスを使ったほうが高速なため呼び出し頻度が多い場合は、インデックスの使用をおすすめします。
パラメータのインデックスはgetParamIndex関数で取得できます。

パラメータを保存する

モデルの現在のパラメータ値を一時的に保存する場合はsaveParam関数を使用します。
これを実行するとすべてのパラメータ値を一時保存し、次に
loadParam関数を読んだ時に復元されます。

パーツの透明度を設定する

パーツの透明度を設定と取得にはsetPartsOpacity関数とgetPartsOpacity関数を使用します。

パラメータの適用タイミングとコスト

パラメータの設定時にはパラメータ値を書き換えるだけで頂点計算は行いません。
パラメータ変更後のupdate関数で頂点が計算され、その後のdraw関数でパラメータ適用後のモデルが描画されます。