Cubism 5以降での表情の遷移処理の不具合修正について
最終更新: 2023年8月17日
このページにはベータ版に関する記述が含まれます。
概要
Cubism 4.2までのCubism SDKでは、乗算でパラメータの値を1以外の値に操作する表情から、同じパラメータを乗算で操作する表情に遷移すると、値が意図しない遷移をする現象がありました。
本不具合の対応は以下のSDKのバージョン以降で行っております。
- Cubism 5 SDK for Native R1 beta1
- Cubism 5 SDK for Web R1 beta1
- Cubism 5 SDK for Java R1 beta1
- Cubism 5 SDK for Unity R1 beta1
Cubism SDK for Cocos CreatorはOriginal Workflow未対応のため影響ありません。
また、下位互換のため、Cubism 4.2までの遷移の方式も維持しています。
Cubism SDKのデフォルトはCubism 5以降の方式ですが、使用する方式をユーザが任意で変更することも可能です。
設定方法につきましては「Cubism 5機能のSDK互換性について」をご覧ください。
この修正は乗算同士、加算同士の遷移で、同じ値で遷移するにもかかわらず値が変化してしまう不具合の修正になります。
なお、乗算と加算が混合する表情の遷移の組み合わせは推奨していません。
具体的な現象については以下をご覧ください。
影響のあるフロー
以下の条件がすべて当てはまる制作フローは、表情遷移時の動作が変化します。
- 使用しているCubism SDKを以下のいずれかからCubism 5に更新した。
- Cubism 4 SDK for Native R7を含む以前のバージョンの製品
- Cubism 4 SDK for Web R7 を含む以前のバージョンの製品
- Cubism 4 SDK for Unity R7 を含む以前のバージョンの製品
- Cubism 4 SDK for Java R1 を含む以前のバージョンの製品
- 使用モデルに、パラメータに乗算で1以外の値を設定する表情モーションが存在する。
SDKにおける不具合の内容
不具合詳細
表情をモデルに適用する計算は、表情ひとつひとつを順番に行っていました。
この方式では、遷移のブレンド計算の結果が意図しないものになります。
例として、以下の表の「Cubism 4.2」をご覧ください。
目の開閉を乗算で閉じる表情から同様の目が閉じた状態の表情に遷移する場合、遷移の途中で目が少し開きます。
SDK対応内容
R1 beta1 以降の Cubism 5 SDKでは、再生しているすべての表情の値を計算し、最後にその値をモデルに適用します。
そのため、遷移の途中で値が変化することはありません。
上述の例を修正した方式で実行すると、表情を遷移させても閉じた目は開きません。
以下の表の「Cubism 5」をご覧ください。
Cubism 4.2 | Cubism 5 |
表情モーションが3つ以上遷移している場合でも正常に動作します。