Скрывать и показывать объект в зависимости от открытия рта в скриптах Spark AR

#spark-ar-studio

#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);
    })
  

Ответ №1:

 bulb.hidden = true  //this will show the bulb  
bulb.hidden = false //this will hide the bulb
bulb.visible        //this is not a valid property
  

То, что вы хотите, это:

 bulb.hidden = FaceTracking.face(0).mouth.openness.gt(0.3);
  

Это установит для параметра bulb.hidden значение true, когда открытость рта больше .3, т.е. Когда рот открыт, лампочку скрывают.

В качестве альтернативы, если вы хотите показывать лампочку при открытом рте, используйте lt (меньше) вместо gt (больше), например:

 bulb.hidden = FaceTracking.face(0).mouth.openness.lt(0.3);
  

Смотрите страницы документации ScalarSignal для получения информации о том, какие различные методы доступны для ScalarSignals … их много:

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

Комментарии:

1. Спасибо, Джек. Мне нравится ваше портфолио. Не могли бы вы поделиться какими-либо любимыми ресурсами AR Spark, центрами обучения?

2. Кстати, я предположил, что gt был get . Дух!

3. Привет, @James спасибо! Если ответ вас устроил, не могли бы вы, пожалуйста, пометить его как принятый? Лучший способ научиться — это воспользоваться руководствами на сайте Spark, прочитать страницы документации и создать материал. Смотрите страницы документации по ScalarSignal для получения дополнительной информации обо всех различных доступных методах, включая lt и gt sparkar.facebook.com/ar-studio/learn/reference/classes /…