书中的6.4节讲的是漫反射的逐顶点光照和逐片元光照。 前一种算法是根据漫反射公式计算顶点颜色(顶点着色器),对颜色插值(光栅化过程)返回每个像素的颜色值(片元着色器)。 第二种算法是获得顶点的法线(顶点着色器),对法线插值(光栅化过程),根据漫反射公式计算像素颜色(片元着色器)。 注:漫反射公式:( ...
分类:
编程语言 时间:
2017-08-05 18:57:24
阅读次数:
505
本系列的博文是笔者读《Unity Shader入门精要》的读书笔记,这本书的章节框架是: 第一章:着手准备。 第二章:GPU流水线。 第三章:Shader基本语法。 第四章:Shader数学基础。 第五章:利用简单的顶点/片元着色器来实现辅助技巧。 第六章:基本光照模型。 第七章:法线纹理、遮罩纹理 ...
分类:
编程语言 时间:
2017-08-01 15:39:53
阅读次数:
246
Unity用int32的每一位表示32个层,int32用二进制有32位,Layers通常被摄像机用来渲染部分场景,和灯光照射部分场景使用。但是它们也可以用来做射线检测时忽略一些collder或Collision使用。 LayerMask mask = 1 << 你需要开启的Layers层。 Laye ...
分类:
编程语言 时间:
2017-08-01 14:26:00
阅读次数:
160
当你有多个场景使,需要切换场景,当你切换到下一个场景时出现了场景灯光变暗的效果。然后操作是 window——lighting——取消auto后点击build就可以了 主要出现这个问题的原因是:当前你的灯光是实时光照 在当前场景时已经渲染完成。但重新加载的时候没有渲染。先把渲染灯光烘培一下。保存起来就 ...
分类:
编程语言 时间:
2017-07-31 14:36:50
阅读次数:
240
全局光照 GI 这里所说的反射就是,一个红色的物体,当太阳照射它的时候,它周围的物体也会变得有点红。 1:Realtime每帧都会计算光照,实时光照是不会反射的,所以它的光影显得单调;2:Baked GI:通过烘培光照贴图的方式获得很好的光照效果,无法实时的改变光照;3: 预先计算全局光照: Pre ...
分类:
编程语言 时间:
2017-07-29 22:17:50
阅读次数:
164
反射探头 1:镜子金属等具有光滑表面的物体都会反射,而游戏中计算实时反射非常消耗CPU的资源, unity5.0新增了一个反射探头的技术,通过采样点,生成反射Cubemap,然后通过特定的着色器从Cubemap中采样,就能显示反射效果了;2: 反射探头的参数: type: 设置反射探头的类型(bak ...
分类:
编程语言 时间:
2017-07-29 19:36:42
阅读次数:
232
渲染路径和颜色空间 1:Unity光影效果可以通过设置 渲染路径和颜色空间;2: 渲染路径: 光照到物体表面,物体着色的时候,算上光的颜色的时候有这么几种光照的着色方式,计算着色的方式 forward: 着色时根据对应影响的灯光,每个光源着色一次,多个光源作用时会着色多次; 优点: 快速,硬件要求低 ...
分类:
编程语言 时间:
2017-07-28 19:19:54
阅读次数:
176
光源 1: 光照的本质:就是光的颜色和物体纹理的颜色的混合;2: 光源类型: 点光源,定向光源,聚光灯, 区域光源; 区域光的范围会在场景中用黄色的光显示出来; z轴是光的方向; 光的强度会随距离衰减; 只能配合烘培GI使用;3: 发光材质 发光材质也算是一种光源,通过给物体添加特殊的着色器,调节其 ...
分类:
编程语言 时间:
2017-07-27 13:34:57
阅读次数:
1899
三维空间中有一些(<=2000)气球,一些光源(<=15),给定一个目标点,问你在移除不超过K个气球的前提下,目标点所能接受到的最大光照。 枚举每个光源,预处理其若要照射到光源,需要移走哪些气球,构建成一个bitset。 然后再2^15枚举光源集合,看看要让集合中所有光源照到目标点所要移走的气球是否 ...
分类:
其他好文 时间:
2017-07-26 21:59:10
阅读次数:
171
1、简单介绍 Unity的摄像机是用来将游戏世界呈现给玩家的,游戏场景中至少有一台摄像机。也能够有多台。 2、类型 Unity中支持两种类型的摄像机,各自是Perspective(透视)以及Orthographic(正交)两种。 3、參数 在Unity中创建摄像机对象时。默认情况下除了Transfo ...
分类:
编程语言 时间:
2017-07-23 21:07:06
阅读次数:
155