关于unity中 编辑器相关逻辑的记录

prefab 在场景中 , 用这个方法可以获取它的磁盘路径:

 

   [MenuItem("Gq_Tools/↓获取prefab路径")]
    public static void SaveDecalParameters() 
    {
        var objs = Selection.objects;
        var obj = objs[0] as GameObject;

        Object parentObject = PrefabUtility.GetCorrespondingObjectFromSource<Object>(obj);
        string resourcePath = AssetDatabase.GetAssetPath(parentObject);
        // 获取prefab的资源路径  
        Debug.Log("_resourcePath:" + resourcePath); 
        DoSaveDecalParameters(obj, resourcePath);
    }

/// 根据传过来的参数(bundlename) 查询这个prefab文件在磁盘上的位置

 var assetBundlePath = UnityEditor.AssetDatabase.GetAssetPathsFromAssetBundle(fileNameLower);

//根据prefab名称, 加载asset 资源为object , 再找出asset路径, 再根据资源路径查找依赖项

  string asdf = pathName;
            Object _object = UnityEditor.AssetDatabase.LoadAssetAtPath(asdf, typeof(Object)); 
            var sePath = UnityEditor.AssetDatabase.GetAssetPath(_object);
            var ssa = UnityEditor.AssetDatabase.GetDependencies(sePath);
            foreach (var pathNameO in ssa)
            {
                Debug.Log("assetBundlePath:::" + pathNameO);
                semangFile(pathNameO);
            }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值