Unityのアニメータ設定で複数レイヤーにCubismFadeStateObserverを使用した場合の挙動について

動作環境

  • Windows 11
  • Unity 2022.3.44f1

Live2D社様のサンプルデータ「虹色まおちゃん」を使用し、一部アニメーションを追加してUnity上で動作テストを行っております。
その際、以下のような問題が発生し、解決策をご教示いただきたく投稿いたしました。

  1. 特定のレイヤーがフェードする際
  • CubismFadeMotionDataに設定されていないパラメータが、他のレイヤーでアニメーションが再生中にもかかわらず一時停止してしまいます。
  1. フェード完了後
  • 一時停止していたアニメーションは再開されるのですが、結果としてカクつきが発生します。

これらの問題を解消する方法やヒントがあれば、ご教示いただけますと幸いです。
何卒よろしくお願いいたします。

@To_M

いつも弊社製品をご愛顧のほど誠にありがとうございます
Live2Dスタッフでございます。

こちらの現象ですが、こちらで再現確認を行いたいと考えております。
つきましては、現象が再現するシーンやアニメーターなどの設定手順をお教えいただけませんでしょうか?

よろしくお願いいたします。

ご回答ありがとうございます。

ベースレイヤーのアニメーション設定は、モデルに初期状態で含まれているアニメーション「mtn_01」を使用しています。ただし、後述の NewLayer で使用している新規作成の Face アニメーション用パラメータは除外しており、キーフレームを打ち込んでいません。その影響で、mtn_01 の CubismFadeMotionData のパラメータ IDs が 120 に変更されています。

また、作成したアニメータコントローラでは、両レイヤーを試験的にループ再生するよう設定しており、両レイヤーとも CubismFadeStateObserver をアタッチしています。なお、Face 側のレイヤーに CubismFadeStateObserver をアタッチしない場合、アニメーションのループはスムーズに行われることを確認しました。

Face アニメーションで使用しているパラメータは以下の通りで、これ以外のパラメータにはキーフレームを打ち込んでいません

  • ParamEyeBallX
  • ParamEyeBallY
  • ParamEyeBallForm
  • ParamEyeEffect
  • ParamBrowLY
  • ParamBrowRY
  • ParamBrowLAngle
  • ParamBrowRAngle
  • ParamBrowLForm
  • ParamBrowRForm

別途、画像データやアニメーションデータ、CubismFadeMotionData を 添付ファイルにてお送りいたしますので、ご確認いただけますと幸いです。


試験用アニメーションデータ.zip (17.2 KB)

@To_M

ご回答ありがとうございます。

現在ご使用いただいている.fadeMotionList.assetに、当該のモーションの.fade.assetが設定されているかご確認いただけますでしょうか?

.fadeMotionList.assetは.motion3.jsonの存在するフォルダ階層の一つ上に生成され、.motion3.jsonのインポート時に登録されます。
仮に.motion3.jsonが複数の異なる階層に存在する場合、使用中の.fadeMotionList.assetに一部のモーションの情報が登録されず、モーションのフェードが意図しない現象となることがあります。

もしこちらが設定されていない場合、,motion3.jsonが同一のフォルダに配置されているかを再度ご確認ください。

以上、ご確認のほどよろしくお願いいたします。

ご返信ありがとうございます。

ご指摘の点を確認しましたが、fadeMotionList は正しく設定されているようです。
念のため、画像も添付いたしますので、併せてご確認いただけますでしょうか。

また、今回はすべてのパラメータに対して同様のフェードを適用するため、すべてのレイヤーから Cubism Fade State Observer を外すことで対処いたしました。

お手数ですが、ご確認のほどよろしくお願いいたします。


@To_M

ありがとうございます。

回答が遅れてしまい申し訳ありません。
こちら調査のため、もうしばらくお時間をいただきます。
お手数をおかけして誠に申し訳ありませんが、よろしくお願いいたします。

ご返信ありがとうございます。

その他必要情報がございましたら提供いたします。

お手数おかけしますが、何卒よろしくお願いします。