【EasyAR学习】播放本地视频

Step1:环境搭建

1、新建unity项目,将unitypackage包导入到unity3D中,会在Project面板看到如下图所示的文件夹.

【EasyAR学习】播放本地视频_第1张图片

2、删除Main Camera,并将AR相机-------EasyAR_ImageTracker-1拖入到Hierarchy面板中,并在EasyAR_ImageTracker-1的Insepctor面板填写Key 值(将之前在官网创建的Key复制到这里)。

【EasyAR学习】播放本地视频_第2张图片

3、然后,将ImageTarget预制体拖入到Hierarchy面板中去,并重命名为"Local_Play"。

【EasyAR学习】播放本地视频_第3张图片

Step2:本地视频播放

4、修改 ImageTarget 上挂载的ImageTargetBehaviour.cs 脚本,这里我直接将挂载的ImageTargetBehaviour.cs脚本删除了,然后在Assets文件夹下新建了“showvideo→Scripts→SampleImageTargetBehaviour.cs”脚本,该脚本继承于ImageTargetBehaviour,双击打开后,填写如下代码(也可从官网http://www.easyar.cn/doc_sdk/cn/Getting-Started/Setting-up-EasyAR-Unity-SDK.html获得),此脚本的作用就是控制模型识别后的显示(与显示模型时的处理方法相同),在VS2010编译运行成功后,将SampleImageTargetBehaviour.cs挂载到ImageTarget上。

using UnityEngine;
using EasyAR;

public class SampleImageTargetBehaviour :ImageTargetBehaviour {

        protected override void Awake()
        {
            base.Awake();
            TargetFound += OnTargetFound;
            TargetLost += OnTargetLost;
            TargetLoad += OnTargetLoad;
            TargetUnload += OnTargetUnload;
        }

        void OnTargetFound(TargetAbstractBehaviour behaviour)
        {
            Debug.Log("Found: " + Target.Id);
        }

        void OnTargetLost(TargetAbstractBehaviour behaviour)
        {
            Debug.Log("Lost: " + Target.Id);
        }

        void OnTargetLoad(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status)
        {
            Debug.Log("Load target (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker);
        }

        void OnTargetUnload(ImageTargetBaseBehaviour behaviour, ImageTrackerBaseBehaviour tracker, bool status)
        {
            Debug.Log("Unload target (" + status + "): " + Target.Id + " (" + Target.Name + ") " + " -> " + tracker);
        }
}

 5、在Inspector面板填写ImageTarget信息:(注意,一定要将Storage的格式修改为Assets)

Path: 识别图的路径

Name:识别图的名字

Size:识别图的大小

 【EasyAR学习】播放本地视频_第4张图片

下面是识别图片namecard.jpg(图片路径我是放在Assets\showvideo\Textures\namecard.jpg)

【EasyAR学习】播放本地视频_第5张图片

6、新建个材质球,将识别图namecard作为贴图放入材质球,将材质球放入如下图地方.

 【EasyAR学习】播放本地视频_第6张图片                 【EasyAR学习】播放本地视频_第7张图片

【EasyAR学习】播放本地视频_第8张图片

7、然后在ImageTarget下新建一个 3D Object ->Plane ,Plane的大小决定了你的视频大小,所以要适当调整Plane大小。然后是把EasyAR-> Scripts->VideoPlayerBehaviour这个脚本赋给Plane,进入Plane的inspector视图,填写VideoPlayerBehaviour的信息。

【EasyAR学习】播放本地视频_第9张图片

部分参数说明:

(1)path :本地视频路径:文件名.mp4 格式

(2)Type:视频格式


(3)Video Scale Mode:视频缩放格式:设置为充满

【EasyAR学习】播放本地视频_第10张图片

(4)Video Scale Plane:定义在哪个平面进行缩放

【EasyAR学习】播放本地视频_第11张图片

(5)Video Scale Factor Base:缩放因子:建议设置为0.1

(6)Storage :储存加载方式,要选为Aseets。

 【EasyAR学习】播放本地视频_第12张图片

视频播放必须移植到移动端,easyAR目前不支持视频播放在PC和MAC的直接调试。

8、保存场景,并打包成apk运行。(不知道如何打包成apk的,请参考我的前一篇博客“【EasyAR学习】缩放和拖动模型”)

9、在手机上运行时,发现播放video.mp4,只有声音,没有显示画面,目前我还在寻找解决这个问题的办法。



你可能感兴趣的:(EasyAR,unity3d,C#,VS2010,Android)