赞
踩
1.何为渲染?
所有我们能看到的东西都是需要进行渲染的。
比如:天空盒,场景模型,角色模型,特效......
如果没有渲染,游戏世界将是一片黑暗。
2.各版本渲染区别
Unity4.X:渲染使用的事AutoDesk的Beast技术;
Unity5.X:渲染使用的事Enlighten引擎;
Unity5.6后:渲染使用的还是Enlighten引擎,但是有了升级;
3.移动端渲染
移动端的模型大多是使用两张类型的贴图作为渲染的素材:
一张是漫反射贴图,一张是法线贴图。
4.PC主机端渲染
PC主机端(国外的大型单机游戏)大多是真实的模拟现实中的效果来进行渲染的,使用了很多种类型的贴图(Unity的标准着色器中有支持10种贴图类型)。
PBR:基于物理规则的渲染方式。
GI:全局光照,用于模拟光的互动和反弹等复杂行为的算法。
1.标准着色器
Unity5.X 后提供了两个标准着色器(Shader)。
使用这两个Shader我们可以实现大部分物体的渲染。
2.Lighting面板
主要对场景中的灯光渲染进行统一的设置。
场景灯光分:实时和烘焙。
3.反射探头
主要用于实现模型的反射。
4.灯光探头组
主要用于在烘焙后的场景中模型实时光的效果。
1.Shader的重要性
shader好比是画家手中的画笔和颜料。如果画家没有了这两样东西后,根本就没办法画出好的作品。
在 Unity 中所有看到的一切,都离不开 Shader 的渲染,无论是天空盒,场景,角色模型,特效。。。。。这些我们之所以能在游戏中看到它们,它们能显示出一个五彩缤纷的虚拟世界,其中都是 Shader 在起作用。
2.Shader的学习步骤
两种颜色空间:
Gamma 空间:移动端,页游,HoloLens,性能比较低的硬件设备。
Linear 空间:PC 端,主机端。
Unity 默认的颜色空间(Color Space)设置选项是选择为 Gamma,但是如
果我们使用 PBR 渲染流程(标准着色器)就必须将颜色空间修改为 Linear。
修改颜色空间
- Edit --> Project Settings --> Player
- --> Other Settings -->Rendering -->
- Color Space --> Linear
天空盒的作用
制作天空盒
使用天空盒
天空盒材质参数调整
Unity 中内置的 Shader 分可以分为三组,他们具备不同的作用和使用场合:
1.Unity5.x 新 Shader
2.Unity5.x 标准 Shader(用于 PBR 渲染)
3.Unity4.x 旧版 Shader(用于支持旧版项目的渲染)
1.Opaque(不透明)
作用:用于渲染所有不透明的物体,这类物体在场景中是最多的。60%的比例。
2.Cutout(镂空)
作用:用于渲染有镂空的物体,这类物体在场景中并不太多。5%的比例。
3.Fade(隐现)
作用:用于渲染实现物体的渐隐和渐现。这类物体在场景中也不多。5%的比例。
4.Transparent(透明)
作用:用于渲染有透明效果的物体,这类物体在场景中也比较多。30%的比例。
1.渲染模式区域
当创建完一个材质球,并设置 Shader 为标准着色器后,第一步就需要根据这个材质球要渲染的物体的特性(不透明物体,透明物体)设置不同的渲染模式。
2.主贴图区域
用于设置 Shader 的主要贴图,使用这个区域的贴图和设置项控制模型最终的渲染效果。80%的模型,我们只需要设置这个位置的贴图就够用了。
3.次贴图区域
用于设置 Shader 的次要贴图,用于给模型增加细节。一般不会用到这个位置的设置项。但是一些需要近距离观察的模型,设置完上方的主贴图,再设置下方的次要贴图,能增加模型的精致度。
1.背景了解
2.标准 Shader 的优点
使用一个 Shader 完成大部分场景模型的渲染;无论是人物角色,金属,塑料,皮革,布料,玻璃,建筑......都可以使用一个标准 Shader 来完成渲染。
3.标准 Shader 贴图
标准 Shader 使用的是 PBR 渲染,基于现实物理效果的渲染表现形式。一个模型能不能使用标准 Shader 来进行渲染,是在做这个模型的贴图的时候决定的。有没有按照 PBR 贴图的制作规范和模式来制作,决定了该模型是否可以使用标准 Shader 渲染。
1.两种标准 Shader
Unity5.x 中的标准 Shader 有两个:
Standard:标准着色器
Standard(Specular setup):标准着色器(镜面)
2.Albedo 贴图
Albedo:反照率[贴图];用于体现模型的纹理,颜色。
反照率贴图本身是一张颜色与纹理的贴图。
该选项有贴图属性,也有颜色属性。
两个属性可以单独使用,也可以组合使用;
当颜色属性为纯白色时,则不影响贴图的效果;
当颜色属性为其他颜色时,则叠加贴图效果。
3.Metallic 贴图
金属度[贴图];用于体现模型的金属高光反射;
金属度贴图本身是一张灰白图,越白的地方,金属度越强烈,越黑的地方金属度越低。
Smoothness:平滑度
介于 0 和 1 之间的一个值,越小,平滑度越低,越大,平滑度越高。
4.Normal Map 贴图
Normal Map:法线贴图;用于增加模型的细节;
法线贴图本身是一张蓝色的凹凸图。
5.Occlusion 贴图
Occlusion:AO 贴图;
AO 贴图本身是一张灰白图。
主要用于改善阴影,给场景(模型)更多的深度,有助于更好的表现模型的细节。
6.Specular
Specular:镜面[贴图],类似于“Metallic 金属度”贴图。
PBR 贴图的制作方式不同,最终关于“金属部分”的表现,出现了两种类型的贴图,Metallic 和 Specular。
7.Detail Albedo x2
Detail Albedo x2:细节反照率[贴图];
作用是对主 Albedo 贴图的一个细节深入表现;
8.Normal Map x2
Normal Map x2:细节法线[贴图];
作用是对主 Normal Map 贴图的一个细节深入表现;
9.Detail Mask
Detail Mask:细节遮罩[贴图];
这个贴图是配合“次贴图区域”中的 Detail Albedo,Normal Map 两张贴图配合使用的,次贴图区域中的这两张很多是平铺的贴图,效果会作用于模型的全部,我们使用 Detail Mask 将一些不需要被“次贴图”影响的部分独立出来。
10.Emission贴图
Emission:自发光[贴图],让模型自发光;
Unity里面能够作为光源存在的除了灯光组件和天空盒,标准Shader里面的Emission贴图也是可以作为一种光源的。
11.Height Map贴图
Height Map:视差[贴图],比Normal Map更有立体感的一种贴图方式;
主要用于地面,建筑等效果的体现。
PBR效果
在 Unity5.x 中,金属度是相对而言是最关键的一个可调整参数。
我们在 Unity 中模拟现实生活中的东西,很多时候都需要控制它们的金属度。
1.Shader 源代码下载
Unity 每次版本更新的时候,不单单会更新 Unity,配套的资源也是会一块更新的,比如版本配套的 Shader 源代码。[见图]
2.相关 API
获取 Shader 中参数的值:
- material.GetFloat(" 参数名 "); //获取小数类型值
- material.GetColor(“参数名”); //获取颜色类型值;
- material.GetTexture(“参数名”); //获取贴图类型值;
修改 Shadder 中参数的值:
- material.SetFloat(“参数名”,值); //设置小数类型值;
- material.SetColor(“参数名”,颜色值); //设置颜色类型值; material.SetTexture(“参数名”,贴图); //设置贴图类型值;
1.两个参数
Metallic 有两个参数,贴图和滑块条,滑块条控制的参数是 0~1。
金属度贴图是一张黑白图,就是用这些黑到白的颜色,存储 0~1 相关的信息值。
滑块条是调整的整体,调整的时候,整个模型都是统一的一种效果;
贴图则可以分区域控制金属度的高与低,使得模型金属效果更有层次。
Albedo 有两个参数,贴图和颜色面板,颜色面板里面的 Alpha 通道是 0~255。
Albedo 贴图是一张纯色纹理图,贴图是可以存 Alpha 通道的。
颜色面板里面的 Alpha 通道,调整的时候,整个模型都是统一的一种效果;
贴图则可以分区域控制透明度的高与低,使得模型透明效果更有层次。
1.概念介绍
后期屏幕渲染特效,也叫做摄像机特效。
后期屏幕渲染特效是我们游戏画面后期处理时使用的特效,是作用于游戏场景中的摄像机游戏物体上的。
比如现实生活中摄影师拍照:
①人物角色的化妆就好比我们在 Unity 中用 Shader 材质球美化模型;
②拍照时各种辅助的灯光好比 Unity 中的灯光系统,营造氛围;
③拍照完毕后,后期还需要用 PS 制作修改一些地方,这一步的操作,在我们的游戏开发过程中对应的就是“后期屏幕渲染特效”。
1.ImageEffects 介绍
ImageEffects 是 Unity 中附带的资源包之一,资源包存放了大量的摄像机特效,摄像机特效相关的脚本只能挂载到摄像机上进行使用。
资源包导入步骤如下:
Project 面板右键-->Import Package-->Effects
2.注意事项
①摄像机特效资源包导入后,Component 最后一项会出现“Image Effects”选项,通过这个菜单,可以给选中的摄像机游戏物体添加相应的特效。
②这个摄像机特效资源包中所有的特效,分成九大类[见图],30 多个特效脚本。
③摄像机特效是允许效果叠加的,也就是说我们可以在摄像机上合理的组合使用多个后期屏幕渲染特效。
④另外 Unity 的资源商店里也有大量的第三方后期屏幕渲染特效资源。
1.Antialiasing[抗锯齿特效]
位置:Image Effects --> Other --> Antialiasing
电脑显卡渲染出来的 3D 模型物体,物体的边缘会出现锯齿,影响视觉体验。可以使用“抗锯齿特效”平衡这些锯齿。
Technique:抗锯齿算法,这里有七种类型的算法可供选择使用。
2.Bloom[泛光特效]
位置:Image Effects --> Bloom and Glow --> Bloom
泛光是一种增强版辉光,光晕效果。
Mode:模式,基础模式和复杂模式。
Threshold:阈值,控制泛光的范围。
3.Screen Space Ambient Obscurance[屏幕空间环境 AO 效果]
位置:Image Effects --> Rendering --> Screen Space AO
可以实时模拟场景中的环境遮挡效果。
4.Noise And Scratches[噪音和划痕特效]
位置:Image Effects --> Noise --> Noise and Scratches
给场景效果添加噪点和划痕,可以用于模拟老电影的画面效果。
1.Emission 参数
5.5.1 版:Emission 贴图的的属性功能是直接展现在面板上的;
5.6.0 版:Emission 贴图需要勾选“复选框”才可以展现相关属性。
2.Advanced Options 区域
5.6.0 比 5.5.1 新增了一个 Advanced Options(高级选项)区域。
1.版本更新对比
环境光区域:新版和旧版是一致的,未发生改变。
实时渲染区域:旧版有渲染分辨率和 CPU 使用量的参数,新版本去掉了这两个参数。
烘焙渲染区域:新版本将烘焙(光照贴图方式)的的参数单独提取成了一个新的区域,Lightmapping Settings。整体参数和旧版几乎一致。
1.Light Explorer [灯光管理器]
给场景中的灯光,反射探头,灯光探头组,静态自发光物体提供了一个统一的控制和管理的面板。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。