Fixing Bugs with Expression Transition Processing in Cubism 5 or Later

Updated: 08/17/2023

This page contains statements regarding the beta version.


In Cubism SDK up to Cubism 4.2, there was a phenomenon in which an unintended value transition occurred when transitioning from an expression that manipulates a parameter value to a value other than 1 by multiplication to an expression that manipulates the same parameter by multiplication.

This bug has been addressed in the following SDK versions or later.

  • 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 is not affected as it does not support Original Workflow.

For backward compatibility, the method of transition up to Cubism 4.2 is also maintained.
The default method for Cubism SDK is the method used in Cubism 5 or later, but users can change the method to be used at their discretion.
Please refer to “SDK Compatibility of Cubism 5 Features” for details on how to set the method.

This fix corrects a bug that caused transitions between multiplications and between additions to change values even though the transitions used the same value.
Note that we do not recommend combining transitions in expressions where multiplication and addition are mixed.

See below for specific phenomena.

Impacted Production Flows

A production flow in which all the following conditions are true will change the behavior during expression transitions.

  • Updated the used Cubism SDK to Cubism 5 from one of the following:
    • Previous versions of products including Cubism 4 SDK for Native R7
    • Previous versions of products including Cubism 4 SDK for Web R7
    • Previous versions of products including Cubism 4 SDK for Unity R7
    • Previous versions of products including Cubism 4 SDK for Java R1
  • There is an expression motion in the used model that sets a parameter to a value other than 1 by multiplication.

Details of Bugs in the SDK

Bug details

The calculations to apply facial expressions to the model were done for each expression in turn.
This method results in unintended blending calculation results for transitions.

See “Cubism 4.2” in the table below as an example.
In the case of eye opening and closing, when the expression transitions from a closed eye expression to a closed eye expression by multiplication, the eye opens slightly during the transition.

SDK Supported Content

R1 beta1 or later of the Cubism 5 SDK calculates the values of all facial expressions being played back and applies them to the model at the end.
Therefore, the value does not change during the transition.

If the above example is executed using the modified method, closed eyes will not open even during transitions between expressions.
See “Cubism 5” in the table below.

Cubism 4.2Cubism 5

Operation is normal even when more than three expression motions are in transition.

Was this article helpful?
Please let us know what you think about this article.