查看: 2484|回复: 0
打印 上一主题 下一主题

Unity3d 一个简单的玻璃效果实现

[复制链接]

1602

主题

1

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
24658
精华
6

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-4-25 13:39:50 |只看该作者 |倒序浏览
官网的demo“Bootcamp Demo”里面有个玻璃的shader,感觉效果不错还挺简单的,于是修改了下,本来那个Shader需要3张图,这里为了简单起见,改成用一张图,现在分享给大家,用来实现简单的玻璃效果是没有问题的。
1.首先创建一个shader,然后直接双击文件,系统会用默认编辑器打开它,将下面的代码直接覆盖即可。

  Shader "Glass" {  Properties { _MainTex ("Main Texture", 2D) = "white" {} }   Subshader  { Tags { "Queue" = "Transparent" }   Pass  { Cull Off  ColorMask RGB Blend SrcAlpha OneMinusSrcAlpha    CGPROGRAM #pragma vertex vert  #pragma fragment frag   #include "UnityCG.cginc"      uniform sampler2D _MainTex; uniform float _ReflectValue;     s***ct vertInput { float4 vertex : POSITION; float3 normal : NORMAL; float2 texcoord : TEXCOORD0; };   s***ct vertOutput  { float4 pos : POSITION;  float2 texcoord : TEXCOORD0; float3 reflectVec : TEXCOORD1; };       vertOutput vert(vertInput i) { vertOutput o;   //Set position. o.pos = mul (UNITY_MATRIX_MVP, i.vertex);     //Set texcoord. o.texcoord = i.texcoord;   //Calculate normal and position in camera space. float3 normWorld = normalize( mul((float3x3)UNITY_MATRIX_IT_MV, i.normal)); float3 posWorld = mul(UNITY_MATRIX_MV, i.vertex).xyz;   //Set vector used in cubeMap reflection. o.reflectVec = reflect(posWorld, normWorld);   return o; }   half4 frag( vertOutput i ) : COLOR { //Get colors of MainTexture and AlphaTexture. half4 colorTex = tex2D(_MainTex, i.texcoord); return colorTex; }   ENDCG } }   SubShader { Tags { "Queue" = "Transparent" } Pass { Cull Off  ColorMask RGB Blend SrcAlpha OneMinusSrcAlpha  SetTexture [_MainTex] { combine texture } } } }   编辑好保存就行了,系统会自动读取出来名字为Glass的Shader。   2.准备一张带透明通道的PNG图,在photoshop中做一张图,透明度高点,大概80%以上,颜色你可以自己选择,试一试效果。我使用的是一张淡蓝色的透明度90%的128*128的PNG图,注意一定要是PNG或者psD图,只有他们带透明通道。



  3.在场景中新建一个CUBE,将它拉长拉细点,感觉像块玻璃就可以了,然后将刚才的那张PNG图拖给它,然后修改shader为第一步新建的shader,然后就OK了。

  4.看看效果,一个简单的玻璃就这么实现了。



分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-27 18:51 , Processed in 2.435701 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部