新手请教一个问题,关于自定义的材质

cc版本是3.8.0
参考网上的资料和内置的for2d/builtin-sprite.effect自定义了一个effect
然后新建了一个material,并选中了自定义的effect

有以下几个问题

  1. material中的USE_INSTANCING为什么不显示,当选择builtin-unlit时会显示,但选中自定义的材质时就不显示了,然后选中不选中感觉没什么特别的提示,也没有保存按钮
  2. material是不是只能应用在一个node上,当多个node应用同一个material时,修改其中任何一个node的material,另一个也会发生变化,这样是不是意味着有多少个node就必须创建多少个material?
  1. USE_INSTANCING 只有 3D 才有,2D 是没有的,比如 sprite
  2. 一个材质文件,表示一个材质实例。 相同效果,使用同一个材质就行。 如果想要不同的效果,就需要使用多个材质。
  3. sprite 的颜色,位置,旋转,缩放,透明度的修改是通过顶点属性传递的,不在材质上,这些的修改不会影响材质。
  4. 尽可能使用同一个材质,否则会打断合批,增加DC。 当 DC 值过大时(比如80+),是会影响性能的
  5. 自定义的 sprite shader,可以借助颜色来做一些效果控制。 但前提是,颜色就不能用于渲染了。 这是一个小tip,自行取舍。
1赞

明白了,谢谢