From b8c67a2cd67bcb0155806bcd8b36bcf7ee02c412 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=A0=E9=93=AE?= <834207172@qq.com>
Date: Mon, 19 May 2025 16:14:25 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90m=E3=80=91=E5=9B=BE=E5=83=8F=E8=AF=86?=
=?UTF-8?q?=E5=88=AB=E6=B7=BB=E5=8A=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Assets/07.RKTools/Editor.meta | 3 ++
.../Editor/ARTrackedImageEvoObjEditor.cs | 52 +++++++++++++++++++
.../Editor/ARTrackedImageEvoObjEditor.cs.meta | 3 ++
.../07.RKTools/Editor/RKTools.Editor.asmdef | 17 ++++++
.../Editor/RKTools.Editor.asmdef.meta | 3 ++
.../07.RKTools/RunTime/RKTools.RunTime.asmdef | 2 +-
.../TrackedImage/ARTrackedImageEvoObj.cs | 36 +++++++++++++
.../TrackedImage/ARTrackedImageEvoObj.cs.meta | 11 ++++
.../TrackedImage/TrackedImageEvoManager.cs | 2 +-
9 files changed, 127 insertions(+), 2 deletions(-)
create mode 100644 Assets/07.RKTools/Editor.meta
create mode 100644 Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs
create mode 100644 Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs.meta
create mode 100644 Assets/07.RKTools/Editor/RKTools.Editor.asmdef
create mode 100644 Assets/07.RKTools/Editor/RKTools.Editor.asmdef.meta
create mode 100644 Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs
create mode 100644 Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs.meta
diff --git a/Assets/07.RKTools/Editor.meta b/Assets/07.RKTools/Editor.meta
new file mode 100644
index 0000000..d86b873
--- /dev/null
+++ b/Assets/07.RKTools/Editor.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 48a19cb902094ecc8ceb242ada697751
+timeCreated: 1747641441
\ No newline at end of file
diff --git a/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs b/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs
new file mode 100644
index 0000000..ad50bdb
--- /dev/null
+++ b/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs
@@ -0,0 +1,52 @@
+using Stary.Evo.Editor;
+using UnityEditor;
+using UnityEngine;
+
+namespace Stary.Evo.RKTools
+{
+ [CustomEditor(typeof(ARTrackedImageEvoObj))]
+ public class ARTrackedImageEvoObjEditor : UnityEditor.Editor
+ {
+ ///
+ /// 序列化属性,在OnEnable中获取
+ ///
+ private SerializedProperty domain;
+
+ private SerializedProperty trackedTransform;
+
+ ///
+ private string[] domainNames;
+
+ private void OnEnable()
+ {
+ domain = serializedObject.FindProperty("domain");
+ trackedTransform = serializedObject.FindProperty("trackedTransform");
+ domainNames = CreatAssetWindow.GetCreatDomainAllName();
+ }
+
+ public override void OnInspectorGUI()
+ {
+ serializedObject.Update();
+
+ // 获取当前选中的索引
+ int selectedIndex = System.Array.IndexOf(domainNames, domain.stringValue);
+ if (selectedIndex < 0) selectedIndex = 0; // 默认选中第一个
+
+ // 绘制下拉选择框
+ selectedIndex = EditorGUILayout.Popup("Domain", selectedIndex, domainNames);
+
+ // 更新选择的域名
+ domain.stringValue = domainNames[selectedIndex];
+
+ EditorGUI.BeginChangeCheck();
+ var newTrackedTransform
+ = EditorGUILayout.ObjectField(new GUIContent("Tracked Transform"), trackedTransform.objectReferenceValue, typeof(Transform), true) as Transform;
+ if (EditorGUI.EndChangeCheck())
+ {
+ trackedTransform.objectReferenceValue = newTrackedTransform;
+ }
+ serializedObject.ApplyModifiedProperties();
+ base.OnInspectorGUI();
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs.meta b/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs.meta
new file mode 100644
index 0000000..b1faf1a
--- /dev/null
+++ b/Assets/07.RKTools/Editor/ARTrackedImageEvoObjEditor.cs.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 72092625ebc64a538340f91e8ddedfc3
+timeCreated: 1747641457
\ No newline at end of file
diff --git a/Assets/07.RKTools/Editor/RKTools.Editor.asmdef b/Assets/07.RKTools/Editor/RKTools.Editor.asmdef
new file mode 100644
index 0000000..0b630ab
--- /dev/null
+++ b/Assets/07.RKTools/Editor/RKTools.Editor.asmdef
@@ -0,0 +1,17 @@
+{
+ "name": "RKTools.Editor",
+ "rootNamespace": "",
+ "references": [
+ "GUID:10c9b58b77ad42b4193e2a393b1a9899",
+ "GUID:044184040b21c434b8aee6f2a3424c06"
+ ],
+ "includePlatforms": [],
+ "excludePlatforms": [],
+ "allowUnsafeCode": false,
+ "overrideReferences": false,
+ "precompiledReferences": [],
+ "autoReferenced": true,
+ "defineConstraints": [],
+ "versionDefines": [],
+ "noEngineReferences": false
+}
\ No newline at end of file
diff --git a/Assets/07.RKTools/Editor/RKTools.Editor.asmdef.meta b/Assets/07.RKTools/Editor/RKTools.Editor.asmdef.meta
new file mode 100644
index 0000000..b752a3e
--- /dev/null
+++ b/Assets/07.RKTools/Editor/RKTools.Editor.asmdef.meta
@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 7b267fe3452f4939bf6a21810fbeab2b
+timeCreated: 1747641687
\ No newline at end of file
diff --git a/Assets/07.RKTools/RunTime/RKTools.RunTime.asmdef b/Assets/07.RKTools/RunTime/RKTools.RunTime.asmdef
index 09cceec..aa15d7a 100644
--- a/Assets/07.RKTools/RunTime/RKTools.RunTime.asmdef
+++ b/Assets/07.RKTools/RunTime/RKTools.RunTime.asmdef
@@ -1,5 +1,5 @@
{
- "name": "RKVoiceCommand.RunTime",
+ "name": "RKTools.RunTime",
"rootNamespace": "",
"references": [
"GUID:6447e10b87dc140ab924878c1ecef665",
diff --git a/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs b/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs
new file mode 100644
index 0000000..98df568
--- /dev/null
+++ b/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using Rokid.UXR.Module;
+using UnityEngine;
+
+namespace Stary.Evo.RKTools
+{
+ public class ARTrackedImageEvoObj : ARTrackedImageObj
+ {
+ [HideInInspector]
+ public string domain;
+ [HideInInspector]
+ public Transform trackedTransform;
+
+ public void Awake()
+ {
+ if (trackedTransform == null)
+ {
+ Debug.LogError("StaryEvo:TrackedImageEvoObj: trackedTransform 未赋值,请检查");
+ }
+ OnARTrackedImageAdded.AddListener(OnARTrackedImageAddedEvent); ;
+ }
+
+ private void OnARTrackedImageAddedEvent(ARTrackedImageObj obj)
+ {
+ TrackedImageEvoManager trackedImageEvoManager = ARTrackedImageManager.Instance as TrackedImageEvoManager;
+ trackedImageEvoManager.SetTrackedImageEvoData(trackedImageIndex,domain,trackedTransform);
+ }
+
+ public void OnDestroy()
+ {
+ OnARTrackedImageAdded.RemoveListener(OnARTrackedImageAddedEvent);
+ }
+ }
+}
\ No newline at end of file
diff --git a/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs.meta b/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs.meta
new file mode 100644
index 0000000..4d9a208
--- /dev/null
+++ b/Assets/07.RKTools/RunTime/TrackedImage/ARTrackedImageEvoObj.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 9cc1ca9700549444c93d7ea3d156ab5c
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/07.RKTools/RunTime/TrackedImage/TrackedImageEvoManager.cs b/Assets/07.RKTools/RunTime/TrackedImage/TrackedImageEvoManager.cs
index afb38cc..b5699f7 100644
--- a/Assets/07.RKTools/RunTime/TrackedImage/TrackedImageEvoManager.cs
+++ b/Assets/07.RKTools/RunTime/TrackedImage/TrackedImageEvoManager.cs
@@ -28,7 +28,7 @@ namespace Stary.Evo.RKTools
return null;
}
- public void SetTrackedImageEvoData(int imageIndex, Transform transform)
+ public void SetTrackedImageEvoData(int imageIndex,string domain, Transform transform)
{
foreach (var imageEvoData in TrackedImages)
{