我是第一次在Facebook Spark Studio上工作。
我想做一个基于标记的AR,就像我通常使用Vuforia一样。
我想通过扫描标记来播放mp4视频。
我阅读了Facebook AR studio文档,这些文档仅支持png和jpg文件格式。
参考:https : //developers.facebook.com/docs/ar-studio/before-you-start/file-formats
是否有用于外部视频纹理的播放控件?
有人可以帮我在扫描跟踪器时播放视频吗?
我们想要制作一些基于地理位置的 Instagram 过滤器,但无法确定是否有 Geo API。
我可以访问(至少是部分)地理位置数据吗?我对位置和指南针数据都感兴趣。
在 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)
由于我使用的是世界变换,所以我不应该有旋转问题,对吗?
那我该怎么办?
请注意,此处接受的解决方案对我不起作用:如果相机正在查看对象的中心,则该对象只会查看相机,而且如果我移动相机而不旋转它,我可以看到该对象是不更新其旋转以继续查看相机。
使用过滤器来改变对象的点击。工作几分钟前然后得到以下内容:
类型错误: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 上遇到过这样的事情?
我在浏览 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)