弹幕层用于控制高级弹幕对象之间的遮罩关系。弹幕层的定义可参考下面的示例:
{
"name": "default",
"components": ["Text-1", "Text-2"],
"mixing": "default"
}
原则上建议将所有弹幕对象唯一的放入一个弹幕层:
- 如果同一个对象被放入多个弹幕层,播放器原则上可以只遵循其中一个定义,或拒绝执行
- 如果一个对象并不出现在任何弹幕层,播放器会遵循
metadata.layers.orphans
定义进行处理
弹幕层可以有自定义的名称,其要求同对象名称:原则上支持 [a-zA-Z0-9-_@]
内的符号。两个弹幕
层之间如果重名,播放器可选择将其中一个重新命名,或者拒绝执行。弹幕层和对象的命名空间是分别的,
所以可以与对象重名(虽然不建议如此)。
大部分弹幕层名称都没有特殊意义,但是名为 default
的弹幕层会被渲染引擎视为默认的层,在布局
没有放入层中的弹幕时可能进行参考。
这个参数为一个数组,其中只包含表示对象的名称的字符串。当层定义中出现对象定义中没有的名称时, 播放器应忽略该定义。
此参数定义了层层之间(透明)对象的的色彩混合模式,默认未定义时取 default
,可选值包括
normal
, difference
, multiply
。