Quantcast
Channel: Questions in topic: "shader"
Viewing all articles
Browse latest Browse all 7500

Shader: get nearest point light's color, direction and general custom lighting questions

$
0
0
Hello, in a Unity3D CG shader I would like to access the nearest point light's color and direction and output a computed color as the shaded object's color in my custom lighting function. (The custom lighting function is run after the surf function which I deduced from the out parameter in the surf function and the in parameter in the light function.) My scene has several point lights and 1 directional light. What are the required variables names? According to https://docs.unity3d.com/Manual/SL-UnityShaderVariables.html it is _LightColor0 ? And the lightDir parameter? Which direction are the *x*Dir parameters from to? What I want to achieve is having a sphere around a point light be colored by the color of the point light, accounting for view direction (ie. plasticity of sphere). The sphere and the light is a firework particle. The sphere's normals are pointing from the center outside, parallel to the point light direction. Unity3D's built-in shader don't color the sphere probably because of that very reason of the sphere's normals. Inverting the sphere's normals occludes the point light. Here's my current shader code: Shader "Custom/Firework" { Properties { _Transparency ("Transparency", Range(0,1)) = 0.5 } SubShader { Tags { "RenderType"="Transparent" "LightMode"="ForwardBase" } LOD 200 CGPROGRAM #pragma surface surf InnerLight // Use shader model 3.0 target, to get nicer looking lighting #pragma target 3.0 struct Input { float2 uv_MainTex; }; float _Transparency; void surf (Input IN, inout SurfaceOutput o) { o.Alpha = _Transparency; } half4 LightingInnerLight (SurfaceOutput s, half3 lightDir, half3 viewDir, half atten) { half4 c; c.rgb = dot(lightDir, viewDir) * atten * _LightColor0.rgb; c.a = s.Alpha; return c; } ENDCG } FallBack "Diffuse" }

Viewing all articles
Browse latest Browse all 7500

Latest Images

Trending Articles



Latest Images