正片叠底色/屏幕色

[最后更新时间:2022/05/19]

解释如何使用正片叠底色和屏幕色在模型中混合和绘制颜色。
这里介绍的功能是 SDK for Unity 4 R5 beta 1 或更高版本的功能。

即使在模型中没有设定正片叠底色/屏幕色,例如在 Cubism Editor 4.2 之前创建的模型,也可以使用它而无需任何额外的编码。
SDK for Unity 的详细规格和使用方法请参见 SDK 手册中的“正片叠底色/屏幕色”。

作为前期准备,参考“载入SDK”载入模型数据和部署预制件。

在初始状态下,设定为始终参考模型中预设的正片叠底色/屏幕色,如果模型中没有设定正片叠底色/屏幕色,则使用以下值。

  • 对于正片叠底色(1.0、1.0、1.0、1.0)
  • 屏幕色(0.0, 0.0, 0.0, 1.0)

 

在检查器上使用

要启用从 SDK 端操作的正片叠底色和屏幕色,请启用以下标志。

正片叠底色:

OverwriteFlagForModelMultiplyColors 或 OverwriteFlagForMultiplyColors

屏幕色:

OverwriteFlagForModelScreenColors 或 OverwriteFlagForScreenColors

OverwriteFlagForModelMultiplyColors 和 OverwriteFlagForModelScreenColors 是决定是否可以从 SDK 端对所有 Drawable 操作正片叠底色和屏幕色的标志。
这些标志也可以在 Unity Editor 中从 [CubismRenderController] 的 检查器进行操作,该 Inspector 附加到模型的预制根对象。

 

OverwriteFlagForMultiplyColors 和 OverwriteFlagForScreenColors 是标志,分别确定每个 Drawable 是否可以从 SDK 端操作正片叠底色和屏幕色。
它也可以从附加到模型的每个 Drawable 对象的 [CubismRenderer] 检查器进行操作。

如果上面提到的[CubismRenderController]的正片叠底色/屏幕色标志被启用,它们优先。

正片叠底色和屏幕色设定不仅可以从脚本控制,也可以从 [CubismRenderer] 检查器控制。

 

 

在脚本上使用

当您需要在脚本中控制它时,例如在APP上使用它时,以下代码很有用。

在下面的代码中,所有 Drawable 对象的屏幕色都会在一定的时间段内一次性改变。

您可以创建一个 C# 脚本,其内容重写如下,并将其附加到模型的预制根对象中使用。

 

 

从模型端接收正片叠底色/屏幕色更新的通知

如果模型参数与正片叠底色/屏幕色变更相关联,则可以在模型动画等时从模型端更改正片叠底色/屏幕色,而不是从SDK端操作。

[CubismDynamicDrawableData]中实现了IsBlendColorDirty,这个属性可以接收此时正片叠底色和屏幕色的变更。

该属性在模型侧变更正片叠底色或屏幕色时为真,并且不决定是否变更正片叠底色或屏幕色。

详情请参见 SDK 手册中的“正片叠底色/屏幕色”。

© 2010 - 2022 Live2D Inc.