AR Studio脚本问题



我开始涉足Facebook AR Studio,即使知道JS,调试和测试一些方法也很令人困惑。。。示例:这个作品:

Diagnostics.log(FaceTracking.face(0).mouth.openness.lastValue);

如果我这样做:

Diagnostics.log(FaceTracking.face(0).mouth.openness);

它在console.log中显示了类的所有选项。

好的!但当我做同样的事情,但使用另一个类,如"眼睛"时,会出现错误:

Diagnostics.log(FaceTracking.face(0).eye.openness);

或:

Diagnostics.log(FaceTracking.face(0).eyebrow.top);
JavaScript error: TypeError: undefined is not an object (evaluating 'FaceTracking.face(0).eyebrow.top')

我用眉毛和眼睛试了试,但什么也没发生,只是错误信息。怎么回事?

问题是"eye"不是FaceTracking的属性。您必须指定要监视的眼睛是"leftEye"还是"rightEye"。试着只记录这样的人脸方法:

Diagnostics.log(FaceTracking.face(0))

你可以在控制台中看到所有可用的方法和属性,如leftEye、rightEye、leftEyebrow、right眉、嘴等。你可以更深入地记录其中的每一个,如:

Diagnostics.log(FaceTracking.face(0).rightEye)

然后自己看看"右眼"提供的功能。

我强烈建议您使用Diagnostics来了解哪些方法和属性可用于您正在使用的模块。您几乎可以在SDK中记录所有内容。我甚至在Medium上写了一整本关于它的教程;(

正如Trinca所提到的,"eye"不是Face模块的有效属性。您可以在此处的文档页面上看到有效属性的列表:https://developers.facebook.com/docs/camera-effects/reference/facetracking_module/face_class

Eye模块的可用属性可以在这里找到:https://developers.facebook.com/docs/camera-effects/reference/facetracking_module/eye_class

对于您的目的,这应该有效:

Diagnostics.watch("left eye openness", FaceTracking.face(0).leftEye.openness);
Diagnostics.watch("right eye openness", FaceTracking.face(0).rightEye.openness);

最新更新