标签: spark-ar-studio

如何通过手势(SparkAR,平面图像跟踪)使模型可旋转和可缩放?

我有一个简单的SparkAR应用程序,在平面跟踪器上附加了一个3D模型,用于跟踪图像目标。如何通过手势使此3D模型可旋转和可缩放?


我试过的

我尝试了本教程中的代码,代码仅在平面跟踪的情况下有效,但是由于某些原因,如果跟踪器具有图像目标,则无法使用。它允许我缩放一个模型,但在此之后不起作用。

我还尝试了此解决方案,它允许旋转和缩放,但它使模型与跟踪的图像“分离”,因此,当我移动手机时,模型也会四处移动。


如何使3D模型(连接到跟踪图像目标的平面跟踪器上)可通过手指手势旋转和缩放?

javascript spark-ar-studio

6
推荐指数
1
解决办法
130
查看次数

如何在Facebook AR studio中使用mp4视频作为外部纹理?

我是第一次在Facebook Spark Studio上工作。

我想做一个基于标记的AR,就像我通常使用Vuforia一样。

我想通过扫描标记来播放mp4视频。

我阅读了Facebook AR studio文档,这些文档仅支持png和jpg文件格式。

参考:https : //developers.facebook.com/docs/ar-studio/before-you-start/file-formats

是否有用于外部视频纹理的播放控件?

有人可以帮我在扫描跟踪器时播放视频吗?

javascript spark-ar-studio

5
推荐指数
1
解决办法
2854
查看次数

有没有办法访问 Facebook 的 Spark AR 中的地理位置数据?

我们想要制作一些基于地理位置的 Instagram 过滤器,但无法确定是否有 Geo API。

我可以访问(至少是部分)地理位置数据吗?我对位置和指南针数据都感兴趣。

geolocation augmented-reality spark-ar-studio

5
推荐指数
0
解决办法
1155
查看次数

当要旋转的对象的父对象发生旋转时如何使用 SparkAR 的 LookAt

在 SparkAR 中,我希望有一个toRotate始终看着相机的元素(称为 ),类似于此处已经提出的问题(但接受的解决方案对我来说并不令人满意,而且我没有足够的声誉来回答并发表评论)。

问题是这个元素位于无法修改的层次结构中:顺序必须绝对屏幕截图root->planeTracker->parent->toRotate所示(似乎我没有足够的声誉来嵌入图像)。

通过使用该lookAt函数(感谢这个 github 存储库,我明白我必须创建一个具有相同本地位置的toRotateDuplicate同级文件toRotate,然后使用它的转换),我可以让它在编辑器中正常工作,但是一旦我尝试使用它我的设备toRotate有一个奇怪的旋转。

经过一些测试,我可以看出问题是由于planeTracker仅在编辑器上具有等于 Quaternion.Identity 的旋转,而在设备上该值有所不同。
事实也证明了这一点,如果planeTracker用空节点替换 并对其应用非恒等旋转,即使在编辑器上我们也会遇到“奇怪的旋转”问题。

这是我的代码:

const Scene = require("Scene");
const Reactive = require("Reactive");

const find = e => Scene.root.findFirst(e);

(async function () {
  const toRotate = await find('toRotate');
  const toRotateDuplicate = await find('toRotateDuplicate');
  const camera = await find('Camera');
  toRotate.worldTransform.rotation = toRotateDuplicate.worldTransform.lookAt(camera.worldTransform.position).rotation;
})();
Run Code Online (Sandbox Code Playgroud)

由于我使用的是世界变换,所以我不应该有旋转问题,对吗?
那我该怎么办?

请注意,此处接受的解决方案对我不起作用:如果相机正在查看对象的中心,则该对象只会查看相机,而且如果我移动相机而不旋转它,我可以看到该对象是不更新其旋转以继续查看相机。

javascript reactive-programming spark-ar-studio

5
推荐指数
1
解决办法
842
查看次数

有人对 Spark AR 中的 TouchGestures 有问题吗?

使用过滤器来改变对象的点击。工作几分钟前然后得到以下内容:

类型错误:TouchGestures.onTap 不是函数。(在 'TouchGestures.onTap()' 中,'TouchGestures.onTap' 未定义){ "line": 47, "column": 0, "sourceURL": "script.js" }

在对 spark 进行一些小的更改时,我没有编辑代码。这是我映射到触摸手势的以下事件:

TouchGestures.onTap().subscribe(toggleParticles);
TouchGestures.onTap().subscribe(toggleParticleEnvironment);
Run Code Online (Sandbox Code Playgroud)

听起来我无法访问任何触摸手势的方法。有没有人现在遇到过这种情况,或者曾经在 Spark 上遇到过这样的事情?

javascript instagram spark-ar-studio

2
推荐指数
1
解决办法
946
查看次数

Spark AR 脚本中的距离和宽度

我在浏览 Spark AR 文档时遇到了困难,并且找不到答案:我在一个场景中有三架飞机。其中两个是移动的,一个是静止的。

  • 我怎样才能得到这两个平面之间的距离?

  • 如何将第三个平面的宽度更改为该距离?

谢谢!

augmented-reality spark-ar-studio

1
推荐指数
1
解决办法
1095
查看次数

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

我正在 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)

spark-ar-studio

1
推荐指数
1
解决办法
1399
查看次数