1.首先添加Reference Image Library,在Create->XR->Reference Image Library。
设置两个图片

2.在AR Session Origin中,添加AR Tracked Image Manager组件,并加入上一步设置的图片库

3.0添加新的脚本MultiImageTracking,如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.ARFoundation;
public class MultiImageTracking : MonoBehaviour
{
ARTrackedImageManager ImgTrackedManager;
private Dictionary<string, GameObject> mPrefabs = new Dictionary<string, GameObject>();
private void Awake()
{
ImgTrackedManager = GetComponent<ARTrackedImageManager>();
}
void Start()
{
mPrefabs.Add("kiss", Resources.Load("TVvideo") as GameObject);
mPrefabs.Add("qr", Resources.Load("car") as GameObject);
}
private void OnEnable()
{
ImgTrackedManager.trackedImagesChanged += OnTrackedImagesChanged;
}
void OnDisable()
{
ImgTrackedManager.trackedImagesChanged -= OnTrackedImagesChanged;
}
void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
{
foreach (var trackedImage in eventArgs.added)
{
OnImagesChanged(trackedImage);
}
}
private void OnImagesChanged(ARTrackedImage referenceImage)
{
Debug.Log("Image name:" + referenceImage.referenceImage.name);
Instantiate(mPrefabs[referenceImage.referenceImage.name], referenceImage.transform);
}
}
3.1.也可以采取添加如下控件,并填入模型和图片库即可

4.打包安装,运行 ,扫码

本文详细介绍如何在Unity中使用ARFoundation实现多图像跟踪功能。包括创建参考图像库、配置ARTrackedImageManager组件及自定义脚本来响应图像跟踪事件等步骤。文中还提供了具体的C#脚本代码实例。
984

被折叠的 条评论
为什么被折叠?



