Expression (UE)
最終更新: 2024年9月5日
このページにはアルファ版に関する記述が含まれます。
概要
Expressionは、現在のパラメータの値に対して、表情用のパラメータの値を加算または乗算して設定することができる、Cubismの表情モーションを扱う機能です。
表情機能の設定ファイルは.exp3.json形式で書き出されます。
表情の仕組みにつきましては こちら をそれぞれご覧ください。
コンポーネントの扱い方
Cubism SDK for Unreal Engine における Expression は CubismExpressionComponent を CubismModel アクタの子コンポーネントに追加することで使用することができます。
.model3.json に .exp3.json のパスが設定されている場合は、インポートの際に自動的に CubismModel アクタに CubismExpressionComponent が子コンポーネントとして追加されるため、ユーザー側での設定は不要です。
表情モーションの再生方法
モデルをインポートすると、 .exp3.json がUnreal Editor用の .uasset に変換され、CubismExpressionComponent の Jsons 配列に追加されます。
Unreal Editor上では、 Jsons に登録されている再生したいモーションのインデックスを Index として指定することで、表情モーションを適用することができます。Index が配列のインデックスの範囲外にある場合は適用されません。
モーションの登録順はエディタ上で任意に変更可能なほか、通常は不要ですが、ユーザーが任意にモーションを追加・削除することも可能です。
モーションの再生・停止を制御する場合は CubismExpressionComponent に用意されている以下の関数を使用します。
UFUNCTION(BlueprintCallable, Category = "Live2D Cubism") void PlayExpression(const int32 InIndex); UFUNCTION(BlueprintCallable, Category = "Live2D Cubism") void StopAllExpressions(const bool bForce = false);
- PlayExpression
- InIndex
再生したいモーションの Jsons におけるインデックスを指定します。
- InIndex
- StopAllExpressions
- bForce
true を指定した場合、フェードを適用せずに強制的に停止します。
false を指定した場合、フェードを適用する方法で停止します。
- bForce
更新順について
CubismExpressionComponent は表情モーションの更新処理を担いますが、その更新は CubismParameterStoreComponent の更新の後に適用されます。
これは CubismExpressionComponent が行う更新が次のフレームに影響を与えないようにするためです。
CubismExpressionComponent の更新の後に CubismParameterStoreComponent::LoadParameters() を呼び出すと、意図しない動作になる恐れがあります。