当前位置:网站首页>Unity2D_线框材质
Unity2D_线框材质
2022-08-09 19:20:00 【不可_收_圾】
一.这个好像是以UV分隔

Shader "Custom/Wireframe"
{
Properties
{
_Color("Color",Color) = (1.0,1.0,1.0,1.0)
_EdgeColor("Edge Color",Color) = (1.0,1.0,1.0,1.0)
_Width("Width",Range(0,1)) = 0.2
}
SubShader
{
Tags
{
"Queue" = "Transparent"
"IgnoreProjector" = "True"
"RenderType" = "Transparent"
}
Blend SrcAlpha OneMinusSrcAlpha
LOD 200
Cull Front
zWrite off
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#include "UnityCG.cginc"
struct a2v {
half4 uv : TEXCOORD0;
half4 vertex : POSITION;
};
struct v2f {
half4 pos : SV_POSITION;
half4 uv : TEXCOORD0;
};
fixed4 _Color;
fixed4 _EdgeColor;
float _Width;
v2f vert(a2v v)
{
v2f o;
o.uv = v.uv;
o.pos = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 frag(v2f i) : COLOR
{
fixed4 col;
float lx = step(_Width, i.uv.x);
float ly = step(_Width, i.uv.y);
float hx = step(i.uv.x, 1.0 - _Width);
float hy = step(i.uv.y, 1.0 - _Width);
col = lerp(_EdgeColor, _Color, lx * ly * hx * hy);
return col;
}
ENDCG
}
Blend SrcAlpha OneMinusSrcAlpha
LOD 200
Cull Back
zWrite off
Pass {
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#include "UnityCG.cginc"
struct a2v
{
half4 uv : TEXCOORD0;
half4 vertex : POSITION;
};
struct v2f
{
half4 pos : SV_POSITION;
half4 uv : TEXCOORD0;
};
fixed4 _Color;
fixed4 _EdgeColor;
float _Width;
v2f vert(a2v v)
{
v2f o;
o.uv = v.uv;
o.pos = UnityObjectToClipPos(v.vertex);
return o;
}
fixed4 frag(v2f i) : COLOR
{
fixed4 col;
float lx = step(_Width, i.uv.x);
float ly = step(_Width, i.uv.y);
float hx = step(i.uv.x, 1.0 - _Width);
float hy = step(i.uv.y, 1.0 - _Width);
col = lerp(_EdgeColor, _Color, lx * ly * hx * hy);
return col;
}
ENDCG
}
}
FallBack "Diffuse"
}
二.以顶点连线分隔

在Unity资源商店里就有:UCLA Wireframe Shader

参考:Unity Shader物体线框
https://www.cnblogs.com/Haha1999/p/15662830.html
边栏推荐
猜你喜欢

Toronto Research Chemicals加米霉素-d4说明书

分数阶混沌系统李雅普指数和分岔图

Number of daffodils within a thousand

win10配置CenterNet环境

Transformer如何用于3D视觉?阿联酋MBZUAI最新《3D视觉Transformers处理》综述,涵盖100+种方法

Can I make a TCP connection without accept?

【kali-权限提升】(4.2.7)社会工程学工具包:权限维持创建后门、清除痕迹

mysql duplicate data group multiple latest records

使用Mock技术模拟数据

访问控制知识
随机推荐
axi4c
Two methods of implementing inverted strings in C language
buuctf (Adventure 2)
MySQL笔记-06 基础SQL操作
Toronto Research Chemicals单羟基舒更葡糖钠说明书
纸业供应链协同管理系统:重构纸业智慧供应网络,支撑企业数字化转型升级
PyTorch框架的 torch.cat()函数
NetCore路由的Endpoint模式
【二叉树】树的子结构
明明加了唯一索引,为什么还是产生重复数据?
Cholesterol-PEG-Thiol, CLS-PEG-SH, Cholesterol-PEG-Sulfhydryl for improved solubility
2.2 监督学习-1
mysql duplicate data group multiple latest records
Application of Acrel5000web Energy Consumption System in a College-Susie Week
Reverse Analysis of Unknown Cryptographic Protocol Based on Network Data Flow
STM32WB55的FUS更新及协议栈固件烧写方法
How to deal with keys when Redis is large?
线性表的定义和基本操作
Redis 大的情况下,key 要如何处理?
leetcode 二叉树的公共近祖先