文章目录

Unity Vuforia在运行时动态创建图像目标

由 帅木 发布

Vuforia在运行时动态加载图片作为识别对象
官方文档:https://developer.vuforia.com/library/objects/instant-image-targets

using System.IO;
using UnityEngine;
using Vuforia;
public class SideLoadImageTarget : MonoBehaviour
{
    void Start()
    {
        VuforiaApplication.Instance.OnVuforiaStarted += CreateImageTargetFromSideloadedTexture;
    }
    async void CreateImageTargetFromSideloadedTexture()
    {
        Texture2D texture = new Texture2D(2, 2);
        string dataPath = Path.Combine(Application.streamingAssetsPath, "Vuforia");
        var allFiles = Directory.GetFiles(dataPath, "*.png", SearchOption.AllDirectories);
        foreach (var file in allFiles)
        {
            texture.LoadImage(File.ReadAllBytes(file));
            string fileName = Path.GetFileNameWithoutExtension(file);
            var mTarget = await VuforiaBehaviour.Instance.ObserverFactory.CreateImageTargetAsync(texture, 1, fileName);
            mTarget.gameObject.AddComponent<DefaultObserverEventHandler>();   
        }
    }
}

在运行时创建和加载其它识别目标,如ModelTarget、AreaTarget 等
官方文档:https://developer.vuforia.com/library/unity-extension/create-and-load-targets-unity


0条评论

评论已关闭