根据模型的Height进行颜色的渐变 (Shader相关)
有个Shader需求:
1.根据模型的Height进行颜色的渐变
2.a值读取给定的皮肤Texture
自己写了个,基本满足:
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld' Shader "Test/Shader_HeightColorLocalSpace" { Properties { _Color("SourceColor", Color) = (1,0,0,1) _Color2("DestColor2", Color) = (1,1,1,1) _ButtonY("ModelHeight", Range(0.1,1000)) = 1 _Glossiness("Smoothness", Range(0,1)) = 0.5 _Metallic("Metallic", Range(0,1)) = 0.0 _MainTex("MainTex",2D)= "white" {} } SubShader { Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" } Fog { Mode Off } Blend SrcAlpha OneMinusSrcAlpha ZWrite Off Cull Off Pass { ColorMaterial AmbientAndDiffuse SetTexture [_MainTex] { Combine texture * primary } } Pass { Offset 1, 1 Fog { Mode Off } ZWrite On ZTest LEqual Cull Off Lighting Off CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma multi_compile __ ENABLE_SPLITALPHA #include "UnityCG.cginc" fixed4 _Color; fixed4 _Color2; float _ButtonY; sampler2D _MainTex; struct appdata_t { float4 vertex : POSITION; half4 color : COLOR; float2 texcoord : TEXCOORD0; }; struct v2f { float4 vertex : POSITION; float2 uv : TEXCOORD1; half4 color : COLOR; }; v2f o; uniform float4 _MainTex_ST; v2f vert (appdata_t v) { o.vertex = UnityObjectToClipPos(v.vertex); o.uv = TRANSFORM_TEX(v.texcoord, _MainTex); o.color = (lerp(_Color, _Color2, o.vertex.y / _ButtonY)); return o; } half4 frag (v2f IN) : COLOR { half4 col; col.rgb = IN.color; fixed4 texcol = tex2D(_MainTex, IN.uv); col.a = texcol.a; // col.a = 1; return col; } ENDCG } } }
分类:
unity 知识
标签:
u3d Shader
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!