【m】图像识别添加

This commit is contained in:
2025-05-19 16:14:25 +08:00
parent 53902896c0
commit b8c67a2cd6
9 changed files with 127 additions and 2 deletions

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 48a19cb902094ecc8ceb242ada697751
timeCreated: 1747641441

View File

@@ -0,0 +1,52 @@
using Stary.Evo.Editor;
using UnityEditor;
using UnityEngine;
namespace Stary.Evo.RKTools
{
[CustomEditor(typeof(ARTrackedImageEvoObj))]
public class ARTrackedImageEvoObjEditor : UnityEditor.Editor
{
/// <summary>
/// 序列化属性在OnEnable中获取
/// </summary>
private SerializedProperty domain;
private SerializedProperty trackedTransform;
/// <summary>
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();
}
}
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 72092625ebc64a538340f91e8ddedfc3
timeCreated: 1747641457

View File

@@ -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
}

View File

@@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7b267fe3452f4939bf6a21810fbeab2b
timeCreated: 1747641687

View File

@@ -1,5 +1,5 @@
{
"name": "RKVoiceCommand.RunTime",
"name": "RKTools.RunTime",
"rootNamespace": "",
"references": [
"GUID:6447e10b87dc140ab924878c1ecef665",

View File

@@ -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);
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 9cc1ca9700549444c93d7ea3d156ab5c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

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