Unity在Project右键点击物体之后获取到点击物体的名称

编程入门 行业动态 更新时间:2024-10-08 18:34:42

Unity在Project右键点击<a href=https://www.elefans.com/category/jswz/34/1765220.html style=物体之后获取到点击物体的名称"/>

Unity在Project右键点击物体之后获取到点击物体的名称

Unity在Project右键点击物体之后获取到点击物体的名称

描述:
在Unity的Project右键点击物体之后选择对应的菜单选项点击之后打印出物体的名称

注意事项

如果获取到文件或者预制体需要传递objcet类型,然后使用 GameObject.Instantiate((GameObject)selectproject);在场景中创建,销毁时候使用DestroyImmediate(selectproject);销毁。

代码

代码需要放到Editor文件夹下

using UnityEngine;
using UnityEditor;
using System.Collections.Generic;public class RightMouseButtonExpansion : EditorWindow
{private static Dictionary<int, string> _itemsCache = new Dictionary<int, string>();private static int GetInstanceIDFromPath(string path){if (_itemsCache.ContainsKey(path.GetHashCode())){return int.Parse(_itemsCache[path.GetHashCode()]);}else{Object obj = AssetDatabase.LoadMainAssetAtPath(path);int instanceID = obj.GetInstanceID();_itemsCache.Add(path.GetHashCode(), instanceID.ToString());return instanceID;}}[MenuItem("Assets/wyhEditorExtension/Get Selected Object Name")]static void GetSelectedObjectName(){Object selectedObject = Selection.activeObject;string path = AssetDatabase.GetAssetPath(selectedObject);int instanceID = GetInstanceIDFromPath(path);Object obj = EditorUtility.InstanceIDToObject(instanceID);Debug.Log("右键选中的物体的名称是:" + obj.name);}public static void OnProjectItemContextMenu(int instanceID, Rect selectionRect){string path = AssetDatabase.GetAssetPath(InstanceIDToObject(instanceID));string name = AssetDatabase.LoadMainAssetAtPath(path).name;//打印出物体的名称Debug.Log(name);}static Object InstanceIDToObject(int instanceID){return EditorUtility.InstanceIDToObject(instanceID);}
}

更多推荐

Unity在Project右键点击物体之后获取到点击物体的名称

本文发布于:2023-11-17 08:42:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1640815.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:物体   右键点击   名称   Unity   Project

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!