Hello i have custom shader that i have downloaded and used for about half a year, i modified it a little bit just to add emission and other stuff but i cant seem to figure out a way to add Fade rendering mode just like in standart Shader. I need it for my special half transparent object/material and i have to use this shader.
My shader :
Shader "Curved/CurvedSurfaceFade" {
Properties {
_Color ("Color", Color) = (1,1,1,1)
_MainTex ("Albedo (RGB)", 2D) = "white" {}
_Emission("Emission", float) = 0
[HDR] _EmissionColor("Color", Color) = (0,0,0)
_Glossiness ("Smoothness", Range(0,1)) = 0.5
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 200
CGPROGRAM
// Physically based Standard lighting model, and enable shadows on all light types
#pragma surface surf Standard fullforwardshadows vertex:vert addshadow
//#pragma surface surf Lambert vertex:vert addshadow
// Use shader model 3.0 target, to get nicer looking lighting
#pragma target 3.0
#include "UnityCG.cginc"
sampler2D _MainTex;
struct Input {
float2 uv_MainTex;
};
fixed4 _Color;
fixed4 _EmissionColor;
half _Glossiness;
// Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
// See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
// #pragma instancing_options assumeuniformscaling
UNITY_INSTANCING_BUFFER_START(Props)
// put more per-instance properties here
UNITY_INSTANCING_BUFFER_END(Props)
#include "CurvedSurfaceCore.cginc"
void surf (Input IN, inout SurfaceOutputStandard o)
//void surf (Input IN, inout SurfaceOutput o)
{
// Albedo comes from a texture tinted by color
fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
o.Albedo = c.rgb;
o.Alpha = c.a;
o.Emission = c.rgb * tex2D(_MainTex, IN.uv_MainTex).a * _EmissionColor;
o.Smoothness = _Glossiness;
}
ENDCG
}
FallBack "Diffuse"
}
Example of the shader im using for better understanding if needed.
I dont have a solution for you. But we do have a shader subforum, which is probably more appropriate than the scripting subforum. Unity Engine - Unity Discussions
Also, this is literally the third identical thread you opened within 24 hours.
This is not only spamm but also against the forum rules. In literally all forums. Please stop.
Thanks for reply, after adding the entire line after #pragma (from what you send), im getting this warning : Duplicate #pragma surface found, ignoring: #pragma surface surf Standard fullforwardshadows alpha at line 32, and it doesnt do anything, my object is still fully opaque :(, any other idea ? Or any way i can help you help me ?
The description is quite obvious, isn’t it? You already have a line with “#pragma surface”, and that line is 14.
If you simply recompiled, the existing materials will not update their slot in the render queue. Create a new material to make sure it’s correctly placed into Transparent.
Other than that please heed my warning. You need to understand what you are doing; messing around with shaders otherwise is going to be immensely frustrating (heck it’s that already WITH deep shader knowledge) and will take a lot of time. Read the shader documentation (which is really badly written), and experiment with sample code. You are in Voodoo territory, so tread carefully.
Question: where do you calculate the fade? The alpha will be derived from the texture color * _Color. I see no modification at all, so unless your source texture has transparency in the A channel, there will be no fading.