表情モーションとは 表情もモーションの一種として扱われます。 Live2D ライブラリの AMotion を継承しているので、通常のモーションと同様に MotionQueueManager で管理できます。 通常のモーションは値を setParamFloat でセットしますが、表情モーションでは値を足すことで相対的な変化を設定します。 例えば、パラメータAが0から1まで変化する通常のモーションがあるとして、表情モーションとして0.5が設定されているとします。 その場合、通常モーションと表情モーションが同時再生されることでパラメータAは0.5から1.5まで変化することになります。 ( パラメータが最大値を超える値の場合は最大値に調整されます。 )
パラメータのIDと値をセットすることでAnimatorでつけた絵を再現できますが、それは通常のモーションでもできます。 表情モーションはあくまで差分をとって相対的な変化をつけるモーションになります。 JSONファイルから読み取ったパラメータ値をそのまま設定するのはなく、デフォルト値を引いた値を現在のパラメータに足しあわせます。
例えば特定の表情の時のパラメータは以下の計算で設定されることになります。
= 通常モーション 値 + ( 表情パラメータ値 - 表情デフォルト値 )
設定ファイルは JSON ( JavaScript のオブジェクト記述法を元にしたデータ記述言語)で記述されています。 そのため、テキストエディタでの確認や仕様の拡張が容易になっています。
表情の設定は、Live2D SDK のバージョン0.9以前と1.0以降とでやり方を変更しています。 0.9以前では、表情一つに対して一つの表情用JSONファイルを用意していましたが、 1.0以降では、必要な表情を一つの表情用JSONファイルに入れてあるものを使用します。
0.9以前のバージョンのSDKを、1.0からの設定方法に修正するには こちら を参照してください。
|
|