Unity之Shader
[奋斗不止]
这个作者很懒,什么都没留下…
展开
-
Unity编写添加法线贴图的Shader - 二
Unity编写添加法线贴图的Shader法线贴图的作用再次就不做过多赘述了,不了解的自己查一下即可,下面以实际例子展示添加法线贴图的模型与没有添加法线贴图的区别。下图为两个相同的模型,左侧的为添加了基本贴图、法线贴图两个贴图;右侧模型只添加了基本贴图;对比标注相同颜色的箭头处,比较添加法线贴图和没有添加法线贴图模型的区别可以看出添加法线贴图的模型线条比较明显,有凹凸原创 2014-12-31 17:10:27 · 3275 阅读 · 0 评论 -
Unity之Shader Pass 通道显示贴图的几种方法- 六
Pass 通道显示贴图的几种方法下面是几种显示模型贴图的方法,在此使用的是固定管线方法方法一Shader "Custom/PassOne" { Properties { //定义一个贴图 _MainTex ("Base (RGB)", 2D) = "white" {} //定义一个颜色 _Color ("Main Color",原创 2015-04-09 15:17:46 · 4573 阅读 · 0 评论 -
Unity之Shader过滤掉不带Alpha通道贴图的背景颜色 - 四
过滤掉不带Alpha通道贴图的黑色背景颜色,屏蔽掉光照影响(改变光源的颜色模型贴图颜色不受影响)代码如下方法一Shader "Custom/NewShader2" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _TransVal ("Transparency Value", Range(0,10原创 2015-04-09 14:00:55 · 8698 阅读 · 0 评论 -
Unity之Shader Pass 的通用指令 LOD - 五
Pass 的通用指令 LOD // 通过对SubShader 设定一个整形 Level Of Detail 即 LOD 数值,//可以在运行时根据硬件设备的能力决定是否使用此shader, //以及使用哪一个层级的 SubShader //下面Shader中包含两个数值的LOD LOD 600 和 LOD 500Shader "Custom/PassOne" { Properties原创 2015-04-09 14:47:01 · 7204 阅读 · 0 评论 -
Unity 之 Shader 面的剔除 Cull - 十二
面的剔除 Cull 在渲染的时候,默认情况下是只有朝向摄像机的面才会被渲染,可以告诉Unity,我想渲染哪一个朝向的面,使用Cull命令在计算体积阴影的时候会用到对Cull的操作来计算和物体相交的投影Cull 有三种 Cull Off 不剔除 Cull Back 剔除背面(背向摄像机的面) Cull Front 剔除前面 (朝向摄像机的面)Shader "Custom/P原创 2015-04-09 17:30:43 · 11162 阅读 · 0 评论 -
Unity之Shader初识 - 一
Unity之Shader初识本篇说一下Unity Shader编程的最基本知识,主要以一个Shader代码为例说明一下代码各个模块的作用以及注意事项首先创建一个Shader,在Project面板中Assets文件夹下右键创建双击打开创建的Shader脚本,代码如下Shader "Custom/qq" { Properties { _MainTex ("Base原创 2014-12-31 14:41:58 · 1819 阅读 · 0 评论 -
Unity 之 Shader ZTest 深度测试 - 十
ZTest 深度测试深度测试也叫深度缓冲,只有最靠近观察者的物体会被绘制,深度即Z,该值越小表示离观察者越近,相反越大离观察者越远ZWrite On 深度记录(默认) ZWrite Off 不记录此深度,通常用于半透明物体ZTest 的默认值是 LEqual,即当深度小于或等于本身深度值时,该物体渲染,ZTest共有七种类型 Less LEqual Euqul NotEqual Gre原创 2015-04-09 17:12:57 · 6943 阅读 · 0 评论 -
Unity 之 Shader 对Z深度的偏移 - 十一
对Z深度的偏移 Offset 指令给了我们一个操作正常的ZTest 检测结果的手段。 Offset有两个参数,这两个参数理解起来不是很直观,而且具体实现是和硬件相关的下面在实际例子中看他的效果Shader "Custom/PassFive" { Properties { //定义一个贴图 _MainTex ("Base (RGB)", 2D) = "whit原创 2015-04-09 17:23:52 · 6024 阅读 · 0 评论 -
Unity 之 Shader Blend 混合操作 - 八
Blend 混合操作混合操作作用于在所有计算已经结束, 已经决定将当前计算结果输出到帧缓冲中是,如何输出到帧缓冲中,是直接替换原来的,还是一加一的混合。混合操作有两个对象,源和目标Blend混合总共有十种可选类型One 值为1,使用此因子来让帧缓冲区源颜色或是目标颜色完全的通过。 zero 值为0,使用此因子来删除帧缓冲区源颜色或目标颜色的值。 SrcColor 使用此因子为将当前值乘以帧原创 2015-04-09 16:27:48 · 9306 阅读 · 0 评论 -
Unity 之 Sharder 通道遮罩 ColorMask - 九
通道遮罩 ColorMask ColorMask可以让我们制定渲染结果的输出通道,而不是通常情况下的RGBA这4个通道全部写入。可选参数是 RGBA 的任意组合以及 0, 这将意味着不会写入到任何通道,可以用来单独做一次Z测试,而不将结果写入颜色通道使用如下Shader "Custom/PassFive" { Properties { //定义一个贴图 _Ma原创 2015-04-09 16:43:33 · 19014 阅读 · 3 评论 -
Unity之Shader Alpha 测试 和 8中比较条件 - 七
Alpha 测试 和 8中比较条件通道道是8位的灰度图像,能够显示1-256种灰度,用来表示颜色的RGBA值。R红色,G绿色,B蓝色,A透明值, 其中RGB为原色通道,A为透明通道。在通道中,以白色代替透明表示要处理的部分,以黑色表示不需处理的部分。所有通道取值范围是 [0,255], 但是在Shader里取值范围是[0,1], 0和1分辨对应0和255Alpha 检测用于在 fragment 函原创 2015-04-09 16:07:23 · 2037 阅读 · 0 评论 -
Unity之Shader在模型上渲染积雪效果-三
Unity之Shader在模型上渲染积雪效果 在游戏中有时会用到下雪的场景,这样就需要在模型上产生积雪效果,这个工作如果要美术做贴图的话,这个工作量将是非常的庞大,比如下雪10分钟的积雪程度和下雪30分钟,50分钟肯定不一样,这样一个模型需要美术做好多积雪模型,这样美术会崩溃的,并且这么多贴图放在项目中,会造成资源包原来越大,不利于开发。 这时利用Sha原创 2014-12-31 23:30:17 · 5454 阅读 · 0 评论