1

对于手部追踪器,他们的补丁包含 X、Y 和 Z 信息,当手部被追踪时,会出现值。我如何通过脚本获得这些价值?可能吗?没有任何手部跟踪脚本示例。

到目前为止,我有以下内容来确定是否检测到手,但仍不确定是否获得位置:

//im assuming this is the correct module
const HandTracking = require('HandTracking');
const Scene = require('Scene');

//this is to check if a hand is detected
HandTracking.count.monitor().subscribe(function(e){
   if(e.newValue){
       Debug.log("hand found");
   }
})

更新

所以我假设它有这样的东西:

var thehand = HandTracking.hand(0);
var posx = thehand.cameraTransform.x.lastValue;
Debug.log(posx);

但是这种方式被弃用了吗?需要使用 subscribeWithSnapshot 但我不确定如何实现这一点。

它还需要是动态的(?),因为值会随着每次动作而变化。

4

1 回答 1

1

您走在正确的轨道上,您需要的只是:

var posx = thehand.cameraTransform.x;

这将为您提供手 x 位置的信号。要调试此值,您可以使用:

Diagnostics.watch("hand x",posx);

信号是随时间变化的值,它可以绑定到另一个对象属性,例如:

mySceneObject.transform.x =  thehand.cameraTransform.x;

这会将手 x 位置信号绑定到对象 x 位置,以便对象将随手移动。

在此处阅读有关信号的更多信息:https ://developers.facebook.com/docs/ar-studio/scripting/reactive

它们是在 AR Studio 中编写脚本的非常强大的工具和必备知识。

希望这可以帮助!

于 2018-12-06T21:29:26.383 回答