最近在学习Unity3D。发现Unity3D中的玻璃效果要用到Shader才能实现。虽然简单学习了一下能看懂Shader的结构了,但要自己写一个实现自己想要的效果的Shader暂时还无能为力。这个要么需要十足的经验,要么具有相当的抽象思维。(可惜这两个我都没有…………)

随后在网上找了一个可以可以实现玻璃材质的shader。

源博客是在:http://www.cnblogs.com/yb_lin/archive/2011/04/21/2023475.html

首先新建一个shader,代码如下:

Shader "Glass"
{ Properties{_MainTex ("Main Texture", 2D) = "white" {}}Subshader {Tags { "Queue" = "Transparent" }Pass {Cull Off ColorMask RGBBlend SrcAlpha OneMinusSrcAlpha CGPROGRAM#pragma vertex vert #pragma fragment frag#include "UnityCG.cginc" uniform sampler2D _MainTex;uniform float _ReflectValue;struct vertInput{float4 vertex : POSITION;float3 normal : NORMAL;float2 texcoord : TEXCOORD0;};struct vertOutput {float4 pos : POSITION; float2 texcoord : TEXCOORD0;float3 reflectVec : TEXCOORD1;};  vertOutput vert(vertInput i){vertOutput o;
<span style="white-space:pre">             </span>//Set position.o.pos = mul (UNITY_MATRIX_MVP, i.vertex);
<span style="white-space:pre">             </span>//Set texcoord.o.texcoord = i.texcoord;
<span style="white-space:pre">             </span>//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;
<span style="white-space:pre">             </span>//Set vector used in cubeMap reflection.o.reflectVec = reflect(posWorld, normWorld);return o;}half4 frag( vertOutput i ) : COLOR{
<span style="white-space:pre">             </span>//Get colors of MainTexture and AlphaTexture.half4 colorTex = tex2D(_MainTex, i.texcoord);return colorTex;}ENDCG}}SubShader {Tags { "Queue" = "Transparent" }Pass {Cull Off ColorMask RGBBlend SrcAlpha OneMinusSrcAlpha SetTexture [_MainTex] { combine texture }}}
}

然后新建一个材质

之后在材质的地方选择

Glass也就是之前Shader中第一行显示的名字

然后在PS中创建一个半透明的纹理。

保存为psd或者png格式都可以。之后在Unity3D中选择Texture,选择刚才创建的图片。

然后就能实现一个基本的玻璃效果了:

更高级的玻璃效果诸如加入反射啊,折射啊,还需要以后慢慢来学习。不过一步一个脚印,总有学会的一天~

Unity3D中简单地应用玻璃材质相关推荐

  1. 在 3ds Max 中创建逼真的玻璃材质

    推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 尽管本教程基于 3ds Max,但相同的设置适用于许多其他 3D 产品. 注意:单击每个步骤中的缩略图可查看更大的屏幕截图,其中包括视口 ...

  2. 【Unity Shaders】Reflecting Your World —— Unity3D中简单的Cubemap反射

    在Project中可以创建我们自己的Cubemaps,现在,我们可以来看一下如何使用这种新的贴图类型来在Shaders中模拟反射效果.使用Cubemaps进行反射的原理实际上非常简单,但是这将给你的S ...

  3. Unity3D 中材质球(Material)打包成AB(AssetBundle)出现材质丢失问题的解决方案

    转自:https://www.cnblogs.com/hacker13a/p/7279730.html 关于Unity3D中打AB(AssetBundle)资源包,默认是不连Shader一同打包进去的 ...

  4. unity3d双面材质_[转]unity3d中创建双面材质

    在其它三维软件中设置好的双面材质导入到unity3d中就失去了效果,不过我们可以通过自定义材质来在unity3d中实现双面材质的效果.步骤如下: 1.在资源库中新建一新shader:代码如下: Sha ...

  5. Unity3D中实现简单的电影模式框架

    Unity3D中实现简单的电影模式框架 游戏中,经常会有这样的需求,即播放一段电影,给玩家更好的体验.比如摄像机朝向某两个NPC,两个NPC在那里交谈之类的. 在用Unity3D制作游戏的过程中,也经 ...

  6. ue4玻璃材质_UE4-材质

    本文中,我们将首先讨论基于物理的渲染,什么是材质域,什么是材质,什么是材质实例,什么是主材质,我们将讨论材质的一些建议和禁忌.最后,我们将了解一些材质概念,你可以将其用于各类项目中的材质. 1.什么是 ...

  7. 【猫猫的Unity Shader之旅】之玻璃材质

    今天我们用学过的Shader知识实现一个简单的玻璃材质. 首先,玻璃是半透明的 玻璃最主要的特点就是它是透明的,不同的玻璃有不同的不透明度,水杯的透明度比较低,而装药品的棕色玻璃瓶不透明度就比较高.当 ...

  8. unity和ue4里面的玻璃材质笔记

    unity直接做带模拟折射的材质需要写shader,比较麻烦 这里使用unity3d 使用shaderforge制作一个简单的玻璃材质 基本节点如下 还有一种方式是使用grab制作 也就是对于shad ...

  9. Unity3D游戏开发之Unity3D中的动态阴影

    http://blog.csdn.net/qinyuanpei/article/details/32355267 博主今天想和大家分享的是Unity3D中的动态阴影,昨天博主重温了一下自己喜欢的游戏& ...

最新文章

  1. phpStudy项目目录无法访问(报错500、400)
  2. linux下FTP命令详解
  3. 更改eclipse的Package Explorer的字体
  4. 线程同步的各种方法汇总
  5. html批量导入excel表格,html 导入excel表格数据格式-如何将网页中的表格快速复制到EXCEL中...
  6. 如何用 CNN 玩转 AlphaGo 版的五子棋?
  7. 学习笔记-MATLAB函数调用关系查看
  8. 小程序-----小白入门
  9. PR视频去水印—中间值
  10. 【Scrum模式语言3】完成的定义
  11. Ubuntu20.04安装visit可视化软件
  12. 2022年湖南省高职单招(职业倾向性)考试冲刺练习及答案
  13. 野人学Android基础篇之初探UI控件第一课--TextView动态赋值
  14. VX Search Client 9.7.18 漏洞分析及利用
  15. TeamFlowy——结合Teambition与Workflowy提高生产力
  16. 基于Docker和Kubernetes的企业级DevOps实践训练营
  17. 2010年8月16安排
  18. Unity官方认证考试
  19. 项目1在线交流平台-4. 使用radis高性能储存方案-3.redis使用场景-点赞功能
  20. yubikey入手体验

热门文章

  1. 量化番外篇——TensorRT-8的量化细节
  2. 图形编辑器:图形和辅助线绘制的坐标问题
  3. python函数加点_函数
  4. drawable java什么意思_Java Drawable.draw方法代码示例
  5. 内核学习-系统调用上
  6. SQL Server SQL高级查询语句小结
  7. 基于FPGA的脱机手写体汉字识别系统
  8. 网站被DDoS攻击怎么办?菜鸟站长之家教你这三招帮你防止、减轻DDoS攻击
  9. android版本8.1.0发布时间,安卓8.1.0是什么版本
  10. 高级密码学复习番外篇