【m】添加图像识别

This commit is contained in:
2025-05-19 15:42:24 +08:00
parent 9362a57d80
commit 53902896c0
8 changed files with 488 additions and 379 deletions

View File

@@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using Rokid.UXR.Module;
using Sirenix.OdinInspector;
using UnityEngine;
namespace Stary.Evo.RKTools
{
public class TrackedImageEvoManager : ARTrackedImageManager
{
[TableList] public List<TarkedImageEvoData> TrackedImages;
private void Start()
{
TrackedImages = new List<TarkedImageEvoData>();
}
public TarkedImageEvoData GetTrackedImageEvoData(int imageIndex)
{
foreach (var imageEvoData in TrackedImages)
{
if (imageEvoData.imageIndex == imageIndex)
{
return imageEvoData;
}
}
Debug.LogError($"StaryEvo:未找到对应的图片的id数据请检查是否进行前置识别 index:{imageIndex}");
return null;
}
public void SetTrackedImageEvoData(int imageIndex, Transform transform)
{
foreach (var imageEvoData in TrackedImages)
{
if (imageEvoData.imageIndex == imageIndex)
{
imageEvoData.position = transform.position;
imageEvoData.rotation = transform.eulerAngles;
imageEvoData.scale = transform.localScale;
}
}
}
public TarkedImageEvoData GetTrackedImageEvoData(string domain)
{
foreach (var imageEvoData in TrackedImages)
{
if (imageEvoData.domain == domain)
{
return imageEvoData;
}
}
Debug.LogError($"StaryEvo:未找到对应的domain的id数据请检查是否进行前置识别 domain:{domain}");
return null;
}
public void SetTrackedImageEvoData(string domain, Transform transform)
{
foreach (var imageEvoData in TrackedImages)
{
if (imageEvoData.domain == domain)
{
imageEvoData.position = transform.position;
imageEvoData.rotation = transform.eulerAngles;
imageEvoData.scale = transform.localScale;
}
}
}
}
[Serializable]
public class TarkedImageEvoData
{
[VerticalGroup("key")] public string domain;
[VerticalGroup("key")] public int imageIndex;
[VerticalGroup("transform")] public Vector3 position;
[VerticalGroup("transform")] public Vector3 rotation;
[VerticalGroup("transform")] public Vector3 scale;
}
}