补充上一篇文章中添加视频的方法和介绍如何在项目中添加视频。
一、添加视频
与上一篇文章相同的步骤,添加ImageTarget—添加子物体Quad—将选好的图片拖入进去,再给Quad添加一个video组件,将准备好的视频拖入video clip栏中。
![](https://img.haomeiwen.com/i13211020/c6c5a6168e7fe798.png)
选择AR camera,点击右侧inspector检查面板中的open Vuforia configuration(打开Vuforia配置)
![](https://img.haomeiwen.com/i13211020/88a4256f534828b5.png)
修改max simultaneous tracke的值可以设置同时追踪的图片数,取消勾选下面的四个√可以节省设备的负担。
![](https://img.haomeiwen.com/i13211020/7144e76d78b65ccb.png)
当我们测试时会发现一个问题,视频并不是在识别到图片之后才播放的,而是运行时就播放了,我们可以通过编写代码解决这个问题,让相机识别到图片后开始播放视频。(在知乎学到的,网址https://zhuanlan.zhihu.com/p/112734598)
取消勾选Video的play on awake
![](https://img.haomeiwen.com/i13211020/ab022ae9bead28c5.png)
首先找到DefaultTrackableEventHandler脚本,双击打开。
![](https://img.haomeiwen.com/i13211020/25437fbbdb8af2b1.png)
添加代码using UnityEngine.Video;
![](https://img.haomeiwen.com/i13211020/87a29fc60e603225.png)
public VideoPlayer video;
![](https://img.haomeiwen.com/i13211020/649f271b5f269c64.png)
video.GetComponent<VideoPlayer>().Play();
Video.GetComponent<VideoPlayer>().Play();
知乎原文上没有添加下图的第二行代码,结果是第一次播放视频时是从识别到图片开始,但是如果移动图片再次识别视频还是接着上次的视频播放(播放时间包括图片不见的时间),所以加上第二行代码,可以使图片移走后停止播放视频,再次识别到时重新播放。
![](https://img.haomeiwen.com/i13211020/3aee3e11450a72e6.png)
保存代码,回到unity,选中iamgeTarget,将放有视频的子物体拖到代码中。
![](https://img.haomeiwen.com/i13211020/0faa3b4694d2329a.png)
二、如何在AR项目中添加音频,并控制音频的播放(与上述视频的操作方式类似)。
找一段音频素材,导入unity项目里(如何创建unity AR项目在“自学第一步”里有详细说明)。
![](https://img.haomeiwen.com/i13211020/171fd84ef1b47f0a.png)
点击GameObject——Audio——Audio Source,添加一个Audio Source
![](https://img.haomeiwen.com/i13211020/ee4f6e844f94670c.png)
在右侧inspector检查面板中,取消勾选play on awake。
![](https://img.haomeiwen.com/i13211020/3c729374d79520a9.png)
选择之前添加好的ImageTarget,在右侧inspector检查面板中,点击default trackable event handler(script)【默认可跟踪事件处理程序(脚本)】右侧的锯齿按钮,选择edit script(编辑脚本,可自己选择编辑器,下图是将编译器改为unity自己的编译器的步骤)。
![](https://img.haomeiwen.com/i13211020/878e4316fc36e34f.png)
选择Edit——Preferences(首选项)——external——在External Script Editor选项上选择MonoDevelop(built-in)。
![](https://img.haomeiwen.com/i13211020/b7f9357e5790d831.png)
打开脚本之后,找到图中所示的代码段,添加两行代码(如图小框所示)。
![](https://img.haomeiwen.com/i13211020/242573fe6576de53.png)
保存脚本,回到unity,可以看到在之前的脚本下方多了两个对应的属性,将AudioSource和音频素材分别拖入。
![](https://img.haomeiwen.com/i13211020/729e5d6a61964615.png)
回到脚本,向下翻找到下图划横线的两行代码,在他们下方添加如下代码控制音频的播放和停止,保存代码。
![](https://img.haomeiwen.com/i13211020/6b304e42f13e50eb.png)
再加上两行代码。
asoure.PlayOneShot(aclip);
asource.Stop();
![](https://img.haomeiwen.com/i13211020/9e66e9cf1e91a684.png)
测试、导出安装包(步骤见上篇)。
网友评论