Unity怎样获得 shader 为 Self-Illumin/Diffuse 的alpha值
来源:互联网 发布:什么桌面壁纸软件好 编辑:程序博客网 时间:2024/05/18 01:12
unity 的 build-in shader “Self-Illumin/Diffuse” 源码如下
Shader "Self-Illumin/Diffuse" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_MainTex ("Base (RGB) Gloss (A)", 2D) = "white" {}
_Illum ("Illumin (A)", 2D) = "white" {}
_EmissionLM ("Emission (Lightmapper)", Float) = 0
}
SubShader {
Tags { "RenderType"="Opaque" }
LOD 200
CGPROGRAM
#pragma surface surf Lambert
sampler2D _MainTex;
sampler2D _Illum;
fixed4 _Color;
struct Input {
float2 uv_MainTex;
float2 uv_Illum;
};
void surf (Input IN, inout SurfaceOutput o) {
fixed4 tex = tex2D(_MainTex, IN.uv_MainTex);
fixed4 c = tex * _Color;
o.Albedo = c.rgb;
o.Emission = c.rgb * tex2D(_Illum, IN.uv_Illum).a;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Self-Illumin/VertexLit"
}
如果你想通过Inspector面板获得_Color的alpha值,只用把CGPROGRAM的#pragma行改为
#pragma surface surf Lambert alpha 即可(就是添加了个alpha),
至于Tags { "RenderType"="Opaque" } 是否需要把Opaque改成Transparent(这样有什么好处?!)
有待进一步学习探索。。。tag 里面加上"Queue" = "Transparent"可以保证此物体最后渲染,至少是在
Opaque之后
- Unity怎样获得 shader 为 Self-Illumin/Diffuse 的alpha值
- Unity Shader Bump Diffuse
- Unity Shader-兰伯特光照模型与Diffuse Shader
- Unity Shader-兰伯特光照模型与Diffuse Shader
- 【Unity Shaders】Diffuse Shading——创建一个基本的Surface Shader
- Unity Shader Alpha混合 Blending
- <Shader>Unity Shader 中的 alpha测试
- 【Unity Shader】概述以及Diffuse shader和unity5新功能Standard shader
- Unity Shader (四)Alpha测试(alpha test)
- Unity 中用 Vertex & Fragment Shader 实现 surface shader 中的 Diffuse 和 Decal
- Shader:Diffuse+CubeMap+LightMap
- <Unity>Shader的内置值
- Unity之Shader过滤掉不带Alpha通道贴图的背景颜色 - 四
- Unity Android平台下针对Alpha分离的优化---三张Alpha贴图合并为一张
- 【Unity Shaders】Diffuse Shading——向Surface Shader添加properties
- 【Unity Shaders】Diffuse Shading——在Surface Shader中使用properties
- unity diffuse 漫反射
- 【原】Shader:Diffuse+CubeMap+LightMap
- zoj-3624(Count Path Pair)组合数+乘法逆元
- 黑马程序员——IO/输入输出
- 企业内部软件开发的特点和模式
- 14 0502
- Adb驱动装好,但adb devices找不到设备
- Unity怎样获得 shader 为 Self-Illumin/Diffuse 的alpha值
- 重新獲取ip的命令
- 外媒总结马航失联报告3大看点 劫机可能增加
- Cookie 与session
- ACM-博弈之Play a game——hdu1564
- 关于arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu这个交叉编译工具链
- 花样作死错误锦集。
- hdu 1809 SG函数
- vc 位图操作 BITMAPINFO 赋值