目前进展
我已经完成本周上一篇博客所说的动态加载并绑定出一组图片和视频文件。其具体做法是:
首先,我们应该先把已经做好的一组ImageTarget和带有videoplayer脚本的Plane绑定为一个prefab,然后在一个manager中动态的生成这个prefab。其代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using EasyAR;
public class ImageTargetManager : MonoBehaviour {
public GameObject videoPrefab;
// Use this for initialization
void Awake () {
GameObject videoPlayer = Instantiate(videoPrefab);
var ITbehaviour = videoPlayer.GetComponent<ImageTargetBehaviour>();
ITbehaviour.Path = "image1.jpg";
ITbehaviour.Name = "image1";
ITbehaviour.Storage = StorageType.Assets;
ITbehaviour.Bind(GameObject.Find("ImageTracker").GetComponent<ImageTrackerBehaviour>());
ITbehaviour.Size = new Vector2(8.0f, 4.5f);
var VPbehaviour = videoPlayer.transform.GetChild(0).GetComponent<VideoPlayerBehaviour>();
VPbehaviour.Path = "video1.mp4";
VPbehaviour.Storage = StorageType.Assets;
VPbehaviour.VideoScaleMode = EasyAR.VideoPlayerBaseBehaviour.ScaleMode.Fill;
VPbehaviour.EnableAutoPlay = true;
VPbehaviour.EnableLoop = true;
VPbehaviour.OpenWhenStart = true;
VPbehaviour.VideoScaleFactorBase = 0.1f;
}
}
下步目标
当然,目前还仅仅是使用在StreamingAssets中的文件,还不是真正意义上的动态加载,我要等做服务器的小伙伴完成之后,使用在persistentAssets文件夹中的图片和视频文件进行动态的绑定。