This commit is contained in:
zhangzheng
2026-03-25 16:58:26 +08:00
parent 3a9813675e
commit 2c230960db
22 changed files with 517 additions and 232 deletions

View File

@@ -1,38 +1,38 @@
using System;
using System.Collections;
using System.Collections.Generic;
using Rokid.UXR.Module;
using UnityEngine;
namespace Stary.Evo.RKTools
{
public class ARTrackedImageEvoObj : ARTrackedImageObj
#if Evo_Rokid
public class ARTrackedImageEvoObj : Rokid.UXR.Module.ARTrackedImageObj
{
[HideInInspector]
public string domain;
[HideInInspector]
public Transform trackedTransform;
[HideInInspector] public string domain;
[HideInInspector] public Transform trackedTransform;
public bool isStartTrackedImage = false;
public bool isStartTrackedImage=false;
public void Awake()
{
if (trackedTransform == null)
{
trackedTransform=this.transform;
trackedTransform = this.transform;
Debug.Log("StaryEvo:TrackedImageEvoObj: trackedTransform 未赋值,以自动赋值为自身");
}
OnARTrackedImageAdded.AddListener(OnARTrackedImageAddedEvent);
OnARTrackedImageUpdated.AddListener(OnARTrackedImageUpdateEvent);
OnARTrackedImageRemoved.AddListener(OnARTrackedImageRemovedEvent);
}
private void OnARTrackedImageAddedEvent(ARTrackedImageObj obj)
private void OnARTrackedImageAddedEvent(Rokid.UXR.Module.ARTrackedImageObj obj)
{
TrackedImageEvoManager trackedImageEvoManager = ARTrackedImageManager.Instance as TrackedImageEvoManager;
trackedImageEvoManager.SetTrackedImageEvoData(trackedImageIndex,domain,trackedTransform);
TrackedImageEvoManager trackedImageEvoManager =
Rokid.UXR.Module.ARTrackedImageManager.Instance as TrackedImageEvoManager;
trackedImageEvoManager.SetTrackedImageEvoData(trackedImageIndex, domain, trackedTransform);
isStartTrackedImage = true;
}
private void OnARTrackedImageUpdateEvent(ARTrackedImageObj obj)
private void OnARTrackedImageUpdateEvent(Rokid.UXR.Module.ARTrackedImageObj obj)
{
if (isStartTrackedImage)
{
@@ -43,14 +43,18 @@ namespace Stary.Evo.RKTools
}
}
private void OnARTrackedImageRemovedEvent(ARTrackedImageObj obj)
private void OnARTrackedImageRemovedEvent(Rokid.UXR.Module.ARTrackedImageObj obj)
{
isStartTrackedImage = false;
}
public void OnDestroy()
{
OnARTrackedImageAdded.RemoveListener(OnARTrackedImageAddedEvent);
}
}
}
#endif
}

View File

@@ -1,14 +1,16 @@
using System;
using System.Collections.Generic;
using Rokid.UXR.Module;
using Sirenix.OdinInspector;
using UnityEngine;
namespace Stary.Evo.RKTools
{
public class TrackedImageEvoManager : ARTrackedImageManager
#if Evo_Rokid
public class TrackedImageEvoManager : Rokid.UXR.Module.ARTrackedImageManager
{
[TableList] public List<TarkedImageEvoData> TrackedImages;
#if ODIN_INSPECTOR
[Sirenix.OdinInspector.TableList]
#endif
public List<TarkedImageEvoData> TrackedImages;
private void Start()
{
@@ -24,13 +26,14 @@ namespace Stary.Evo.RKTools
return imageEvoData;
}
}
Debug.LogError($"StaryEvo:未找到对应的图片的id数据请检查是否进行前置识别 index:{imageIndex}");
return null;
}
public void SetTrackedImageEvoData(int imageIndex,string domain, Transform transform)
public void SetTrackedImageEvoData(int imageIndex, string domain, Transform transform)
{
bool isExit=false;
bool isExit = false;
foreach (var imageEvoData in TrackedImages)
{
if (imageEvoData.imageIndex == imageIndex)
@@ -38,7 +41,7 @@ namespace Stary.Evo.RKTools
imageEvoData.position = transform.position;
imageEvoData.rotation = transform.eulerAngles;
imageEvoData.scale = transform.localScale;
isExit=true;
isExit = true;
}
}
@@ -64,6 +67,7 @@ namespace Stary.Evo.RKTools
return imageEvoData;
}
}
Debug.LogError($"StaryEvo:未找到对应的domain的id数据请检查是否进行前置识别 domain:{domain}");
return null;
}
@@ -72,11 +76,26 @@ namespace Stary.Evo.RKTools
[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;
#if ODIN_INSPECTOR
[Sirenix.OdinInspector.VerticalGroup("key")]
#endif
public string domain;
#if ODIN_INSPECTOR
[Sirenix.OdinInspector.VerticalGroup("key")]
#endif
public int imageIndex;
#if ODIN_INSPECTOR
[Sirenix.OdinInspector.VerticalGroup("transform")]
#endif
public Vector3 position;
#if ODIN_INSPECTOR
[Sirenix.OdinInspector.VerticalGroup("transform")]
#endif
public Vector3 rotation;
#if ODIN_INSPECTOR
[Sirenix.OdinInspector.VerticalGroup("transform")]
#endif
public Vector3 scale;
}
#endif
}