Spark AR ——带有音频的世界对象(一)【贴片】

560 阅读5分钟

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

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

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

image.png

在本节的效果下,点击设备屏幕上的录音机将会导致 3 个(越来越复杂的同步)音乐循环之间的切换效果。其中一个音频片段的音量会增加,而其他片段则会消失在背景中。这种技术被称为“循环层”(loop layers)。

你将使用贴片编辑器来构建这种效果,同时尝试不同的音频、交互和动画贴片。

下载示例内容以学习本教程。你可以在自己的项目中采用这种效果中的任何资源。

链接:pan.baidu.com/s/1QPUXaBCe… 提取码:1pf1

如果你想自己构建这个效果,请在示例内容文件夹中打开未完成的效果。我们已经导入了您需要的资产,以帮助您快速入门。

对象的层级

在这个效果中,我们将在场景中的不同对象之间创建子-父关系。子对象将接受或受父对象属性的影响。

要使一个对象成为另一个对象的子对象,您只需要将子对象拖到父对象上。您还可以右键单击一个对象并插入一个对象作为它的子对象。

当一个对象是另一个对象的子对象时,它会被列在场景面板的下面,像这样:

image.png

在上面的例子中,Boombox_animated 是一个 3D 对象。它是空对象 placer 的子对象。它将接受任何应用于空对象的转换。

添加一个平面跟踪器

要开始构建效果,添加一个平面跟踪器到你的场景。当摄像机检测到一个平面时,平面跟踪器的子对象将出现,例如桌子或地板。

当你添加一个平面跟踪器时,Spark AR Studio 中的视频将变为空白。

image.png

使用一个空对象

插入一个空对象作为平面跟踪器的子对象。

插入一个空对象:

  1. 右键单击平面跟踪器。
  2. 从菜单中选择Null Object
  3. 重命名它为 placer

我们将使用 placer 来分组 2 个对象(合为一组),这样我们就可以同时对它们进行更改:

  1. 一个看起来像立体声音响的 3D 物体。
  2. 一个叫做扬声器的对象,我们将它配置为在场景中播放声音。

添加录音机的 3D 对象

我们已经将 3D 对象添加到未完成的项目中。它在资产面板中被列为boombox_animated:

image.png

要将它添加到效果中,只需将它从资源面板中拖放到场景面板中。并将它拖放到 placer 上,这样它就变成了空对象的子对象:

87339265_194169554986529_245009862554025984_n.gif

你会在视口和模拟器中看到 boombox 对象,但它还不是动画的 —— 我们稍后将使用动画贴片来做这件事。

image.png

添加动画

在贴片编辑器中构建一个简单的图,其将使 boombox 动画化。 如果你在场景面板中展开 boombox_animated,你将会看到它是由多个对象组成的:

image.png

前 4 个对象是网格。网格是材质应用的地方,以确定 boombox 的外观。 还有一个有三个关节的骨架。我们将操纵这些关节来控制动画。我们将动画

  1. base_jnt —— 为 boombox 的底部添加移动。
  2. speaker_left_jntspeaker_right_jnt —— 动画化两个扬声器。

1) 创建贴片

我们将操纵关节的 3D Scale 属性,使 boombox 看起来变大,然后变小。

首先,创建贴片来表示每个关节的 3D Scale:

  1. 在场景面板中选择 base_jnt
  2. 在检查器中,单击 Scale 旁边的箭头。这将创建一个贴片并打开贴片编辑器。

image.png

speaker_left_jntspeaker_right_jnt 重复这些步骤,这样在贴片编辑器中就有 3 个贴片。

image.png

接下来,创建贴片来驱动动画:

在贴片编辑器中右键单击。 从菜单中选择 2 个 Loop Animation 和 2 Transition 贴片。

image.png

Loop Animation 贴片和 Transition 贴片通常一起使用。这是因为 Loop Animation 贴片控制动画的进度,而 Transition 贴片可以配置为控制对象的移动方式和位置。

2) 动画化底部

首先连接:

  1. Loop Animation 贴片中的 Progress 端口链接 Transition 贴片中的 Progress 端口。
  2. Transition 贴片端口输出到 base_jnt 贴片中的 3D Scale 端口。

image.png

因为 Transition 贴片中的 Start 值默认设置为 0,所以缩放效果非常极端:

87339265_194169554986529_245009862554025984_n.gif

要更改此值,请将 Start 值设置为 0.9

现在的 boombox 越来越大,然后又恢复到原来的大小。在 Loop Animation 贴片中,选中 Mirrored 旁边的复选框。boombox 会变得越来越大,然后逐渐变小:

87339265_194169554986529_245009862554025984_n.gif

移动也有点慢 —— 将 Duration 改为 0.4 来加快动画速度。

最后的调整是在 Transition 贴片中改变 Curve。这设置了对象缩放时的移动。我们选了 Quintic In,但你也可以选别的。

你完成的图应该是这样的:

image.png

3) 动画化扬声器

扬声器的动画非常类似于 boombox 的底部动画。再次:

  1. 将第二个 Loop Animation 贴片中的 Progress 端口连接到第二个 Transition 贴片中的 Progress 端口。
  2. Transition 端口的输出连接到 3D Scale 端口 —— 这次是在speaker_right_jntspeaker_left_jnt 上。

Loop Animation 贴片:

  1. 再次选中 Mirrored 旁边的复选框。
  2. Duration 更改为 0.2 秒。

Transition 贴片中:

  1. Start 改为 0.7End 改为 0.85
  2. Curve 改为 Elastic Out

你的图应该是这样的:

image.png

添加循环音频

下回分解

添加扬声器

下回分解

设置音频回放

下回分解

设置音频循环层

下回分解

添加交互贴片

下回分解

添加计数器和选项选择器贴片

下回分解

链接贴片

下回分解

编辑贴片

下回分解

增加指数平滑法

下回分解

编辑动画

下回分解

操作录音机

下回分解