通过脚本在Spark AR上补间颜色

问题描述 投票:0回答:1

相当于Reactive脚本中的过渡补丁?我想在RGBA中补间从0,0,0,1到1,1,1,1,1的颜色。我知道ho可以将单个值设置为alpha动画,如下所示:

const timeDriver = Animation.timeDriver(timeDriverParameters);
const alphaSampler = Animation.samplers.linear(1, 0);
const alphaAnimation = Animation.animate(timeDriver, alphaSampler);
mymaterial.opacity = alphaAnimation;

使用视觉补丁,您可以使用变换补丁将Vector3链接到动画进度。我在反应脚本的文档中的任何地方都找不到这样的东西。有人可以告诉我吗?

谢谢!

instagram reactive spark-ar-studio
1个回答
1
投票

您需要查看ShaderModule。通过名称查找材料,然后可以使用setTexture。


const R = require('Reactive');
const A = require('Animation');
const S = require('Shaders');
const Materials = require('Materials');


const material = Materials.get('matName');
const driver = A.timeDriver({ durationMilliseconds : 1000});
const sampler = A.samplers.linear(
    [1, 1, 1, 1],
    [0, 0, 0, 1]
);
const colorAnimation = A.animate(
    driver,
    sampler
);


material.setTexture(
    R.pack4(
        colorAnimation.get(0),
        colorAnimation.get(1),
        colorAnimation.get(2),
        colorAnimation.get(3)
    ), 
    {textureSlotName: S.DefaultMaterialTextures.DIFFUSE}
);  

这里我使用过ArrayOfScalarSamplers,但这并不重要。

© www.soinside.com 2019 - 2024. All rights reserved.