今天写shader做了极光效果,打算放到天空盒时,突然发现由该Shader创建的material不支持skybox,放进去都是黑色。
原因:发现Shader中在Pass开头不知道什么时候写了一句 Cull Front,,导致Shader不能用作Skybox,删掉就正常了
shader代码:来源Unity官方中文课堂Hi Shader
Shader "Unlit/Auroras"
{
Properties
{
_SkyColor ("天空颜色 SkyColor", Color) = (0.4,0.4,0.4,1)
_SkyCurvature ("天空曲率 SkyCurvature", Range(0,10)) = 0.4
_AurorasTiling("激光平铺 AurorasTiling", Range(0.1,10)) = 0.4
[IntRange] _RayMarchStep("步进步数 RayMarchStep", Range(1,128)) = 64
_RayMarchDistance("步进距离 RayMarchDistance", Range(0.01,1)) = 2.5
_AurorasTex("AurorasTexture", 2D) = "white" {}
_AurorasColor("极光颜色 AurorasColor", Color) = (0.4,0.4,0.4,1)
_AurorasIntensity("极光强度 AurorasIntensity", Range(0.1,20)) = 3
_AurorasAttenuation("极光颜色 Auroras