关于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);

}

相关推荐
Clank的游戏栈1 小时前
Unity多线程渲染指令队列设计与集成技术详解
windows·unity·游戏引擎
Freedom风间4 小时前
前端优秀编码技巧
前端·javascript·代码规范
萌萌哒草头将军4 小时前
🚀🚀🚀 Openapi:全栈开发神器,0代码写后端!
前端·javascript·next.js
萌萌哒草头将军4 小时前
🚀🚀🚀 Prisma 爱之初体验:一款非常棒的 ORM 工具库
前端·javascript·orm
拉不动的猪5 小时前
SDK与API简单对比
前端·javascript·面试
BillKu5 小时前
Vue3后代组件多祖先通讯设计方案
开发语言·javascript·ecmascript
亭台烟雨中5 小时前
【前端记事】关于electron的入门使用
前端·javascript·electron