AR视频制作

最近在做一个AR视频的项目,就是扫描图片出相应的视频

需要的插件有:高通Vuforia,VideoPlayback

一、资源下载:

这里我们需要准备的资料如下:

1.一段视频:

因为视频一般较大,所以建议大家用格式工厂这个软件(网上有使用方法)压缩视频,可以大大压缩视频所占空间,唯一的缺点是不能在电脑上测试

2.Vuforia官方提供的一个Video Playback组件:

下载地址在官网Downloads/Samples(链接地址)下面的Advanced Topics项:

\

下载之后得到压缩包文件:\

二、案例操作:

1.导入上述中下载的资源,将.m4v格式的视频存放在Assets/StreamingAssets目录下面,再导入.unitypackage资源文件到工程中,解压下载的压缩文件可以得到三个资源包,此处我们只需要用到VideoPlayback.unitypackage即可

导入过程:在Project窗口中鼠标右键—>Import Package—>Custom Package...

\

选择VideoPlayback.unitypackage并导入工程中:

\

2.删除场景中的Main Camera,然后从Prefabs资源中找到ARCamera添加到场景中,然后再找到ImageTarget组件添加到场景中,识别图片所需的基本的设置步骤与之前的一致,只是把之前的3D模型替换为播放视频的组件Video:

\

3.设置Video中VideoPlaybackBehaviour的一些基本参数,主要有两个:视频路径和视频预览图(可以不添加),Auto Play需要勾上

\

4.调整Video组件的位置,使其位于图片正上方位置,如下图所示:

\

5.完成上述所有操作之后,我们还需要给ARCamera添加一个脚本VideoPlay,不添加此脚本的话,点击屏幕的播放按钮无法播放视频:

\

删除ARCamera下面的一个脚本:Default Initialization Error Handler

6.完成上述所有操作,打出apk包,然后用手机对着识别所以的图片,可以看到视频播放组件显示出来:


可能出现的问题:问题1:视频不能播放
                   解决方案:1、给ARCamera加上PlayVideo.cs
                   问题2:勾选auto play后,还是不能自动播放
                   解决方案:给ImageTarget 加上 TrackableEventHandler.cs

                问题3:怎么做到点击播放视频

               解决方案:给ARCamera加上VideoPlaybackTapHander

              调整video的大小:

            

在使用VideoPlayback开发应用时,除了实现功能之外,还需要做到真实和美观。有的是,Video Play On Texture,就是视频在Texture上播放。当视频尺寸(Video)与Target尺寸(比例)不适配时,感觉播放的视频与Target不贴合,用户体验不是非常好。 



在Inspector窗口修改Video的scale,在Unity editor场景下进行调试,对尺寸控制有效果,但是编译之后在手机上运行,没有效果。所以这种方式“治标不治本”。因为在VideoPlaybackBehaviour.cs这个脚本中,会判断当前的状态,状态主要分为: 


复制代码
1
2
3
4
5
6
7
8
9
10
11
public  enum  MediaState
{
     REACHED_END,
     PAUSED,
     STOPPED,
     PLAYING,
     READY,
     NOT_READY,
     ERROR,
     PLAYING_FULLSCREEN  // iOS-only
}
在OnRenderObject()这个方法中,会判断状态,当状态为REACHED_END,PAUSED,STOPPED,PLAYING,READY之一,就会设置Video的尺寸。
复制代码
1
else  if  (state < VideoPlayerHelper.MediaState.NOT_READY)


复制代码
1
2
// 修改Video的尺寸
transform.localScale =  new  Vector3(-0.1f*0.8f, 0.1f, 0.1f * aspect);

正常运行时,主要控制尺寸就在这里。那么需要调整尺寸也是在这个地方。注意:x轴控制横向,z轴控制纵向


好的,下面是一个基于ARFoundation的AR项目的制作教程: 步骤1:安装UnityARFoundation 首先,你需要安装UnityARFoundation。Unity是一款强大的游戏引擎,而ARFoundation是UnityAR开发框架。你可以从Unity官网下载Unity,也可以从Unity Hub中进行安装。ARFoundation可以从Unity Package Manager中获取。 步骤2:创建新项目 打开Unity并创建一个新项目。在创建项目时,请确保选择3D项目模板。 步骤3:导入ARFoundation 在Unity中打开Package Manager窗口,搜索ARFoundation并安装它。ARFoundation需要依赖于Unity的XR插件,所以你还需要安装XR插件。 步骤4:创建AR场景 创建一个新的场景,并将AR Session Origin和AR Session组件拖放到场景中。AR Session Origin是AR场景中对象的父对象,AR Session用于管理AR会话。 步骤5:添加ARKit或ARCore支持 ARFoundation支持ARKit和ARCore两种AR平台,你需要根据你的设备选择其中一个。如果你的设备是iOS设备,则选择ARKit支持;如果是Android设备,则选择ARCore支持。 步骤6:添加AR摄像头 将AR Camera组件添加到场景中。AR Camera用于捕捉摄像头视频,并将它与AR场景中的对象进行匹配。 步骤7:添加AR对象 在场景中添加你想要在AR场景中显示的对象。你可以添加3D模型、粒子效果、UI元素等。 步骤8:测试AR场景 在Unity编辑器中,点击播放按钮以测试AR场景。如果一切正常,你应该能够看到AR对象在现实世界中出现。 步骤9:构建并部署AR应用程序 完成AR场景后,你需要将其构建为可在设备上运行的应用程序。构建过程可能因设备、平台和应用程序类型而异。在构建之后,你可以将应用程序部署到设备上进行测试。 这是一个基于ARFoundation的AR项目的制作教程。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值