Spark AR —— 脚本和贴片的桥接

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

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

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

87339265_194169554986529_245009862554025984_n.gif

您可以通过添加共享变量在脚本和贴片编辑器之间传递信息。

贴片编辑器(Patch Editor)和脚本(Script)支持 7 种不同类型的变量:

Patch Editor type Script type
Boolean BoolSignal
Color ColorSignal
Number ScalarSignal
Pulse EventSource
Text StringSignal
Vector 2 Vec2Signal
Vector 3 VectorSignal or PointSignal
Vector 4 Vec4Signal

在资产面板中选择脚本文件后,可以从检查面板中创建共享变量。

一、将变量从脚本发送到贴片编辑器

发送

要将一个变量从脚本发送到贴片编辑器,请使用 PatchesModule API 提供的 set 方法。

下面的例子显示了一个布尔值从脚本发送到贴片编辑器:

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

(async function() { // Enable async/await in JS [part 1]

    // Create a boolean variable
    const myBoolean = true;

    // Send the boolean to the Patch Editor as 'myBoolean'
    await Patches.inputs.setBoolean('myBoolean', myBoolean);

})(); // Enable async/await in JS [part 2]
        
复制代码

访问

在贴片编辑器中访问从脚本发送的变量:

  1. 在资产面板中选择脚本文件。
  2. 在检查面板中,在 From Script 右侧,单击 + 添加一个新变量。
  3. 将变量名更改为与脚本中定义的变量名匹配。
  4. Interactions 下选择 Create 生产者贴片。

87339265_194169554986529_245009862554025984_n.gif

这将创建一个紫色的生产者贴片,其中包含你在 From Script 部分下定义的所有变量作为输出。您可以将输出端口连接到其他贴片。

二、从贴片编辑器发送变量到脚本

发送

将一个变量从贴片编辑器发送到脚本:

  1. 在资产面板中选择脚本文件。
  2. 在检查面板中,在 To Script 的右边,点击 + 添加一个新的脚本变量。
  3. 更改变量名以匹配将在脚本中使用的变量名。
  4. 单击变量旁边的箭头。

87339265_194169554986529_245009862554025984_n.gif

这将创建一个黄色的消费者贴片,它的值可以在脚本中读取。您可以将其他贴片连接到它的输入端口来更改该值。

访问

要访问脚本中从贴片编辑器发送的变量,请使用 贴片模块 提供的 get 方法。

下面的例子显示了在贴片编辑器的脚本中访问文本:

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

(async function() { // Enable async/await in JS [part 1]

    // Get the 'myString' string value from the Patch Editor
    const myString = await Patches.outputs.getString('myString');

})(); // Enable async/await in JS [part 2]
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享