unity editor 编辑器 GUID localID LocalFileId 查找问题

//传入对象实例化ID 可以获取到 guid localid guid=预设的ID localid =预设内的ID

//这个方法有个问题如果在预设编辑器状态下 可能出现查不到 guid localid 原因可能 传入对象是是编辑状态下instanceid 并不是保存状态下的

UnityEditor.AssetDatabase.TryGetGUIDAndLocalFileIdentifier

//如果在预设编辑状态下 可以使用 GlobalObjectId类

//也是实例化的对象 但是可以查到 估计是会有二次索引状态

GlobalObjectId.GetGlobalObjectIdSlow

补充:后来发现 预设编辑状态下只能取到 节点的loacl id 并不能取到 主预设的GUID

所以想在预设编辑器情况下取到主预设ID 需要获取编辑器场景能取到path

PrefabStage ps = PrefabStageUtility.GetCurrentPrefabStage();

if (ps != null)

{

rootGuid = AssetDatabase.GUIDFromAssetPath(ps.assetPath);

}

再如果是在非运行模式下 场景编辑

UnityEngine.Object root = PrefabUtility.GetCorrespondingObjectFromSource(go);

相关推荐
GISer_Jing2 分钟前
jx前端架构学习
前端·学习·架构
间彧31 分钟前
Tailwind CSS详解
前端
间彧31 分钟前
Headless UI详解
前端
han_1 小时前
Vue.js 为什么要推出 Vapor Mode?
前端·javascript·vue.js
oden1 小时前
AI重构10000行老代码:2周完成1个月工作量的真实复盘
前端·aigc·ai编程
小满zs2 小时前
Next.js第十二章(RSC/服务端组件/客户端组件)
前端
亿元程序员2 小时前
明明直接用就可以了,非要在Creator里面写???
前端
wadesir2 小时前
Nginx负载均衡代理协议详解(从零开始搭建高可用Web服务)
前端·nginx·负载均衡
秋氘渔2 小时前
Vue 3 组合式写法:侦听器 watch 和 watchEffect 的区别及使用技巧
前端·javascript·vue.js·watch·watcheffect
想睡八个小时2 小时前
已包含的文件名 “a.vue“ 仅大小写与文件名 “A.vue“ 不同
前端·vscode