0

什么相当于反应式脚本中的过渡补丁?我想在 RGBA 中将颜色从 0,0,0,1 补间到 1,1,1,1。我知道如何将单个值设置为 alpha,如下所示:

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

使用视觉补丁,您可以使用变换补丁将 Vector3 链接到动画进度。我在响应式脚本的文档中的任何地方都找不到类似的东西。谁能告诉我?

谢谢!

4

1 回答 1

2

你需要看看 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,但这并不重要。

于 2020-01-10T15:16:44.910 回答