unity光照渲染系统学习

本文所有学习内容来自
夏村散人韩老师-unity入门教程


问题1: 全局光照明系统

光影分为实时和预计算两种
unity中可添加的光源包括方向光(模拟日光月光),点光源,聚光灯,平面光。
调整方向光的intensity让它变暗。
方向光默认让物体拥有阴影。
需要选上shadow type才能让光源拥有阴影。
面积光area light不属于实时光照。
实时光照只计算在物体表面的照射效果。但是预计算可以计算反射、折射,还有有颜色的物体还可以影响周围物体的光照的效果,称为全局光照计算。预计算只适用于静态的物体。
window-lighting-setting可以调出光照设置窗口。Auto Generate选项被勾选的话会自动烘焙。要把物体设置成static才能被预计算。

问题2: 材质

光影计算中比较重要的元素:纹理texture、材质material、着色器shader。
新建一个材质拖拽到小球上。
材质是总体上定义了物体表面如何渲染。包括纹理、颜色等细节信息。材质参数取决于所选的着色器。
着色器是用于计算像素渲染颜色的程序片段,它依赖光照和材质参数输入来完成计算。(可以选择卡通着色器,这样物体就会变成大面积的色块。)
纹理是一张图片,可以表示物体表面颜色,以及反射率及粗糙程度等。
在这里插入图片描述
rendering mode从上往下分别是不透明材质、设置一个透明度阈值、按照透明通道Alpha值淡入淡出、像玻璃一样半透明。Fade和Transparent渲染模式的区别是,前者会完全消隐物体,而后者会保留光照效果。

unity自带包里的effect效果。Albedo是物体表面的基本颜色。点小圈圈可以添加纹理。

Metallic用来表现金属效果。Smoothness调整平滑程度,越平滑越接近镜面。

Normalmap翻译为法线贴图,用于保存物体表面的法线信息。影响光对物体表面的照射,可以使物体实际上平滑却看起来凹凸不平。发青的纹理图片是法线贴图,用rgb值的变化来让物体看起来凹凸不平。

Heightmap保存物体表面像素的抬升高度。需要和Normalmap配合使用。它会根据Normalmap调整物体表面的高度。

问题3: 摄像机设置

unity支持多摄像机。
为摄像机设置depth,越小的越在后面。

unity的剔除算法可以减少我们计算看不见的物体。window里的occlusion culling(遮挡剔除)点击后有一个bake的选项卡在这里插入图片描述
在这里插入图片描述

问题4:后处理效果

分两步来启用PostProcess效果:
1为摄像机添加component后处理层post process layer
Trigger代表能够触发后处理效果的摄像机
Layer表示这个postprocess受哪些layer的影响。特定layer的后处理体才能作用于本摄像机。
在这里插入图片描述
在这里插入图片描述
这是一种抗锯齿计算

2在场景中添加后处理体

摄像机在这个后处理体里面时会进行后处理效果。
在这里插入图片描述
window-package manage里面可以添加资源包。postprocess包里面有一些自带的后处理效果。
在这里插入图片描述

问题5:光照和反射探针

使用光照探针可以采样特定区域的全局光照明信息,赋给附近的非静态物体。
在这里插入图片描述
探针组中的探针可以移动。如果场景复杂,可以加探针。

反射探针可以预先保存所在位置的反射信息。
在这里插入图片描述

问题6:视频播放

在这里插入图片描述
在这里插入图片描述

问题7:粒子系统

爆炸、火焰、烟雾、沙尘。
在这里插入图片描述
粒子系统就是一堆有规律性和个性的粒子的集合。
参数可以调整Angel、Radius、Size over Lifetime
在这里插入图片描述
这个effect可以拖拽到火焰上。

每个粒子都是一张图片,但是渲染的时候都是朝向玩家的。

partical system的package里有很多可以用的prefab。

猜你喜欢

转载自blog.csdn.net/weixin_42914662/article/details/115419151