【支持】 关于motion3.json的再现性变差的情况

[最后更新时间:2022/10/06]

Cubism SDK for Java 目前是 alpha 版本。beta 版和正式版的规格可能会有所变化。

概述

在动画的目标版本设定为“SDK(其他)”的情况下,包含贝塞尔句柄的曲线的 motion3.json 文件可能无法在 Cubism SDK for Native 和 Cubism SDK for Web 中正确再现波形。

此错误已通过以下 SDK 版本或更高版本修复。

  • Cubism 4 SDK for Native R3 beta1
  • Cubism 4 SDK for Web R3 beta1

在 Cubism SDK for Unity 中,建议使用将“SDK(Unity)”设定为目标创建的动画,因此此支持不适用。

由于 Cubsim SDK for Java(alpha 版本)是在 Cubism 4 SDK for Native R3 之后发布的,因此不需要这种对应关系。

影响流量

它会影响适用以下所有条件的生产流程:

  • 使用的 Cubism SDK 如下。
    • 该产品的早期版本,包括适用于 Native R2 的 Cubism 4 SDK
    • 产品的早期版本,包括 Cubism 4 SDK for Web R2
  • 在 Cubism Editor 的动作创建中,以“SDK(其他)”作为设定目标创建动作。
  • 该动作由 Cubism Viewer (for OW)监督,并且未在 SDK 上确认。

请采取其中一种措施来提高满足上述条件的流程中的运动精度。

  • 在场景检查器中将设定目标变更为“SDK (Unity)”。
  • 使运动监督在 SDK 上工作。
  • 4. 在alpha4或更高版本的OWViewer中设定“重现4.0之前SDK的运动播放”的勾选后勾选。

 

SDK中的Bug详情

错误详情

当动画的目标版本指定为“SDK(Unity)”时,贝塞尔手柄在时间线上的位置被限制在曲线之间的1/3和 2/3位置。
在这个极限下,贝塞尔曲线的系数t与时间线的移动相匹配,计算可以简化为一条直线的变化。

 

在这个bug中,动画的目标版本是假设有一个限制,即使贝塞尔手柄设定为“SDK(其他)”没有限制,所以运动再现的参数略有不同。正在发生。

 

 

SDK 支持

R3 beta 之后的 Cubism SDK for Native 和 Cubism SDK for Web 以准确的速度播放贝塞尔曲线的运动。
关于这个改动,Cubism SDK for Native 在 CubismMotion.cpp 上使用了 UseOldBeziersCurveMotion,Cubism SDK for Web 使用了 cubismmotion.ts 上的OldBeziersCurveMotion。改为true,就可以回到R2之前的播放方式了。   

此外,在 Cubism SDK for Java(alpha 版本)中,通过将 CubismMotion.java 上的 USE_OLD_BEZIERS_CURVE_MOTION 设置为 true,您可以重现 Native 和 Web 的 R2 之前的播放方法。

© 2010 - 2022 Live2D Inc.