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

}

相关推荐
美酒没故事°8 小时前
vue3拖拽+粘贴的综合上传器
前端·javascript·typescript
Dr.勿忘10 小时前
MUMU模拟器adb连接失败:cannot connect to 127.0.0.1:16384: 由于目标计算机积极拒绝,无法连接。 (10061)
游戏·unity·adb·游戏程序·调试·模拟器
acanab13 小时前
UE使用VScode开发 配置过程
ide·vscode·编辑器
Miketutu13 小时前
Flutter学习 - 组件通信与网络请求Dio
开发语言·前端·javascript
摘星编程13 小时前
React Native for OpenHarmony 实战:Swiper 滑动组件详解
javascript·react native·react.js
鸣弦artha13 小时前
Flutter框架跨平台鸿蒙开发——Build流程深度解析
开发语言·javascript·flutter
LongJ_Sir15 小时前
Cesium--可拖拽气泡弹窗(Vue3版)
javascript
PPPPPaPeR.16 小时前
使用vim实现进度条(初级)
linux·编辑器·vim
跟着珅聪学java16 小时前
JavaScript 中定义全局变量的教程
javascript
午安~婉16 小时前
整理知识点
前端·javascript·vue