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)
{