x


Self-illuminated bumped specular + rim lighting

Hey, I would really like to mix self-illuminated bumped specular and rim lighting shaders into one. But unfortunately I have almost 0 knowledge about shaders :( I would be so grateful if someone could help me out. Rim shader is here:

Shader "Example/Rim" {
    Properties {
      _MainTex ("Texture", 2D) = "white" {}
      _BumpMap ("Bumpmap", 2D) = "bump" {}
      _RimColor ("Rim Color", Color) = (0.26,0.19,0.16,0.0)
      _RimPower ("Rim Power", Range(0.5,8.0)) = 3.0
    }
    SubShader {
      Tags { "RenderType" = "Opaque" }
      CGPROGRAM
      #pragma surface surf Lambert
      struct Input {
          float2 uv_MainTex;
          float2 uv_BumpMap;
          float3 viewDir;
      };
      sampler2D _MainTex;
      sampler2D _BumpMap;
      float4 _RimColor;
      float _RimPower;
      void surf (Input IN, inout SurfaceOutput o) {
          o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;
          o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap));
          half rim = 1.0 - saturate(dot (normalize(IN.viewDir), o.Normal));
          o.Emission = _RimColor.rgb * pow (rim, _RimPower);
      }
      ENDCG
    } 
    Fallback "Diffuse"
  }
more ▼

asked Aug 14 '12 at 12:06 PM

HansK gravatar image

HansK
20 1 2 2

'bump' AKA 'normal' map makes a surface not flat, so light power is greater or lower based on this map.

'self-illum' effect ignores light at all cause it makes his own light.

so, i don't clearly imagine how do you want to combine bump and self-illum.

show an example (any pic) of effect you want to achieve

if you mean something like car headlamp bumped self-illuminated, then this effect simply can achieved using self-illumination mask. to make a light effect of these headlamps - simply spotlight with cookie.

Aug 14 '12 at 06:54 PM ScroodgeM

In your Edit > Render Settings, does it help you to brighten the Ambient Light color? I'm horrific with shaders, but that might be the solution if I"m seeing the problem right.

Aug 15 '12 at 12:26 AM Loius
(comments are locked)
10|3000 characters needed characters left

2 answers: sort voted first
Shader "Self-Illumin/Bumped Specular with Rim"
{
	Properties
	{
		_Color ("Main Color", Color) = (1,1,1,1)
		_SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1)
		_Shininess ("Shininess", Range (0.01, 1)) = 0.078125
		_MainTex ("Base (RGB) Gloss (A)", 2D) = "white" {}
		_Illum ("Illumin (A)", 2D) = "white" {}
		_BumpMap ("Normalmap", 2D) = "bump" {}
		_EmissionLM ("Emission (Lightmapper)", Float) = 0
	    _RimColor ("Rim Color", Color) = (0.26,0.19,0.16,0.0)
		_RimPower ("Rim Power", Range(0.5,8.0)) = 3.0
	}
	SubShader
	{
		Tags { "RenderType"="Opaque" }
		LOD 400
		CGPROGRAM
		
		#pragma surface surf BlinnPhong

		sampler2D _MainTex;
		sampler2D _BumpMap;
		sampler2D _Illum;
		fixed4 _Color;
		half _Shininess;
		float4 _RimColor;
		float _RimPower;

		struct Input
		{
			float2 uv_MainTex;
			float2 uv_Illum;
			float2 uv_BumpMap;
			float3 viewDir;
		};

		void surf (Input IN, inout SurfaceOutput o)
		{
			fixed4 tex = tex2D(_MainTex, IN.uv_MainTex);
			fixed4 c = tex * _Color;
			o.Albedo = c.rgb;
			o.Gloss = tex.a;
			o.Alpha = c.a;
			o.Specular = _Shininess;
			o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));
			half rim = 1.0 - saturate(dot(normalize(IN.viewDir), o.Normal));
			o.Emission = c.rgb * tex2D(_Illum, IN.uv_Illum).a + _RimColor.rgb * pow (rim, _RimPower);
		}
		
		ENDCG
	}
	FallBack "Self-Illumin/Bumped Specular"
}
more ▼

answered Aug 15 '12 at 08:41 PM

ScroodgeM gravatar image

ScroodgeM
7.6k 2 6

(comments are locked)
10|3000 characters needed characters left

alt text

The reason I want to add RimLighting is because a script will later smoothly change the color of rimlight on mouse hover (so it's basically like highlighting something). But the problem is just that the default BumpedSpecular looks way too dark, and Self-Illumin is just about right..

Hope I made it clear enough :D

rimlighting.jpg (116.6 kB)
more ▼

answered Aug 14 '12 at 11:09 PM

HansK gravatar image

HansK
20 1 2 2

This is a comment, not an answer - takes a bit of getting used to all the buttons around here, I know. :)

Aug 15 '12 at 12:24 AM Loius
(comments are locked)
10|3000 characters needed characters left
Your answer
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x425
x13
x12
x5
x5

asked: Aug 14 '12 at 12:06 PM

Seen: 1060 times

Last Updated: Aug 15 '12 at 08:41 PM