130 lines
7.1 KiB
Plaintext
130 lines
7.1 KiB
Plaintext
/*
|
||
███████╗░█████╗░██████╗░░█████╗░███████╗ ███████╗██╗███████╗██╗░░░░░██████╗░
|
||
██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔════╝ ██╔════╝██║██╔════╝██║░░░░░██╔══██╗
|
||
█████╗░░██║░░██║██████╔╝██║░░╚═╝█████╗░░ █████╗░░██║█████╗░░██║░░░░░██║░░██║
|
||
██╔══╝░░██║░░██║██╔══██╗██║░░██╗██╔══╝░░ ██╔══╝░░██║██╔══╝░░██║░░░░░██║░░██║
|
||
██║░░░░░╚█████╔╝██║░░██║╚█████╔╝███████╗ ██║░░░░░██║███████╗███████╗██████╔╝
|
||
╚═╝░░░░░░╚════╝░╚═╝░░╚═╝░╚════╝░╚══════╝ ╚═╝░░░░░╚═╝╚══════╝╚══════╝╚═════╝░
|
||
|
||
░██████╗██╗░░██╗░█████╗░██████╗░███████╗██████╗░
|
||
██╔════╝██║░░██║██╔══██╗██╔══██╗██╔════╝██╔══██╗
|
||
╚█████╗░███████║███████║██║░░██║█████╗░░██████╔╝
|
||
░╚═══██╗██╔══██║██╔══██║██║░░██║██╔══╝░░██╔══██╗
|
||
██████╔╝██║░░██║██║░░██║██████╔╝███████╗██║░░██║
|
||
╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝╚═════╝░╚══════╝╚═╝░░╚═╝
|
||
|
||
█▀▀▄ █──█ ▀▀█▀▀ █──█ █▀▀ ░█▀▀▄ █▀▀ ▀█─█▀ █▀▀ █── █▀▀█ █▀▀█ █▀▀ █▀▀█
|
||
█▀▀▄ █▄▄█ ─░█── █▀▀█ █▀▀ ░█─░█ █▀▀ ─█▄█─ █▀▀ █── █──█ █──█ █▀▀ █▄▄▀
|
||
▀▀▀─ ▄▄▄█ ─░█── ▀──▀ ▀▀▀ ░█▄▄▀ ▀▀▀ ──▀── ▀▀▀ ▀▀▀ ▀▀▀▀ █▀▀▀ ▀▀▀ ▀─▀▀
|
||
____________________________________________________________________________________________________________________________________________
|
||
|
||
▄▀█ █▀ █▀ █▀▀ ▀█▀ ▀ █░█ █░░ ▀█▀ █ █▀▄▀█ ▄▀█ ▀█▀ █▀▀ ▄█ █▀█ ▄█▄ █▀ █░█ ▄▀█ █▀▄ █▀▀ █▀█ █▀
|
||
█▀█ ▄█ ▄█ ██▄ ░█░ ▄ █▄█ █▄▄ ░█░ █ █░▀░█ █▀█ ░█░ ██▄ ░█ █▄█ ░▀░ ▄█ █▀█ █▀█ █▄▀ ██▄ █▀▄ ▄█
|
||
____________________________________________________________________________________________________________________________________________
|
||
License:
|
||
The license is ATTRIBUTION 3.0
|
||
|
||
More license info here:
|
||
https://creativecommons.org/licenses/by/3.0/
|
||
____________________________________________________________________________________________________________________________________________
|
||
This shader has NOT been tested on any other PC configuration except the following:
|
||
CPU: Intel Core i5-6400
|
||
GPU: NVidia GTX 750Ti
|
||
RAM: 16GB
|
||
Windows: 10 x64
|
||
DirectX: 11
|
||
____________________________________________________________________________________________________________________________________________
|
||
*/
|
||
|
||
Shader "Ultimate 10+ Shaders/Force Field"
|
||
{
|
||
Properties
|
||
{
|
||
_MainTex ("Texture", 2D) = "white" {}
|
||
[HDR] _Color ("Color", Color) = (1,1,1,1)
|
||
|
||
_FresnelPower("Fresnel Power", Range(0, 10)) = 3
|
||
_ScrollDirection ("Scroll Direction", float) = (0, 0, 0, 0)
|
||
}
|
||
SubShader
|
||
{
|
||
Tags { "RenderType"="Transparent" "IgnoreProjector"="True" "Queue"="Transparent" }
|
||
Blend SrcAlpha OneMinusSrcAlpha
|
||
LOD 100
|
||
Cull Back
|
||
Lighting Off
|
||
ZWrite On
|
||
|
||
Pass
|
||
{
|
||
CGPROGRAM
|
||
#pragma vertex vert
|
||
#pragma fragment frag
|
||
|
||
#include "UnityCG.cginc"
|
||
|
||
#ifndef SHADER_API_D3D11
|
||
#pragma target 3.0
|
||
#else
|
||
#pragma target 4.0
|
||
#endif
|
||
|
||
struct appdata
|
||
{
|
||
float4 vertex : POSITION;
|
||
float2 uv : TEXCOORD0;
|
||
fixed3 normal : NORMAL;
|
||
};
|
||
|
||
struct v2f
|
||
{
|
||
float2 uv : TEXCOORD0;
|
||
float rim : TEXCOORD1;
|
||
float4 position : SV_POSITION;
|
||
};
|
||
|
||
sampler2D _MainTex;
|
||
float4 _MainTex_ST;
|
||
|
||
fixed4 _Color;
|
||
half _FresnelPower;
|
||
half2 _ScrollDirection;
|
||
|
||
|
||
// 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)
|
||
|
||
fixed3 viewDir;
|
||
v2f vert (appdata vert)
|
||
{
|
||
v2f output;
|
||
|
||
output.position = UnityObjectToClipPos(vert.vertex);
|
||
output.uv = TRANSFORM_TEX(vert.uv, _MainTex);
|
||
|
||
viewDir = normalize(ObjSpaceViewDir(vert.vertex));
|
||
output.rim = 1.0 - saturate(dot(viewDir, vert.normal));
|
||
|
||
output.uv += _ScrollDirection * _Time.y;
|
||
|
||
return output;
|
||
}
|
||
|
||
fixed4 pixel;
|
||
fixed4 frag (v2f input) : SV_Target
|
||
{
|
||
pixel = tex2D(_MainTex, input.uv) * _Color * pow(_FresnelPower, input.rim);
|
||
pixel = lerp(0, pixel, input.rim);
|
||
|
||
return clamp(pixel, 0, _Color);
|
||
}
|
||
ENDCG
|
||
}
|
||
}
|
||
FallBack "Diffuse"
|
||
}
|