在 Spark AR 脚本中根据张嘴隐藏和显示对象

Jam*_*mes 1 spark-ar-studio

我正在 Spark AR Studio 中使用脚本来尝试显示和隐藏人头顶上的灯泡。灯泡隐藏起来,bulb.hidden我尝试过bulb.visible,但没有成功。有任何想法吗?代码如下:

(async function () {
    Scene.root.findFirst('Sphere').then(bulb => {
        // bulb.hidden = FaceTracking.face(0).mouth.openness
        bulb.hidden = true
        bulb.visible = FaceTracking.face(0).mouth.openness.gt(0.3);
    })
Run Code Online (Sandbox Code Playgroud)

Jac*_*ish 5

bulb.hidden = true  //this will show the bulb  
bulb.hidden = false //this will hide the bulb
bulb.visible        //this is not a valid property
Run Code Online (Sandbox Code Playgroud)

你想要的是:

bulb.hidden = FaceTracking.face(0).mouth.openness.gt(0.3);
Run Code Online (Sandbox Code Playgroud)

当嘴巴张开度大于0.3时,即当嘴巴张开时,隐藏灯泡,这会将bulb.hidden设置为true。

或者,如果您想在嘴巴张开时显示灯泡,请使用 lt(小于)而不是 gt(大于),如下所示:

bulb.hidden = FaceTracking.face(0).mouth.openness.lt(0.3);
Run Code Online (Sandbox Code Playgroud)

有关 ScalarSignal 可用的所有不同方法的信息,请参阅 ScalarSignal 文档页面...有很多:

https://sparkar.facebook.com/ar-studio/learn/reference/classes/reactivemodule.scalarsignal/