腾讯特效 SDK 素材叠加指引

这篇说说腾讯云动效素材叠加功能,即多个动效可同时生效,并说明配置方法及注意事项,强调需自行管理素材兼容性,避免冲突叠加。 叠加规则:简单素材可叠加,动作触发等复杂素材需放在前面,简单素材后叠加。 配置方法:V3.5.0及以上通过setEffect或updateProperty设置mergeWithCurrentMotion为true。

相关产品
腾讯特效 SDK 产品页,含版本规格、价格与购买入口。

动效素材叠加是指多个动效素材可以同时生效。

注意:素材叠加注意事项:

注意:1. 客户需要自行管理素材之间是否适合叠加。举两个例子:

注意:例1:特效 A 是变成贵妃脸,特效 B 是变成童话脸,这两个特效叠加后可能会导致画面非常别扭。

注意:例2:特效 A 是个兔耳朵,特效 B 是猪耳朵,两个叠加后,就有两种耳朵。

注意:例1和例2这两种情况不适合叠加。如果特效 A 是兔耳朵,特效 B 是送一个飞吻,这两个特效不会冲突,就适合叠加。

注意:2. 只支持简单素材之间的叠加。简单素材是指只有单动效能力、或者单美妆效果、或者单抠背等,复杂素材是指包含了多种效果。简单素材和复杂素材没有明确的界定,建议客户充分测试后,自行管理哪些素材之间可以叠加,哪些不能叠加。

注意:3. 叠加时,有动作触发的特效(例如伸出手触发某个特效、微笑触发某个特效等)属于复杂特效,需要放在前面,简单特效放在后面叠加在它之上。

注意:4. 使用示例:主播使用了特效 A,然后观众送礼物特效 B,B 要叠加在 A 之上,一段时间后 B 消失,恢复成特效 A。那么设置步骤如下:

注意:4.1 设置特效 A,mergeWithCurrentMotion 设置为 false。

注意:4.2 设置特效 B,mergeWithCurrentMotion 设置为 true。

注意:4.3 一小段时间后,再设置 A,mergeWithCurrentMotion 设置为 false。

一、如何配置同时生效?

V3.5.0及以上V3.0.1及以上

1. 如果你使用setEffect方法来更新美颜属性,要实现素材叠加功能,可以在extrainfo中添加 mergeWithCurrentMotion 字段设置为"true"2. 如果使用的是updateProperty方法,那么可参见 V3.0.1中列举的方法。

二、Android:

如果想要某个动效/美妆/分割素材叠加在当前素材上,则将该素材 XmagicProperty 对象的 mergeWithCurrentMotion 设置为 true。XMagicProperty 对象的其他属性设置见 美颜参数设置。

XmagicProperty xmagicProperty = new XmagicProperty(XmagicProperty.Category.MOTION,"video_keaituya",mResPath+"xmagic/MotionRes/2dMotionRes/video_keaituya",null,null);
xmagicProperty.mergeWithCurrentMotion = true;
mXMagicApi.updateProperty(xmagicProperty);

三、iOS:

如果想要某个动效/美妆/分割素材叠加在当前素材上,则设置该素材时,在 withExtraInfo 的字典中设置 mergeWithCurrentMotion 为 true,示例如下:

NSString *key = _xmagicUIProperty.property.Id;NSString *value = [[NSBundle mainBundle] pathForResource:@"makeupMotionRes" ofType:@"bundle"];NSDictionary* extraInfo = @{@"mergeWithCurrentMotion":@(true)}; [self.beautyKitRef configPropertyWithType:@"motion" withName:key withData:[NSString stringWithFormat:@"%@",value] withExtraInfo:extraInfo];

赞 (0)
上一篇 4天前
下一篇 4天前