关于Unity Shader转Cocos Creator Shader的问题

  • Creator 版本: 2.4.3

  • 目标平台:Web Mobile

  • 重现方式:无

  • 首个报错:无

  • 之前哪个版本是正常的:Unity

  • 手机型号:iOS & Android

  • 手机浏览器:WebView

  • 编辑器操作系统:

  • 重现概率:

最近需要将一个Unity的Shader翻译成CocosCreator可以用的,但是Unity Shader可以使用双Pass,不知道在Cocos Creator里如何一个材质使用多个Pass。


按照官方的说法是可以特殊处理,但是不知道如何特殊处理?
现在根据官方的文档,使用多个Pass,这样使用。

但是在编辑中,只能选择一个。

请问各位大佬,该如何在一个材质上特殊处理,使用多个pass?

没有双pass可用 :joy:

如果只是要顺序执行多个 pass,那么挨着写就好了,可以参考 toon.effect

如果 pass 有需要在特定条件下才执行,指定 phase 就可以,引擎内部目前有 forward-add 和 shadow-caster phase

这个居然是这么用的啊。。

CCEffect %{
techniques:

  • name: transparent
    passes:
    • vert: vs:vert
      frag: fs:frag
      properties: &props
      _color: { value: [0, 0, 0, 1], editor: { type: color } }
    • vert: shadow-vs:vert
      frag: shadow-fs:frag
      properties: *props
      }%
      这样写 只执行了 第一个vert 没有执行第二个vert 错误在哪儿的

试了一下编辑器自带的toon.effect貌似也无法使用多个pass,不执行。