Spark AR 信号值

Spark AR signal value

我正在尝试保存标量信号值以备将来用作 Spark AR 软件的纹理。

基本上,在 material 上使用相机纹理的脚本如下:

const texture = Textures.get('CameraTexture').signal;
const material = Materials.get('defaultMaterial0');
material.setTexture(texture, {textureSlotName: "diffuseTexture"})

我不清楚 class 是什么纹理常量,但我猜这是一个 ScalarSignal

这意味着它是一个流,而不是一个值。我将如何拍摄该值的快照? lastValue 不起作用,尝试 valueOf() 时,我得到

JavaScript error: Exception in native code while calling a function: valueOf() called on a Signal. This probably means that you are trying to perform an arithmetic operation on a signal like +, -, *, etc. Use functions .add, .sub(), etc on the signal instead or .subscribeWithSnapshot() on an EventSource to get the signal's current value on a callback.

而且 subscribeWithSnapshot() 不是一个函数..

如果有人知道我如何做到这一点,或者我不能做到这一点的具体原因,将不胜感激!

谢谢!

你不能。目前在 SparkAr 中不允许保存纹理。而且我认为数据类型应该是纹理缓冲区(最终...)

编辑:此外,相机纹理信号不是标量信号而是 ShaderSignal。 你可以检查这个:

Diagnostics.log(Textures.get('CameraTexture').signal);