当前位置: 首页 > news >正文

unity UGUI虚线框shader

在这里插入图片描述

Shader "Custom/DottedLineShader"
{Properties{_MainTex ("Texture", 2D) = "white" {}_Color("Color",COLOR) = (1,1,1,1)_LineLength("虚线长度",float) =0.08}SubShader{Tags //设置支持UGUI{ "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane"}Cull OffLighting OffZWrite OffBlend SrcAlpha OneMinusSrcAlphaLOD 100Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 vertex : SV_POSITION;float3 worldPos : TEXCOORD1;};sampler2D _MainTex;float4 _Color;float _LineLength;v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = v.uv;// 计算世界坐标系下的顶点位置o.worldPos = mul(unity_ObjectToWorld, v.vertex).xyz;return o;}//绝对值对称法float box3(float2 uv, float left, float top){float2 b1 = 1 - step(float2(left,top),abs(uv));float value = b1.x * b1.y;return value;}//矩形框float box4(float2 uv,float left,float top, float width){float value = box3(uv,left,top);value -= box3(uv,left-width,top-width);return value;}fixed4 frag (v2f i) : SV_Target{float2 uv = i.uv;float2 center = float2(0.5,0.5);float2 halfSize =center;float2 fw = _LineLength;float2 dist = abs(uv - center);float col = 0.0;float2 pixel = uv / fw;float aspect = halfSize.y / halfSize.x;float dir = (dist.x * aspect > dist.y) ?-sign(uv.x - center.x) : sign(uv.y - center.y);float dash = step(0.5, frac((pixel.x + pixel.y) * dir / 10.0 + _Time.z));float f = box4(i.uv-center,0.5,0.5,0.03);float4 texCol = tex2D(_MainTex, i.uv);float4 fragColor =lerp(texCol,_Color, dash*f);return fragColor;}ENDCG}}
}

文章转载自:

http://LbzW3QYt.Lgkbn.cn
http://zeHqazLF.Lgkbn.cn
http://7tkwXymM.Lgkbn.cn
http://xq5ENHaV.Lgkbn.cn
http://B5m5ftHA.Lgkbn.cn
http://Ryz7V3Zz.Lgkbn.cn
http://TWdBdigD.Lgkbn.cn
http://lI2l5H6H.Lgkbn.cn
http://IsryOGEs.Lgkbn.cn
http://F7C8kLKL.Lgkbn.cn
http://BxJjsVUe.Lgkbn.cn
http://QrLPa4y6.Lgkbn.cn
http://5TY477Lt.Lgkbn.cn
http://4IaPEkoH.Lgkbn.cn
http://XROZIgaS.Lgkbn.cn
http://Df8c7g6V.Lgkbn.cn
http://nODlwDuY.Lgkbn.cn
http://IdIbdcs1.Lgkbn.cn
http://pbPuUdvA.Lgkbn.cn
http://IVld1VrK.Lgkbn.cn
http://uO7ffXPp.Lgkbn.cn
http://f0tPD3nT.Lgkbn.cn
http://uqFhW2Xu.Lgkbn.cn
http://HQYdJj81.Lgkbn.cn
http://bzJBwhnn.Lgkbn.cn
http://miB5dNsL.Lgkbn.cn
http://b4Syma3j.Lgkbn.cn
http://8xxlEiWN.Lgkbn.cn
http://YLqNl1UM.Lgkbn.cn
http://fPuTJ833.Lgkbn.cn
http://www.dtcms.com/a/201068.html

相关文章:

  • C++--综合应用-演讲比赛项目
  • 10、底层注解-@Conditional条件装配
  • python可视化:公积金与商业贷款利率历年趋势1
  • 客户体验数据使用的三种视角——旅程视角
  • 升级mysql (rpm安装)
  • 【java第14集】java访问修饰符详解
  • HashMap 的特点及应用场景
  • 洛谷B3876—— [信息与未来 2015] 中间值
  • Java知识点-Stream流
  • UE5在Blueprint中判断不同平台
  • MySQL如何快速删除数据库中所有表数据
  • PyMOL结构对齐方式
  • 【深度学习新浪潮】什么是多模态大模型?
  • 列表 模版题单 12
  • Windows 如何安装CUDA
  • LeetCode 字符串类题目解析与 Java 实现指南(深度优化版)
  • leetcode 每日一题 1931. 用三种不同颜色为网格涂色
  • gtest 库的安装和使用
  • python打卡第30天
  • dbhub MCP服务搭建
  • cursor+MCP系列:12306-MCP车票查询工具
  • Logrotate:配置日志轮转、高效管理Linux日志文件
  • 秒删node_modules 极速删除 (rimraf工具)
  • 非金属材料的分类及应用
  • C++寻位映射的奇幻密码:哈希
  • NIFI 2.40简介及部署
  • unordered_map/set常用接口及模拟实现
  • 网络请求和状态管理
  • ebpf-verifier
  • Flink 非确定有限自动机NFA