与Cubism 5 SDK R5正式版的兼容性

最終更新: 2026年4月2日

概述

这里说明与Cubism 5 SDK R5正式版的兼容性。

  • 为了与现有SDK兼容,有哪些注意事项和变更点?

关于名称

  • R5 Beta版SDK指的是Cubism 5 SDK R5正式版之前的SDK。
  • R5正式版SDK指的是Cubism 5 SDK R5正式版或更高版本的SDK。

对兼容性存在影响的修复

  • 模型计算顺序的重新排列功能和顺序变更
  • 正片叠底色/滤色的类结构变更和API名称变更

模型计算顺序的重新排列功能和顺序变更

我们在for Native和for Web中都实装了可以更轻松地变更模型计算顺序的功能。
通过这次修正,与更新模型参数相关的功能从Sample转移至Framework。
关于通过Drag操作更新参数的功能,变更为在将其转移到Framework时,将创建了一个CubismLook类,以设置并获取输入值和对象参数、更新参数。

具体修正内容在“模型计算顺序的重新排列功能”中进行说明。

此外,在for Unity中,处理顺序与for Native、for Web的Original Workflow系列SDK的处理顺序不同,因此我们变更了计算顺序以匹配Original Workflow系列SDK。
通过此修正,将导致与物理模拟相关的参数更新结果与R5 Beta版 SDK中的结果有所不同。

如果R5 Beta版 SDK的参数更新结果与预期不符,请确认以下说明以了解如何修正参数更新结果。

  1. 访问GitHub的CubismUnityComponents
  2. 确认Cubism 5 SDK for Unity R5 beta3或更早版本的Assets/Live2D/Cubism/Framework/CubismUpdateExecutionOrder.cs。
  3. 替换R5正式版CubismUpdateExecutionOrder.cs中的各常量。
    1. 需要替换的常量示例:https://github.com/Live2D/CubismUnityComponents/blob/2e8436842104ff1e6f496482318a26b9c8fd1454/Assets/Live2D/Cubism/Framework/CubismUpdateExecutionOrder.cs#L18-L31

正片叠底色/滤色的类结构变更和API名称变更

在for Native和for Web中,与覆盖正片叠底色/滤色相关的功能已从CubismModel类转移至CubismModelMultiplyAndScreenColor类。
此项修正提高了可读性。

此外,我们还变更了在for Native、for Web和for Unity中未统一的API名称。

请参考下表了解for Native和for Web的API名称变更情况。
(* 仅列出与MultiplyColor相关的API名称)

区分R5 Beta版SDK(变更前)R5正式版SDK(变更后)
颜色SetMultiplyColor()SetDrawableMultiplyColor()
GetMultiplyColor()SetDrawableMultiplyColor()
SetPartMultiplyColor()SetPartMultiplyColor()
GetPartMultiplyColor()GetPartMultiplyColor()
SetMultiplyColorOffscreen()SetOffscreenMultiplyColor()
GetMultiplyColorOffscreen()GetOffscreenMultiplyColor()
覆盖标志SetOverrideFlagForModelMultiplyColors()SetMultiplyColorEnabled()
GetOverrideFlagForModelMultiplyColors()GetMultiplyColorEnabled()
SetOverrideColorForPartMultiplyColors()SetPartMultiplyColorEnabled()
GetOverrideColorForPartMultiplyColors()GetPartMultiplyColorEnabled()
SetOverrideFlagForDrawableMultiplyColors()SetDrawableMultiplyColorEnabled()
GetOverrideFlagForDrawableMultiplyColors()GetDrawableMultiplyColorEnabled()
SetOverrideFlagForOffscreenMultiplyColors()SetOffscreenMultiplyColorEnabled()
GetOverrideFlagForOffscreenMultiplyColors()GetOffscreenMultiplyColorEnabled()

请参考下表了解for Unity的API名称变更情况。

区分R5 Beta版SDK(变更前)R5正式版SDK(变更后)
颜色CubismRenderer.MultiplyColorCubismRenderer.MultiplyColor
CubismPartColorsEditor.MultiplyColorCubismPartColorsEditor.MultiplyColor
覆盖标志CubismRenderController.OverrideFlagForModelMultiplyColorsCubismRenderController.MultiplyColorEnabled
CubismPartColorsEditor.OverrideColorForPartMultiplyColorsCubismPartColorsEditor.PartMultiplyColorEnabled
CubismRenderer.OverrideFlagForDrawObjectMultiplyColorsCubismRenderer.DrawObjectMultiplyColorEnabled

具体修正内容及修正后调用覆盖处理的方法,在“【Native】【Native】正片叠底色/屏幕色”、“【Web】【Web】正片叠底色/屏幕色”、“【Unity】【Unity】正片叠底色/屏幕色”中进行说明。

请问这篇文章对您有帮助吗?
关于本报道,敬请提出您的意见及要求。