motion3.jsonの再現性が劣化する場合について

[最終更新日:2021/03/19]

概要

アニメーションのターゲットバージョンを「SDK(その他)」に設定した状態でベジェハンドルが大きく操作されたカーブを含むmotion3.jsonファイルがCubism SDK for Native及びCubism SDK for Webにお���て正しく波形が再現されない場合がございます。

本不具合の対応を行うSDKのバージョンは以下を予定しております。

  • Cubism 4 SDK for Native R3 以降
  • Cubism 4 SDK for Web R3 以降

Cubism 4 SDK for Native につきましては、 features-1 という先行バージョンを用意いたしました。こちらをご利用頂くことにより本対応のモーション再生状態を確認できます。

Cubism SDK for Unityではターゲットに「SDK(Unity)」を設定して作成されたモーションを使用することが推奨されるので、本対応の対象外となります。

影響のあるフロー

以下の条件がすべて当てはまる制作フローに影響があります。

  • 使用しているCubism SDKが以下である。
    • Cubism 4 SDK for Native R2 を含む以前のバージョンの製品
    • Cubism 4 SDK for Web R2 を含む以前のバージョンの製品
  • Cubism Editorのモーション作成にて設定ターゲットを「SDK(その他)」でモーション作成を行っている。
  • モーションの監修をCubism Viewer (for OW)で行って、SDK上での確認を行っていない。

上記条件の当てはまるフローでモーションの正確性を向上させるためにいずれかの対策をお願いします。

  • シーンのインスペクタ上で設定ターゲットを「SDK(Unity)」に変更する。
  • モーションの監修作業をSDK上で行うようにする。
  • 4.1alpha4以降のOWViewerで「4.0以前のSDKのモーション再生を再現」のチェックを設定した上で確認を行う。

SDKにおける不具合の内容

不具合詳細

アニメーションのターゲットバージョンを「SDK(Unity)」を指定している場合はベジェハンドルの時間軸上の位置がカーブ間の1/3、2/3の位置に制限されます。
この制限下の場合、ベジェ曲線の係数tが時間軸の動きと一致し、直線の変化として計算を簡略化することができます。

本不具合ではアニメーションのターゲットバージョンを「SDK(その他)」に設定されたベジェハンドルの制限がない状態でも制限があるものとして計算してしまっていたため、モーションで再現されるパラメータの緩急に若干の違いが発生していました。

SDK対応内容

Cubism SDK for Native Feature1(features-1ブランチ)では正確な緩急のついたベジェカーブでモーションが再生されるようになります。
この変更についてCubismMotion.cpp上にある UseOldBeziersCurveMotion をtrueに変更することでR2以前の再生方法に戻すことができます。
また、正式対応についてはR3以降のCubism SDK for Native および for Webでも予定しておりますので、修正までお待ち下さい。

© 2010 - 2021 Live2D Inc.