Скручивание цветов в Spark AR через скрипт - PullRequest
0 голосов
/ 10 января 2020

что будет эквивалентно переходному патчу в скрипте Reactive? Я хотел бы изменить цвет, скажем, от 0,0,0,1 до 1,1,1,1 в RGBA. Я знаю, как анимировать одно значение как альфа, например:

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

Используя визуальные патчи, вы можете использовать Transform Patch, чтобы связать Vector3 с процессом анимации. Я не могу найти что-то подобное в документах для реактивного сценария. Кто-нибудь может сказать мне?

Спасибо!

1 Ответ

2 голосов
/ 10 января 2020

вам нужно посмотреть на 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, но это не принципиально.

...