今天尝试写一个multi pass shader,但其中有一个Pass是surface pass,总是莫名奇妙地报错。后来看到下面帖子:
http://forum.unity3d.com/threads/achieving-a-multi-pass-effect-with-a-surface-shader.96393/
此帖3楼中写道:“
You can add arbitrary passes while using a surface shader.
You just stick everything else in Pass {} tags and ensure that your surface shader isn't inside any of them (as Unity will generate them as it parses the surface shader).
”
即multi Pass shader中的surface Pass都不要加Pass{}标签。因为surface Pass在编译时会自动生成Pass{}标签。
---
另外一个相关的帖子:http://answers.unity3d.com/questions/354774/index.html?sort=oldest