- Home /
How to make line renderer glow like any other 3d object using custom shader?
Hello, I am trying to learn making custom shaders. And here's a thing that I am stuck at: I have a line made with line renderer and a material applied to it. What I am trying to achieve is to make the sides of the line glow. Something like lightsaber effect would be optimal. I have an idea of how to make simple 3d object glow in general, but I think it's different for a line renderer. I tried adding the same lines of code from my previous shader, which worked for a 3d object, but for line renderer it has not glow at the edges. Any help will be appreciated:) Thank you in advance!
Shader "Custom/:Laser-Glow-Shader"
{
Properties
{
_ColorTint ("Color Tint", Color) = (1, 1, 1, 1)//main color
_MainTex ("Base (RGB)", 2D) = "white" {}//texture
_RimColor("Rim Color", Color) = (1, 1, 1, 1)// glow color
_RimPower("Rim Power", Range(1.0, 10.0)) = 3.0//glow strenght
}
SubShader
{
Tags { "RenderType"="Opaque" }
Tags { "LightMode" = "Vertex" }
CGPROGRAM
#pragma surface surf Lambert
struct Input
{
float4 color : Color;
float2 uv_MainTex;//2 params to adjust
float3 viewDir;//3 params to adjust
};
float4 _ColorTint;
sampler2D _MainTex;
float4 _RimColor;
float _RimPower;
void surf (Input IN, inout SurfaceOutput o)
{
IN.color = _ColorTint;
o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb * IN.color;
half rim = 1.0 - saturate(dot(normalize(IN.viewDir), o.Normal));
o.Emission = _RimColor.rgb * pow(rim, _RimPower);
}
ENDCG
}
FallBack "Diffuse"
}
Your answer
Follow this Question
Related Questions
Using custom tree shaders? 1 Answer
Simple shader question... 1 Answer
Problem with custom shader on ios 0 Answers
Cannot paint Texture onto Terrain using Custom Material 2018.4 1 Answer
Rune glow effect on stones? 1 Answer