Shader
Zander_zhang
这个作者很懒,什么都没留下…
展开
-
Unity Shader学习笔记(二)简单的漫反射
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'Shader "Lesson/SimpleDiffuse"{ Properties { _Diffuse("原创 2016-12-21 11:19:03 · 732 阅读 · 0 评论 -
Unity Shader学习笔记(三) 基础知识(语义、属性等)详解
在Unity5.2及以上版本中,Unity一共提供了4中UnityShader模板供我们选择,分别是:UnlitShader、SurfaceShader、ImageEffectShader、ComputeShader。 SurfaceShader:会产生一个包含了标准光照模型的表面着色器模板,代码如下: Shader "Custom/SurfaceShader" { Prope原创 2016-12-26 15:03:21 · 3230 阅读 · 0 评论 -
Unity Shader学习笔记(四) 水气泡 Shader的实现
大家好,我是Zander。最近正在学习Shader,同时也在研究ShadowGun里面的一些渲染,其中有一个场景中有一个水缸气泡的效果感觉挺好,于是拿来学习一下。如图:原理很简单,需要2个层,然后通过图的UV动画来实现视觉效果。具体实现如下:Shader "Custom/Scroll2LayersAditive-addtiveBlend" {Properties { _MainTex (原创 2016-12-28 11:40:08 · 8149 阅读 · 0 评论 -
Unity Shader学习笔记(五)
ShaderLab中属性的类型和CG中变量的类型之间的匹配关系如图: uniform关键字:uniform fixed4 _Color; uniform 关键字是CG中修饰变量和参数的一种修饰词,它仅仅用于提供一些关于该变量的初始值是如何指定和存储的相关信息(这和其他一些图像编程接口中的uniform关键词的作用不太一样)。在UnityShader中,uni原创 2016-12-29 11:17:41 · 3784 阅读 · 2 评论 -
UnityShader实战 之 体积光的实现
大家好,我是Zander. 今天我们用Shader来模拟体积光。先看一下效果: 这是在ShadowGun场景里的一个实现效果。Shader代码如下:Shader "Custom/Blinking GodRays" { Properties { _MainTex ("Base texture", 2D) = "white" {}原创 2017-01-06 13:50:47 · 10276 阅读 · 3 评论 -
UnityShader实战之 水波纹的实现
大家好,我是Zander. 今天我们来实现一下水波纹的效果。效果如下: 具体实现如下:Shader "Custom/AnimTextureShader" { Properties { _MainTex("Base (RGB)",2D) = "white"{} // 资源图 _NumTexTiles("Num tex tiles",Vector) = (原创 2016-12-29 16:31:59 · 9302 阅读 · 0 评论 -
UnityShader学习笔记(八)利用镜面反射让游戏闪耀起来
大家好,我是Zander。 今天来说一下在游戏中如何使用镜面反射来给玩家制造出强烈的视觉冲击和超现实感。 在Unity中,已经为我们提供了一个高光函数,我们可以在自己的着色器中使用。这个函数也就是BlinnPhong镜面反射光照模型,它是高光类型中的俄译中更加基础且高效的形式。由于它已经集成到Unity着色器语言挡住,所以我们可以在Unity着色器中建立高光效果: 首先创原创 2017-01-13 14:52:14 · 5474 阅读 · 0 评论 -
UnityShader学习笔记(六) 漫反射着色
大家好,我是Zander。今天我们来学习一下漫反射着色器。任何优秀的着色器开始总会依赖于一个基础的漫反射组件或者光照模型。因此从漫反射部分开始着色器的编写是非常有意义的。Baidu百科 漫反射(diffuse)是指光线被粗糙表面无规则地向各个方向反射的现象。当一束平行光触及光滑物体表面时,光线则发生规律性反射,反射后的光线也相互平行,这种规律性反射称为光的单向反射或镜面反射。但物体的原创 2017-01-10 16:35:07 · 1681 阅读 · 0 评论 -
UnityShader学习笔记(七) 让贴图纹理动起来(河流瀑布特效、精灵序列帧实现)
大家好,我是Zander。这一章我们将使用纹理贴图实现动画、混合和真实特效来达到理想的效果。 纹理贴图可以使我们的着色器快速的实现逼真的效果,但是如果添加的纹理贴图过多,会非常影响游戏性能,特别是在移动设备上,需要将纹理贴图的数目降到最小,这样才能使应用程序加载更快,运行起来更加流畅。 下面带着大家用图片来实现一个河流的效果: 首先创建一原创 2017-01-11 12:07:11 · 7261 阅读 · 1 评论