Unity_Shader_用Shader绘制攻击范围的圆圈
2017-03-22 19:35
567 查看
借鉴点击打开链接 用Shader绘制攻击范围的圆圈,按自己的需求更改了Shader里面的代码
Shader "Custom/Circle" { Properties { _Color ("Color", Color) = (1,1,1,1) _Width("RoundWidth", float) = 0.03 } SubShader { Pass { ZTest Off ZWrite Off ColorMask 0 } Pass { Blend SrcAlpha OneMinusSrcAlpha CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" struct v2f { float4 pos : SV_POSITION; float4 oPos : TEXCOORD1; }; fixed4 _Color; int _Width; float4 _MainTex_ST; v2f vert (appdata_base v){ v2f o; o.pos = mul(UNITY_MATRIX_MVP, v.vertex); o.oPos = v.vertex; return o; } fixed4 frag(v2f i) : COLOR{ float dis = sqrt(i.oPos.x * i.oPos.x + i.oPos.y * i.oPos.y); float maxDistance = 0.05; if(dis > 0.5){ discard; }else{ float ringWorldRange = _Object2World[0][0]; float minDistance =(ringWorldRange * 0.43 - _Width)/ringWorldRange * 0.9; if(dis < minDistance){ discard; } _Color.a = (dis - minDistance)/(1 - minDistance) * 0.9; } return _Color; } ENDCG } } FallBack "Diffuse" }
相关文章推荐
- [Unity实战]攻击范围的绘制
- [Unity实战]攻击范围的绘制
- Unity&Shader基础篇-绘制网格+圆盘
- Unity-实现在防御塔在范围内只攻击先进来的
- Unity&Shader案例篇—绘制雨滴
- Unity&Shader基础篇-绘制网格+圆盘
- Unity一个智能火力点,根据攻击范围自动旋转攻击
- unity 多重纹理 绘制 shader处理
- Unity检测目标点是否在扇形攻击范围内
- Unity&Shader案例篇—绘制雨滴
- Unity&Shader案例篇—绘制雪花
- Unity一个智能火力点,根据攻击范围自动旋转攻击
- Unity&Shader基础篇-可编程GPU图形绘制管线
- Unity检测目标点是否在扇形攻击范围内
- unity中玩家扇形攻击范围
- WPF 如何绘制不规则按钮,并且有效点击范围也是不规则的
- Unity笔记 Graphics( 光 shader camera mesh )
- Unity Shader基础
- unity, UGUI Image shader
- untiy 3d ShaderLab_第 2 章Unity中Shader(着色器)的形态_3_Shader的数据接口:属性和 uniform变量