补充上一篇文章中添加视频的方法和介绍如何在项目中添加视频。
一、添加视频
与上一篇文章相同的步骤,添加ImageTarget—添加子物体Quad—将选好的图片拖入进去,再给Quad添加一个video组件,将准备好的视频拖入video clip栏中。

选择AR camera,点击右侧inspector检查面板中的open Vuforia configuration(打开Vuforia配置)

修改max simultaneous tracke的值可以设置同时追踪的图片数,取消勾选下面的四个√可以节省设备的负担。

当我们测试时会发现一个问题,视频并不是在识别到图片之后才播放的,而是运行时就播放了,我们可以通过编写代码解决这个问题,让相机识别到图片后开始播放视频。(在知乎学到的,网址https://zhuanlan.zhihu.com/p/112734598)
取消勾选Video的play on awake

首先找到DefaultTrackableEventHandler脚本,双击打开。

添加代码using UnityEngine.Video;

public VideoPlayer video;

video.GetComponent<VideoPlayer>().Play();
Video.GetComponent<VideoPlayer>().Play();
知乎原文上没有添加下图的第二行代码,结果是第一次播放视频时是从识别到图片开始,但是如果移动图片再次识别视频还是接着上次的视频播放(播放时间包括图片不见的时间),所以加上第二行代码,可以使图片移走后停止播放视频,再次识别到时重新播放。

保存代码,回到unity,选中iamgeTarget,将放有视频的子物体拖到代码中。

二、如何在AR项目中添加音频,并控制音频的播放(与上述视频的操作方式类似)。
找一段音频素材,导入unity项目里(如何创建unity AR项目在“自学第一步”里有详细说明)。

点击GameObject——Audio——Audio Source,添加一个Audio Source

在右侧inspector检查面板中,取消勾选play on awake。

选择之前添加好的ImageTarget,在右侧inspector检查面板中,点击default trackable event handler(script)【默认可跟踪事件处理程序(脚本)】右侧的锯齿按钮,选择edit script(编辑脚本,可自己选择编辑器,下图是将编译器改为unity自己的编译器的步骤)。

选择Edit——Preferences(首选项)——external——在External Script Editor选项上选择MonoDevelop(built-in)。

打开脚本之后,找到图中所示的代码段,添加两行代码(如图小框所示)。

保存脚本,回到unity,可以看到在之前的脚本下方多了两个对应的属性,将AudioSource和音频素材分别拖入。

回到脚本,向下翻找到下图划横线的两行代码,在他们下方添加如下代码控制音频的播放和停止,保存代码。

再加上两行代码。
asoure.PlayOneShot(aclip);
asource.Stop();

测试、导出安装包(步骤见上篇)。
网友评论