当前位置:网站首页>Expansion method of unity scanning circle
Expansion method of unity scanning circle
2022-06-30 05:19:00 【Xiaosheng yunmu】
unity Scanning circle Circle extension method
Download address of engineering documents
complete shader Code
Shader "SongShaderDemo/RadiationCircle"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {
}
_CentorPoint("CentrePoint",Vector)= (0, 0, 0, 0)
_Dis("Float", Float) = 30// Maximum distance
_Range("Range", Range(0, 1.0)) = 0.01// Moving range
_LineWide("LineWide", Range(0, 1)) = 0.001// Line width
_Color("color",Color) = (1,1,1,1) // Color , It's usually used fixed4
_TransColor("TransColor",Color) = (1,1,1,0) // Color , It's usually used fixed4
_FillTex("FillTexture", 2D) = "white" {
}
_FillColor("FillColor",Color) = (1,1,1,1) // Color , It's usually used fixed4
}
SubShader
{
Tags {
"RenderType" = "Transparent" "IgnoreProjector" = "True" "Queue" = "Transparent" }
LOD 100
Blend SrcAlpha OneMinusSrcAlpha
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv0 : TEXCOORD0;
float2 uv : TEXCOORD2;
float4 vertex : SV_POSITION;
float3 worldPos : TEXCOORD3;
};
CBUFFER_START(UnityPerMaterial)
sampler2D _MainTex;
float4 _MainTex_ST;
sampler2D _FillTex;
fixed4 _FillColor;
float4 _FillTex_ST;
float4 _CentorPoint;
float _Dis;
float _Range;
float _LineWide;
fixed4 _Color;
fixed4 _TransColor;
CBUFFER_END
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _FillTex);
o.uv0 = TRANSFORM_TEX(v.uv, _MainTex);
o.worldPos = mul(unity_ObjectToWorld, v.vertex).xyz;
return o;
}
fixed4 frag (v2f i) : SV_Target
{
fixed4 col = tex2D(_MainTex, i.uv0);
float dis = distance(i.worldPos, _CentorPoint.xyz);
float rangeMax = _Dis * _Range ;
float rangeMin = (_Dis)*_Range - _LineWide;
fixed4 Circle= _TransColor;
fixed4 FillCol = _TransColor;
if (dis> rangeMin&&dis< rangeMax)
{
Circle= fixed4(_Color.xyz, ((dis - rangeMin) / _LineWide)*(1 - _Range));
}
if (dis < rangeMin)
{
fixed4 FillTex = tex2D(_FillTex, i.uv);
if (FillTex.w!=0)
{
FillCol = fixed4(FillTex.xyz, (1 - _Range)) + _FillColor;
}
else
{
FillCol = FillTex + _FillColor;
}
}
fixed4 all = Circle + FillCol;
return all*all.w+ col*(1- all.w);
}
ENDCG
}
}
}
边栏推荐
- Log writing specification
- Unity packaging and publishing webgl error reason exception: failed building webgl player
- Installation and getting started with pytoch
- 很紧张,第一天做软件测试,需要做什么?
- Special folders in unity3d and their meanings
- [typescript] experimentaldecorators of vscode stepping pit
- [Motrix] download Baidu cloud files using Motrix
- Force buckle 977 Square of ordered array
- Unity multiple UI page turning left and right
- Responsive layout
猜你喜欢
![[notes] unity webgl input Chinese](/img/f7/805f510ff691227b4c2b529cc1099a.jpg)
[notes] unity webgl input Chinese

Writing unityshader with sublimetext

Ugui uses its own function to realize reverse mask

Unity + hololens2 performance test

Unity shader flat shadow

中文版PyCharm改为英文版PyCharm

遥感图像/UDA:Curriculum-Style Local-to-Global Adaptation for Cross-Domain Remote Sensing Image Segmentat

QT connecting external libraries

Connect() and disconnect() of socket in C #

Generate a slice of mesh Foundation
随机推荐
Unity3d- use animator and code to control task walking
Unity + hololens publishing settings
[typescript] defines the return value type of promise
Procedural animation -- inverse kinematics of tentacles
Gradient clip in dqn
Chapter 10 of OpenGL super classic (7th Edition) calculation shader
[Motrix] download Baidu cloud files using Motrix
MinGW-w64下载文件失败the file has been downloaded incorrectly!
OpenGL draws model on QT platform to solve the problem of initializing VAO and VBO
Revit Secondary Development - - Project use Panel features not opened
Responding with flow layout
Set a plane to camera viewport
Unity ugui text value suspended enlarged display add text background
Unity shader flat shadow
Unity3d position the model, rotate, drag and zoom around the model to obtain the center point of the model
The difference between SVG and canvas
Intellj idea generates jar packages for projects containing external lib to other projects. The method refers to the jar package written by itself
Display steerable 3D model in front of unity UI
Pyinstaller flash back
[notes] unity webgl input Chinese