如何使用编辑器扩展脚本修改material属性并保存

  • Creator 版本:3.8.2

  • 目标平台: 小游戏

想写一个 编辑器扩展脚本, 用于自动修改 material 素材的属性, 要如何编写呢?

image

这是所有的 asset-db message

image

我看每个material, 有一个 uuid 对应的 JSON, 是去使用代码去更新这个 JSON 文件吗??

image

希望大佬提供一个开发的流程. 感谢.

有没有大佬给个思路呀? :face_with_raised_eyebrow:

周末还这么卷啊

1赞

闲着也是闲着~ :upside_down_face:

有官方大佬给个示例吗? 文档里没找到呀. 使用扩展脚本修改material属性?

求指导 :sob:, 提供几个需要的api也可以. 谢谢

日常逛论坛路过。。。
刚好之前写ScriptableAsset插件的时候研究过
可以参考引擎的material材质的inspector脚本
引擎源码目录下
editor\inspector\assets\material.js

思路:

  1. 先向场景进程查material
this.material = await Editor.Message.request('scene', 'query-material', this.asset.uuid);
  1. 然后再修改
    不知道你要修改到什么程度,具体看看inspector脚本
  2. 保存
await Editor.Message.request('scene', 'apply-material', this.asset.uuid, this.material);

感谢解惑! 我研究一下. :pray:

老哥研究的咋样,目前也想批量修改材质,也卡住了 :sob:

有一些编辑器内调用的方法,可以在菜单->开发者->消息调试工具,中看到各个操作所发的消息(记得点击开始的三角形按钮才会开始监听),但是要注意的是,如果没有写入插件文档的消息,我们可能会做改动。

测试了下,修改材质的effect保存,没有监听到任何消息,选择节点时有消息 :sweat_smile:

这个要记得先点一下
image

使用了,就是使用了之后才成功监听到,选择节点时的信息事件