摘要: MADFINGER-Lightmap-Unlit-Wind用于模拟布料和树被风吹的弯曲摆动效果这个来自于《GPU GEMS 3》中的 “Chapter 16 Vegetation Procedural Animation and Shading in Crysis” 一章16.1。但略微有点不同,在计算edge和branch的bend时,原文为:“Edge (xy) and branch bending (z)”,shadow gun里使用的是“Edge (xz) and branch bending (y)”,这里的edge指旗子的边缘和自身xz方向的震动,branch指的是旗子整体的y方向 阅读全文
posted @ 2013-07-08 13:53 yaukey 阅读(2416) 评论(0) 推荐(0) 编辑
摘要: 直接从阅读时记录的笔记摘抄过来,写的比较随意。 1.MADFINGER-blinking-god-rays 除了可以用于实现太阳光线效果,还能调整参数让颜色随时间淡入淡出闪烁,能做出想灯光之类的效果这个shader的基本算法和MADFINGER-god-rays基本一致(透明度淡入淡出变化和顶点移动计算模型稍微有区别),但加入了颜色随时间闪烁的模型,计算模型有两个,一个是大致梯形模型float wave= smoothstep(0, _TimeOnDuration * 0.25, fracTime) * (1 - smoothstep(_TimeOnDuration * 0.75, _T... 阅读全文
posted @ 2013-07-04 00:23 yaukey 阅读(1248) 评论(0) 推荐(0) 编辑
摘要: 今天仔细研究了 Shaowgun 示例中那个金黄色雕像所使用的光照纹理烘焙工具:“Render To Texel Baker”。因为要在移动设备展现比较逼真的光照效果,但是实时使用法线贴图并大量用于场景建筑中,对于移动设备还是有些力不从心。于是原作者写了这个工具,使用法线贴图和多个光源来对模型的贴图进行光照烘焙并保存烘焙结果。 作者直接读取模型的所有三角形,顶点,uv,法线和切线数据,以及提供的模型法线贴图(最终转换到世界坐标系,计算过程证明了我之前对于tbn矩阵相关计算的理解是正确的),然后针对每个三角形中的每个像素,都通过插值和权重来计算出这个像素的世界坐标位置和世界坐标法线,并分别... 阅读全文
posted @ 2013-06-28 00:25 yaukey 阅读(1127) 评论(0) 推荐(0) 编辑
摘要: Windows,C:\Users\<username>\AppData\Roaming\Unity\Asset StoreMac OS X,~/Library/Unity/Asset Store /Applications/Unity/Standard Packages//Users/Shared/Unity/Unity (Demo 路径)/Users/Shared/Unity/Unity/Users/Shared/Unity/Unity/Applications/Unity/Standard Packages//Applications/Unity/Standard Packag 阅读全文
posted @ 2013-06-20 23:06 yaukey 阅读(5086) 评论(0) 推荐(0) 编辑
摘要: "MADFINGER/Environment/Unlit (Supports Lightmap)"是 ShadowGun 示例中最简单的 shader 了,如下:// Unlit shader. Simplest possible textured shader.// - SUPPORTS lightmap// - no lighting// - no per-material colorShader "MADFINGER/Environment/Unlit (Supports Lightmap)" {Properties { _MainTex (&qu 阅读全文
posted @ 2013-06-19 23:06 yaukey 阅读(1684) 评论(0) 推荐(0) 编辑
摘要: 从昨天开始遇到一个看似很小,但令我苦恼的问题,由于对Unity的坐标系没有直接搞清楚,所以导致一个shader没看懂,于是发了个贴:http://game.ceeger.com/forum/read.php?tid=11367&fid=2,结果到晚上终于搞明白了,心情大好,趁热分享。 因为实在是懒得再重新写一遍了,我就把原帖子抄一遍: 一楼:大家好,我是unity新手,在研究ShadowGun提供的shader,其中建筑使用的高光shader:“MADFINGER-Lightmap- Unlit-VirtualVertexGlossy-Add.shader”,这里面是在viewspac 阅读全文
posted @ 2013-06-18 22:21 yaukey 阅读(4083) 评论(0) 推荐(1) 编辑
摘要: 这几天一直在为了研究清楚 ShadowGun 示例的 shader,但没写过 Unity 的 shader,于是从头开始阅读官方的说明,发现多出了 SurfaceShader 的概念,再加上对 Unity 的光照系统不太了解,看起来的确实有点头晕,细心看了看后还是有点头绪。于是就把上一篇的讨论过的法线贴图实现一下吧,其实想在 Unity 里面使用法线贴图效果,简直简单的像画一个一字,直接选一个内建的 BumpMap 就好了,甚至你使用 SurfaceShader 直接读取出法线就好了,其它也不用管。但是要是非要使用 vertex/fragment shader 一步一步的写完法线贴图的所有.. 阅读全文
posted @ 2013-06-16 00:01 yaukey 阅读(4382) 评论(1) 推荐(0) 编辑
摘要: 这篇文章假使你已经对 BumpMap 和 NormalMap 的流程有基本的了解。 这篇文章的只是来源依然是:《Derivation of the Tangent Space Matrix》和《Mathematics for 3D Game Programming and Computer Graphics》的7.8节。我讨论的细节为TBN矩阵的计算。 任意一个Mesh的三角形在是 Local Space 和 Tangent Space 中如图1所示: 图1 图1左侧彩色坐标系为 Local Space,... 阅读全文
posted @ 2013-06-04 21:37 yaukey 阅读(1435) 评论(0) 推荐(0) 编辑
摘要: 这篇文章假使你已经对 BumpMap 和 NormalMap 的流程有基本的了解。 这两天因为项目需要又复习了下 NormalMap 的原理细节,一年多以前细细看过一次,到现在忘了很多,可是当初又没有写笔记,所以在纠结细节的这两天因为数学差而特别痛苦。 BumpMap 和 NormalMap 说起来大家都非常熟悉,但就是就我个人而言,初次分析背后的原理有很多容易混淆的地方,对于爱钻牛角尖的人很是折磨。 BumpMap 出现早,主要使用灰度图(高度图),实时计算法线,过程就和生成法线图的过程一样,利用相邻像素点的高度差向量叉撑计算法线,这个过程比较简单没有异议,有了法线之后的计算和 N... 阅读全文
posted @ 2013-06-04 00:52 yaukey 阅读(3475) 评论(0) 推荐(0) 编辑
摘要: 不知道有没其他人遇到,这几天unity3d的相关网站,尤其是论坛和 asset store 和域名 u3d.as 打头的,总是不停的断开,很过国外网站也是,查阅资料总是受阻,有病吧这帮人,这些有特么什么好河蟹的,到底想干嘛?! 阅读全文
posted @ 2013-06-01 12:00 yaukey 阅读(273) 评论(0) 推荐(0) 编辑