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

how to use mp4 videos as an external textures in Facebook AR studio?

我是第一次使用 Facebook Spark Studio。

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

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

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

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

有没有外部视频纹理的播放控件?

谁能帮我播放一下扫描追踪器的视频?

您可以使用 "External Texture" 通过链接在线托管的视频纹理来做到这一点。

  1. 创建 material
  2. 在material漫反射纹理属性下选择"New External Texture"
  3. 在纹理属性中,将视频的 URL 输入 URL 字段

要使用跟踪器,请查看 PlaneTracker 对象的文档: https://developers.facebook.com/docs/ar-studio/docs/plane-tracker/

我们遇到了同样的问题。诀窍(或 Facebook 错误)是在 material 的编辑器中将 url 设置为您的视频 link。然后在你的代码中这样做:

const Scene = require('Scene');
const Animation = require('Animation');
const Materials = require('Materials');
const Textures = require('Textures');
const D = require('Diagnostics');
const Audio = require('Audio');

const animRoot = Scene.root.find('animRoot');
const planeTracker = Scene.root.find('planeTracker');
const targetMat = Materials.get('targetMat');
const externalText = Textures.get('externalAnimation');
const playbackController = Audio.getPlaybackController('playback_controller_model0');

planeTracker.confidence.eq('HIGH').onOn({fireOnInitialValue: true}).subscribe(function(e) {

    playbackController.play();

    externalText.url = '';

    externalText.url = 'https://urlToYourVideo.mp4';

    D.log('Tracking starts');
});

planeTracker.confidence.eq('HIGH').onOff({fireOnInitialValue: true}).subscribe(function(e) {

    playbackController.stop();

    externalText.url = '';

    D.log('Tracking stops');
});

希望对您有所帮助!