扩展编辑器,拷贝文件

现在有一个材质球,我需要制作多份,怎么编写代码。类似于Unity的Editor代码有没有?我了解到是要用扩展编辑器,但是我创建扩展,运行npm install直接就报错了,有没有大佬帮忙看看。

TypeError: Cannot read properties of null (reading ‘toString’)
at checkCreatorTypesVersion (D:\work\backpack-frontend\extensions\tool\scripts\preinstall.js:1:332)
at Object. (D:\work\backpack-frontend\extensions\tool\scripts\preinstall.js:1:533)
at Module._compile (node:internal/modules/cjs/loader:1358:14)
at Module._extensions…js (node:internal/modules/cjs/loader:1416:10)
at Module.load (node:internal/modules/cjs/loader:1208:32)
at Module._load (node:internal/modules/cjs/loader:1024:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12)
at node:internal/main/run_main_module:28:49

added 3 packages, changed 1 package, and audited 5 packages in 4s

我现在写工具都是在运行模式下写的。。。。 或者有没有运行模式下可以实现拷贝文件也可以,主要是找不到对应的api

创建扩展没遇到过这个报错,我都是直接使用creator编辑器内的扩展/创建扩展菜单创建的。

材质球如果是运行时需要多份的话,可以直接new Material材质球对象,传入对应的EffectAsset或者名称即可。

编辑器瞎制作多份资源的话,我一般是手动创建一份,然后设置好参数,最后使用await Editor.Message.request('asset-db', 'copy-asset', sourceUrl, targetUrl, { overwrite: false, rename: true });指令去复制,参考消息系统

1赞