UnityURPToonLitShaderExample着色器有时候会显示在Failed to compile里:
重新导入后会不再显示Failed to compile
UnityURPToonLitShaderExample着色器应用后,关闭项目再打开,妮露和甘雨的着色出现问题:
把人物删掉,重新导入,应用Shader,人物显示正常:
关闭项目重新打开后又出问题。
妮露的头发的渲染由两个材料完成,“前蝴蝶结”渲染大部分颜色:
“后发”渲染头发上的光泽,大部分是黑的:(可以看到出问题的时候头发光泽还在)
推测原因是把“后发”这个材料覆盖在了“前蝴蝶结”上。
解决方法:后发材料勾选Alpha Clipping。这个选项的意思应该是把贴图里黑色的部分设置为透明,让其他材料渲染。
关于下面的Cutoff:为0时预览材质球跟之前一样,大部分是黑的;稍微调大一点黑色消失,只剩下光泽;再调大一点光泽也消失。但是调这个对场景里的效果没影响。
但是甘雨的后背材料“肌”勾选Alpha Clipping没用。给衣服的材料“裙摆”勾选Alpha Clipping有用:
同时发现“裙摆”预览材质球的一些部分由黑色变透明,所以是“裙摆”该设置透明的部分没有透明,渲染成黑色,盖在了后背的材料“肌”上。
总之,所有预览材质球里有这种黑色部分的材料都应该勾选Alpha Clipping。如果没有,勾不勾选就没有区别。
从顶点着色器到片元着色器的结构体里的一个变量没有写语义
系统会自动加上这一段:
给自己写的着色器加阴影效果
解决方法:在Shader最后加Fallback "Diffuse",GPU用自定义的着色器渲染完会调用Diffuse着色器,Diffuse着色器是有阴影的。