Unity获取场景gameobject的路径

本文介绍了一个Unity插件,帮助开发者轻松获取游戏对象的完整路径,并将其复制到剪切板。该插件不仅适用于单个游戏对象,还能在场景中查找资源或文件夹路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用Unity时,我们有时候写代码需要获取某个子物体下gameobject的路径,如果只是一俩个层级还好说,自己用键盘敲就可以了,但是如果层级变多的情况下,就显得麻烦多多。下面提供一个插件,可也通过直接将gameobject的路径复制到剪切板当中:

1:将字符串拷贝到剪切板当中:

    /// <summary>
    /// 剪切板
    /// </summary>
    public class ClipBoard
    {
        /// <summary>
        /// 将信息复制到剪切板当中
        /// </summary>
        public static void Copy(string format,params object[] args)
        {
            string result = string.Format(format,args);
            TextEditor editor = new TextEditor();
            editor.content = new GUIContent( result);
            editor.OnFocus();
            editor.Copy();
        }
    }

2:获取场景gameobject的路径

        [MenuItem("LazerSelect/Copy/ObjectPath")]
        private static void CopyGameObjectPath()
        {
            UnityEngine.Object obj = Selection.activeObject;
            if (obj == null)
            {
                Debug.LogError("You must select Obj first!");
                return;
            }
            string result = AssetDatabase.GetAssetPath(obj);
            if (string.IsNullOrEmpty(result))//如果不是资源则在场景中查找
            {
                Transform selectChild = Selection.activeTransform;
                if (selectChild != null)
                {
                    result = selectChild.name;
                    while (selectChild.parent != null)
                    {
                        selectChild = selectChild.parent;
                        result = string.Format("{0}/{1}", selectChild.name, result);
                    }
                }
            }
            ClipBoard.Copy(result);
            Debug.Log(string.Format("The gameobject:{0}'s path has been copied to the clipboard!", obj.name));
        }

通过建立脚本,直接放到Editor文件夹下就可以了,然后再看编辑器就可以看到相关的按钮了

如果大伙仔细发现,这个方法还有一个功能就是也可以在场景中把某个资源,活文件夹的路径拷贝到剪切板当中呦,大伙可以尝试一下。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值