一、我先说两句
在之前的博客中我们实现了基本的图像识别功能,并且在识别的图片上显示了一个3D模型。但是有时候模型叠加可能并不能达到我们希望的效果,这个时候我们就可以尝试一下做视屏叠加了。这就是这篇博客接下来要讨论的功能了。
二、工具
1、一段MP4格式的视屏。格式如果错误,将会出现无法叠加的现象。
2、Vuforia官方提供的Video Playback资源包。在Downloads/Samples/下的Advanced Topics
下载之后可得到对应压缩包。
三、我们动手吧
1、打开上述对应的压缩包,将包中VideoPlayback-6-2-10.unitypackage文件导入到我们创建的unity工程中。
2、将.mp4格式的视屏保存到Assets/StreamingAssers目录下,如果路径出错的话,视屏将无法播放。
3、删除场景中的Main Camera,添加ARCamera和ImageTarget组件,导入图片库的包,在ImageTarget中设置待识别图片,在ARCamera中填入产品License Key,勾选需要使用的图片库。这些识别图片的所有步骤与上一篇博客的内容一致,唯一的不同是这里我们把模型替换为Assets/Vuforia Video Playback/Prefabs下的Video组件。
4、我们把Video设为ImageTarget的子物体。
5、设置Video中Video Playback Behavior脚本的参数为:
其中Path为视屏名称,Auto Play勾选则为自动播放。
6、调整Video组件的位置,使其位于图片的正上方。
7、选中ARCamera,删除Default Initialization Error Handler脚本,添加脚本Play Video,据说不做这些修改的话,则点击屏幕的播放按钮无法播放视屏。如果小伙伴发现添加了这个脚本还是无法触发点击事件的话,可以使用导入的包中自带的场景文件,对这个场景进行修改开发自己的功能。
勾选play fullscreen则为全屏播放。
8、选中ImageTarget,取消勾选Default Trackable Event Handle脚本,添加Trackable Event Handle脚本
9、发布APK,将APK安装到手机,对准识别图调整角度,则可现实播放功能:
四、照惯例说两句
说两句?算了不说了,就抄上一篇的吧。
以下是样例中使用的项目源文件与资源,有需要的同学可以自行下载。
1、项目源文件:链接:http://pan.baidu.com/s/1hrKz9je 密码:8jyi
2、apk文件:链接:http://pan.baidu.com/s/1qYlTBJ2 密码:wsiq
3、识别图文件:链接:http://pan.baidu.com/s/1pLnX6Wj 密码:wgdk
4、模型资源文件:链接:http://pan.baidu.com/s/1dFiSqJJ 密码:vpgf
以上项目中有模型叠加,视屏叠加的功能。下一篇博客中我们将会讨论利用Vuforia进行文字识别的功能。
由于我也是正在学习,如果上述过程有什么错误的地方,希望小伙伴们艾特我一下,如果网盘链接失效了,请提示我更新。