【支持】关于.motion3.json的再现性变差的情况
最終更新: 2022年12月8日
概述
在动画的目标版本设置为“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是在Cubism 4 SDK for Native R3之后发布的,因此不需要这种对应关系。
产生影响的流程
它会影响适用以下所有条件的制作流程:
- 使用的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支持内容
R3 beta或更高版本的Cubism SDK for Native和Cubism SDK for Web以准确的缓急播放贝塞尔曲线的动态。
关于这个变更,通过在Cubism SDK for Native上将CubismMotion.cpp的 UseOldBeziersCurveMotion 变更为true、在Cubism SDK for Web上将cubismmotion.ts的 UseOldBeziersCurveMotion 变更为true,即可返回到R2之前的播放方式。
此外,在Cubism SDK for Java中,通过将CubismMotion.java上的 USE_OLD_BEZIERS_CURVE_MOTION 设置为true,您可以重现Native和Web的R2之前的播放方法。