Unity Shader 小功能之 透明
来源:互联网 发布:股票 潜伏日历 软件 编辑:程序博客网 时间:2024/05/01 14:49
1.在Properties块中添加一个新的property,这使得我们可以全局控制透明度。
Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _TransVal ("Transparency Value", Range(0,1)) = 0.5 }
2.改变渲染队列
Tags { "Queue"="Transparent" }
Tags { "Queue"="Transparent" }一步将决定半透明物体和不透明物体之间正确的渲染关系,如果没有正确设置,那么很有可能就会出现后面的物体跑到了透明物体的前面。
3.在#pragma声明中添加一个新的参数:alpha参数。
CGPROGRAM #pragma surface surf Lambert alpha
解释:再解释一遍上面这句声明的意思。使用名为surf的Surface Function,使用内置的Lambert光照函数,开启透明通道。
4.在surf()函数中添加控制透明度的代码。
void surf (Input IN, inout SurfaceOutput o) { half4 c = tex2D (_MainTex, IN.uv_MainTex); o.Albedo = c.rgb; o.Alpha = c.b * _TransVal; }
完整代码示例:
Shader "Custom/SimpleAlpha" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _TransVal ("Transparency Value", Range(0,1)) = 0.5 } SubShader { Tags { "RenderType"="Opaque" "Queue"="Transparent"} LOD 200 CGPROGRAM #pragma surface surf Lambert alpha sampler2D _MainTex; float _TransVal; struct Input { float2 uv_MainTex; }; void surf (Input IN, inout SurfaceOutput o) { half4 c = tex2D (_MainTex, IN.uv_MainTex); o.Albedo = c.rgb; o.Alpha = c.b * _TransVal; } ENDCG } FallBack "Diffuse" }
相关链接:http://blog.csdn.net/candycat1992/article/details/28630459
0 0
- Unity Shader 小功能之 透明
- unity透明shader
- 【猫猫的Unity Shader之旅】之透明材质
- unity shader学习笔记(八)——Unity中的透明效果之透明测试
- unity shader学习笔记(九)——Unity中的透明效果之透明混合
- unity自发光透明shader
- unity自发光透明shader
- Unity Shader学习笔记:透明
- 【猫猫的Unity Shader之旅】之Vertex&Fragment Shader下的透明
- Shader之透明遮挡
- Unity Shader 之Geometry Shader
- unity shader学习笔记(十二)——Unity中的透明效果之双面渲染透明效果
- Unity Shader 六 双面透明效果
- Unity Shader入门精要总结--透明效果
- 【Unity Shader入门精要】— 透明效果
- Unity Shader 之 RollingImage
- Unity Shader 之 Halo
- Unity Shader之Blending
- C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?
- PHP实现插入排序
- Android自定义下拉刷新动画--仿百度外卖下拉刷新
- 奋斗吧,程序员——第十四章 从别后忆相逢,几回魂梦与君同
- bootstrap学习心得笔记--第一节【bootstrap配置】
- Unity Shader 小功能之 透明
- 大数据比赛(2)-特征那点儿事
- Android Studio 集成版本控制工具的使用
- java的web开发浏览器onbeforeunload事件
- The 5th Zhejiang Provincial Collegiate Programming Contest(ZOJ2965—ZOJ2976)
- C#类反射,运行时创建类对象,读取设置属性值列子。
- iOS网络编程4--使用SwiftyJSON解析JSON数据
- dm pieces
- 互联网从业人员跳槽手册