Unity Shader
gsymost
这个作者很懒,什么都没留下…
展开
-
【Unity Shader】剖析Unity Surface Shader背后机制(一)
概要Unity自3.x起,推出了surface shader功能,极大地简化了shader的编写,尤其是光照处理这块。surface shader说白了就是一套代码生成器,最终还是转换为vertex/fragment shader,优点在于隐藏了许多很少会被改动,然而工作量却巨大的细节,例如处理不同光照类型,lightmap,阴影等。开放给开发者的是最多被修改的一些参数,例如颜色,法线等。当然还提供原创 2015-09-09 11:46:34 · 2250 阅读 · 0 评论 -
【Unity特效】永恒战士3中的死亡特效
概述玩过永恒战士3的玩家,应该对它的怪物死亡特效记忆犹新,没玩过也不要紧,先放一张效果图。 原理首先,我们需要2张控制图,如下所示。 模型由它原本的贴图,逐渐过渡到storm贴图的,看上去类似尘埃的效果。timeline则用于显示效果的控制,随着uv的x方向的逐渐递增,会看到光环闪过,并且x坐标接近1时,alpha会快速递减。 我们看到,模型有一个顶点外扩的过程。这里加了一个控制,原创 2015-11-13 15:31:00 · 1296 阅读 · 0 评论 -
【Unity Shader】剖析Unity Surface Shader背后机制(二)
上一篇结尾,给出了一个最简单的Diffuse的surface shader翻译成vertex/fragment shader之后的代码。乍看上去可能一头雾水,下面将会一一分解。 整体来看,相较于surface shader,unity自动生成了两个pass(ForwardBase,ForwardAdd),这两个pass的作用,在上一篇中也已经说明。接下去,对照着代码,我们来分解下unity具体做了些什么。原创 2015-12-24 16:36:28 · 4105 阅读 · 2 评论