1.p61的specular计算,涉及到的一个参数“_SpecColor”是在Unity的官方cginc文件(UnityLightingCommon.cginc)中,是直接赋颜色给这个参数,反应到你模型的镜面反光效果上上,不会显示在你的shader代码中,也没法(大概)在代码里修改这个反光颜色的变量,或是对这个变量进行更深一步的计算修改.如果要改动反射颜色,可以在变量定义中去其他名字,最后赋值给输出变量的Specular参数. 不知道书上提没提(我没看见,英文看着也很头晕),总之浪费了不少时间在…
我的唠叨 不知不觉,从发表第一篇关于<Unity Shaders and Effects Cookbook>已经快十个月了.一开始的初衷就是学习笔记,毕竟将来回过头去看的时候,再看英文难免有种急躁感.从一开始几乎只有我一个人在奋斗,到现在时不时有人学习留言或者发邮件鼓励我,能有人和我一起学习我已经很开心了.谢谢所有鼓励和支持我的人~ 我先说下我的博客里这个系列的特点~ 首先声明,这不是纯翻译,我的插图绝大部分都是在自己的Unity里面按步骤实践以后再截图放到博客里的. 会对原文中的一些错误进行…
1. Creating Your First Shader 2. Surface Shaders and Texture Mapping 3. Understanding Lighting Models 4. Physically Based Rendering in Unity 5 5. Vertex Functions 6. Fragment Shaders and Grab Passes 7. Mobile Shader Adjustment 8. Screen Effects with…
開始学习第4章 - 着色器的反射 看完了1.2节,来记录一下.反射主要是利用了 Cubemap 立方体贴图. 认识Cubemap 立方体贴图.就如同名字所说.在一个立方体上有6张图.就这样觉得吧. 假想一下 ,在一个艳丽的房间里.有一个表面是镜子的圆球.那这个圆球表面就反射了房间里面的全部东西.就是一个大号的凸镜. 这是到网上找得一张图,非常直观的表达了我的意思-- 注意标题中说的,静态立方体贴图.为什么叫静态.由于这一次使用的立方体贴图是提前生成好的图片,而不是动态生成的. 这又是什么意思呢?…
书上这一节看得我头昏脑胀,数学渣表示自理不能-- 并且也不了解这个效果的实际意义. 先记录下来,后面真正看懂了再来补充具体理论. 通过一张纹理贴图,定义高光的形状,利用到的纹理贴图有三种 这里并非把纹理 UV映射.而是读取了 R通道值. 这几张图都是黑白的,也就是说.像素的一个点的 RGB 是同样值,所以 读取 R 或者 读取 G.B都是同等的. 着色器代码为高光生成了一些粗糙度值. 然后这节利用菲涅尔法则,当我们的视线刚好正对着物体表面的时候,会帮我们屏蔽高光. 转自 http://blog.…
在学习完上一节之后.已经了解了在Unity 中怎样实现一个高光 Shader ,可是会有一个问题.就是效果看起来不切实际,如以下的问题 我用一张图片贴到了Cube上面.然后用了一个高光材质,得到了下图的效果. 事实上这个效果还算能够,可是认真看就会发现.这个结果是不符合自然现象的. 这个箱子是木头的,然后有铁皮 作为封条. 首先不符合常理的是为什么这个木头箱子会反光! 可能木头箱子打蜡了.然后就反光.可是为什么打蜡的木头 和 铁皮 看起来是一样的.光滑度是一样的吗? 转自http://blog.…
Unity Shaders and Effects Cookbook 最近在读 <Unity Shaders and Effects Cookbook> 中文名称:<Unity 着色器和屏幕特效开发秘笈> 书本源码 https://www.packtpub.com/books/content/support/11712 配套彩图 https://www.packtpub.com/sites/default/files/downloads/5084OT_Images.pdf 英文PD…
关于光照模型 所谓模型,一般是由学术算法发起, 经过大量实际数据验证而成的可靠公式 现在还记得2009年做TD-SCDMA移动通信算法的时候,曾经看过自由空间传播模型(Free space propagation Model),目的为了得出移动信号的传播损耗.当时是基于普通的PC实时运算,非常非常耗时–如北京五环内的传播模型渲染GIS图用了超过20分钟. 光照模型来源有2类: 一类是基于学术论文的算法,如Lambert模型.Phong模型. 另一类基于算法的变种–在实际生产实践中修正得到的模型,…
UDK 的材质编辑器十分好用,毕竟是所见即所得的.虽然unity也有类似第三方插件,但易用性还是差很多,下面主要是,把一些常见表达式概念对应起来. 1. UDK CameraVector (相机位向量)表达式  机位向量表达式使您能够在游戏运行时访问相机的指向向量.在要求材质于不同视角角度下呈现出不同效果时  对应unity shader中Input结构附加变量: float3 viewDir.对于内建的viewDir, 它和CameraVector一样是切线空间中的变量. 对于unity 如果…
本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/55803629 渲染本文配图使用的Unity3D版本号: 5.5.0 这篇文章将基于MatCap的思想.在Unity中实现了具有高度真实感的MatCap车漆Shader.採用MatCap思想的Shader,用低廉的计算成本,就能够达到相似PBS很真实的渲染效果,可谓是在移动平台实现次时代渲染效果的一种优秀解决方式. 本文以车漆Sha…