Cubism SDK for Unityの値の操作タイミングについて

最終更新: 2019年7月25日

Unityでモデルのパラメータの値を操作する場合、 MonoBehaviour.LateUpdate() のタイミングで行うことを推奨しております。

// 非推奨
private void Update()
{
    _cubismModel.Parameters[0].Value = value;

    _cubismModel.Parameters[1].BlendToValue(CubismParameterBlendMode.Additive, value);
}


// 推奨
private void LateUpdate()
{
    _cubismModel.Parameters[0].Value = value;

    _cubismModel.Parameters[1].BlendToValue(CubismParameterBlendMode.Additive, value);
}

Live2D Cubism SDK for Unityでは、アニメーション再生はUnityのビルトイン機能であるAnimator、Playable APIを利用しており、これらはパラメータの値をMonoBehaviour.Update()からMonoBehaviour.LateUpdate()の間で適用します。
そのため、MonoBehaviour.Update()でパラメータの値を設定した場合、実行順序の関係により、アニメーションでその値を上書きしてしまうこともあります。

Unityのイベント関数に関してはUnity公式のドキュメントをご覧ください。

この記事に関するご意見・
ご要望をお聞かせください。