跳转到主要内容

Shader

Unity Shader 常见光照模型

Unity 表面着色器为开发者提供了一层简单快速的编写 Shader 的方式,对开发者来说隐藏了光照模型这些复杂的的概念,但是有时候 Unity 自带的光照模型往往不能满足我们的需求,而需要自己定义光照模型。所以接下来就一起看看 Unity 中常见的光照模型函数。

unity Shader——shader中的动画效果:下篇(顶点动画)

顶点动画可以让我们的场景变得更加生动有趣。在游戏中,我们常常使用顶点动画来模拟飘动的旗帜,河流的效果。下面将学习两种常见的顶点动画应用:流动的河流以及广告牌技术,最后还给出一些顶点动画中的注意事项以及解决方法。

unity Shader——shader中的动画效果:上篇(纹理动画)

本篇文章将会向unity shader中引入时间变量,以实现各种动画效果。动画效果往往都是把时间添加到一些变量的计算中,以便在时间变化时画面也可以随之变化。unity shader提供了一系列关于时间的内置变量来允许我们方便地在shader中访问运行时间,实现各种动画效果。

unity shader之——着色器的组织和复用

我们经常使用#include 指令包含UnityCG.cginc。这个文件中包含了unity预定义的大量结构和函数,通过#include指令可以复用这些结构和函数,而不必每次都重新定义它们。我们可以定义自己的cginc文件,然后用#include指令包含该文件,实现着色器代码的复用。虽然包含了整个cginc文件,但unity只会在实际代码中包含被用到的cginc文件中的那部分代码。

unity Shader——非真实感渲染:下篇(素描风格的渲染)

有篇著名的论文中提到过,使用了提前生成的素描纹理来实现实时的素描风格渲染,这些纹理组成了一个色调艺术映射,这些纹理笔触逐渐增多,用于模拟不同光照下的漫反射结果,从上到下对应了每张纹理的多级渐远纹理,这些纹理的生成并不是简单的对上一层纹理进行降采样,而是需要保持笔触之间的间隔,以便更真实的模拟素描效果。

unity Shader——非真实感渲染:上篇(卡通风格的渲染)

尽管游戏渲染一般都是以照相写实主义作为主要目标,但也有许多游戏使用了非真实感渲染(NPR)的方法来渲染游戏画面。非真实感的一个主要目标是,使用一些方法使得画面和某些特殊的绘画风格相似的效果,例如卡通、水彩风格等。