This commit is contained in:
2025-08-13 18:07:31 +08:00
parent 886a87777a
commit 5ad59475fe
4 changed files with 171 additions and 171 deletions

View File

@@ -1,52 +1,52 @@
using Stary.Evo.Editor; // using Stary.Evo.Editor;
using UnityEditor; // using UnityEditor;
using UnityEngine; // using UnityEngine;
//
namespace Stary.Evo.RKTools // namespace Stary.Evo.RKTools
{ // {
[CustomEditor(typeof(ARTrackedImageEvoObj))] // [CustomEditor(typeof(ARTrackedImageEvoObj))]
public class ARTrackedImageEvoObjEditor : UnityEditor.Editor // public class ARTrackedImageEvoObjEditor : UnityEditor.Editor
{ // {
/// <summary> // /// <summary>
/// 序列化属性在OnEnable中获取 // /// 序列化属性在OnEnable中获取
/// </summary> // /// </summary>
private SerializedProperty domain; // private SerializedProperty domain;
//
private SerializedProperty trackedTransform; // private SerializedProperty trackedTransform;
//
/// <summary> // /// <summary>
private string[] domainNames; // private string[] domainNames;
//
private void OnEnable() // private void OnEnable()
{ // {
domain = serializedObject.FindProperty("domain"); // domain = serializedObject.FindProperty("domain");
trackedTransform = serializedObject.FindProperty("trackedTransform"); // trackedTransform = serializedObject.FindProperty("trackedTransform");
domainNames = CreatAssetWindow.GetCreatDomainAllName(); // domainNames = CreatAssetWindow.GetCreatDomainAllName();
} // }
//
public override void OnInspectorGUI() // public override void OnInspectorGUI()
{ // {
serializedObject.Update(); // serializedObject.Update();
//
// 获取当前选中的索引 // // 获取当前选中的索引
int selectedIndex = System.Array.IndexOf(domainNames, domain.stringValue); // int selectedIndex = System.Array.IndexOf(domainNames, domain.stringValue);
if (selectedIndex < 0) selectedIndex = 0; // 默认选中第一个 // if (selectedIndex < 0) selectedIndex = 0; // 默认选中第一个
//
// 绘制下拉选择框 // // 绘制下拉选择框
selectedIndex = EditorGUILayout.Popup("Domain", selectedIndex, domainNames); // selectedIndex = EditorGUILayout.Popup("Domain", selectedIndex, domainNames);
//
// 更新选择的域名 // // 更新选择的域名
domain.stringValue = domainNames[selectedIndex]; // domain.stringValue = domainNames[selectedIndex];
//
EditorGUI.BeginChangeCheck(); // EditorGUI.BeginChangeCheck();
var newTrackedTransform // var newTrackedTransform
= EditorGUILayout.ObjectField(new GUIContent("Tracked Transform"), trackedTransform.objectReferenceValue, typeof(Transform), true) as Transform; // = EditorGUILayout.ObjectField(new GUIContent("Tracked Transform"), trackedTransform.objectReferenceValue, typeof(Transform), true) as Transform;
if (EditorGUI.EndChangeCheck()) // if (EditorGUI.EndChangeCheck())
{ // {
trackedTransform.objectReferenceValue = newTrackedTransform; // trackedTransform.objectReferenceValue = newTrackedTransform;
} // }
serializedObject.ApplyModifiedProperties(); // serializedObject.ApplyModifiedProperties();
base.OnInspectorGUI(); // base.OnInspectorGUI();
} // }
} // }
} // }

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
{ {
"name": "com.staryevo.rktools", "name": "com.staryevo.rktools",
"version": "1.0.7", "version": "1.1.0",
"displayName": "07.RKTools", "displayName": "07.RKTools",
"description": "Rokid工具", "description": "Rokid工具",
"unity": "2021.3", "unity": "2021.3",