Spark AR ——测试并调试脚本【脚本】

462 阅读2分钟

本文已参与掘金创作者训练营第三期「高产更文」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力

Spark AR 是 Facebook 免费创作 AR 作品的平台,使用户能够为 Facebook 和 Instagram 创建交互式增强现实体验,超过 40 万名创作者,190个国家/地区,使用 Spark AR 来创作自己的AR作品

由于该软件无需任何编码知识即可使用,因此任何人现在都可以在 AR 世界中几乎没有经验地制作下一个疯狂式传播的 Instagram AR 特效,引领世界潮流。

专门的 AR 滤镜设计师单价甚至可达到 1000 美元到 3 万美元不等。

image.png

在 Spark AR Studio 中,控制台可以通过两种方式来测试和调试项目:

  • 控制台日志记录;
  • 监视信号;

显示并隐藏控制台

显示或隐藏控制台:

  • 单击菜单栏中的 View
  • 从菜单中选择 Show/Hide Console

67507588_2375034659444373_3366463742484152320_n.gif

控制台将会出现在视口的下方。

控制台日志

您可以使用 Spark AR Studio 中的控制台来记录(添加到项目中的)脚本中的消息和变量。 可以使用 Diagnostics 模块log() 方法从脚本中记录消息和变量值。

// Load in the Diagnostics module
const Diagnostics = require('Diagnostics');

// Log a string message  
Diagnostics.log('A console message logged from the script');

let myVariable = 5;

// Log a variable's value  
Diagnostics.log(myVariable);

image.png

//==============================================================================
// The following example demonstrates how to log messages to the Console and
// watch signal values.
//==============================================================================

// Load in the required modules
const Diagnostics = require('Diagnostics');
const FaceTracking = require('FaceTracking');
const Scene = require('Scene');

// Log a message to the Console
Diagnostics.log('Console message logged from the script.');

// Watch a signal's value in the Console
Diagnostics.watch("Mouth Openness - ", FaceTracking.face(0).mouth.openness);

一旦你准备好在设备上测试你的效果,你可以使用 Spark AR Player 应用程序。

如果您通过 USB 数据线连接您的设备,并从Send To Device菜单中选择Send To Connected Device,您将能够从Console中的设备下拉菜单中选择您的设备,以查看从设备记录的消息。

67507588_2375034659444373_3366463742484152320_n.gif

脚本中留下的日志语句可能会对性能产生负面影响,因此在产生最终效果之前请删除所有 Diagnostics.log() 调用。

过滤控制台消息

Show All 下拉菜单可以用来过滤控制台消息:

  • Show All-显示所有消息。
  • Errors-仅显示错误消息。
  • Warnings-仅显示警告消息。
  • Logs-仅显示从脚本记录的消息。

67507588_2375034659444373_3366463742484152320_n.gif

搜索框可用于过滤控制台消息,以只显示包含所使用的搜索词的消息。

67507588_2375034659444373_3366463742484152320_n.gif

信号监控

信号值可以用诊断模块的 watch() 方法从脚本中显示在控制台中。

// Load in the required modules
const Diagnostics = require('Diagnostics');
const FaceTracking = require('FaceTracking');

// Add the mouth openness signal to the watch view
Diagnostics.watch("Mouth Openness - ", FaceTracking.face(0).mouth.openness);
        

监视(watch)视图出现在控制台的右上方。

67507588_2375034659444373_3366463742484152320_n.gif