视频教程:https://www.bilibili.com/video/BV12s411g7gU?p=1
目录
常用快捷键
Tools
定点吸附
播放控件
视图
Center与Pivot
Global与Local
场景、游戏对象与组件间的关系
纹理、着色器与材质间的关系
Rendering Mode
Main Maps
Camera
天空盒
渲染管线
Profiler
Occlusion Culling 遮挡剔除
LOD Group
直接光照
环境光照
1.按住鼠标滚轮,拖动场景
2.滑动鼠标滚轮,缩放场景
3.右键,旋转视角
4.右键+W、A、S、D,漫游视角,同时按下Shift可加速移动
5.Alt+鼠标左键,环视
6.Alt+鼠标右键,视角拉近/拉远
7.在Scene场景中选中某一物体按住F,或在Hierarchy面板中双击该物体,可将视角聚焦至该物体
8.选中摄像机+Ctrl+Shift+F,快速设置摄像机到指定视角
从左到右依次是ViewTool、MoveTool、RotateTool、ScaleTool、RectTool、TransformTool
ps:对应快捷键依次是Q、W、E、R、T、Y
ViewTool:拖动场景(鼠标左键)
MoveTool:平移物体
RotateTool:旋转物体
ScaleTool:缩放物体
选择平移工具后按住V键,选择物体的某一定点。确定顶点后即可拖拽至另一物体的某个顶点上
从左到右依次是运行游戏、暂停游戏、逐帧播放
ps:在运行模式下,任何更改只是暂时的,在退出运行时会重置复位
ISO:正交模式
Persp:透视模式(近大远小)
Center:网格中心
Pivot:建模中心
ps:物体的旋转中心是物体的建模中心
Global:世界坐标
Local:自身坐标
场景Scene:是一组相关联的游戏对象GameObject的集合,通常游戏中每个关卡就是一个场景,用于展现当前关卡中的所有物体
游戏对象GameObject:是运行时出现在场景中的游戏物体(人物、地形、树木.......),同时是一种容器(父、子物体),也可以挂载组件Component
在Hierarchy面板中,将一个物体拖拽至另外一个物体中。子物体将继承父物体的移动,旋转和缩放属性,但子物体不影响父物体
ps:此时,子物体全局坐标作为参考系,而是以父物体的自身坐标作为参考系(如子物体坐标为(0,0,0)时,与父物体重合)
组件Component:是游戏对象的功能模块。每个组件都是一个类的实例
一些常见的组件:
Transform 变换组件:决定物体位置、旋转、缩放比
Camera 摄像机:向玩家捕获和显示世界
Flare Layer 耀斑层:激活可显示光源耀斑
GUI Layer:激活可渲染二维GUI元素
Audio Listener 音频监听器:接收场景输入的音频源AudioSource并通过计算机的扬声器播放声音
Mesh Filter 网格过滤器:用于从资源中获取网格信息
Mesh Renderer 网格渲染器:从网格过滤器中获得几何形状,再根据变化组件定义的位置进行渲染(模型的显示需要网格过滤器和网格渲染器)
Opaque 不透明:默认选项
Cutout 镂空:用于完全透明或完全不透明物体,如栅栏(本质上是只显示图片的透明通道隐藏,仅显示不透明的部分)
Transparent 透明:用于半透明和全透明物体,如玻璃(alpha=0时,完全透明)
Fade 渐变:用于需要淡入淡出的物体(alpha=0时,完全淡出)
ps: Transparent和Fade的区别在于alpha=0时,前者是完全透明仍可见,后者完全淡出而不可见
Albedo 基础贴图:决定物体表面纹理与颜色
Metallic 金属:使用金属特性模拟外观
Smoothness光滑度:设置物体表面光滑程度
Normal Map 法线贴图:描述物体表面凹凸程度
Emission 自发光:控制物体表面自发光颜色和贴图
1.None:不影响环境
2.Realtime:实时动态改变
3.Backed:烘焙生效
Clear Flags 清除标识:决定屏幕的空白部分如何处理
1.Skybox 天空盒:空白部分显示天空盒图案
2.Solid Color 纯色:空白部分显示背景颜色
3.Depth Only 仅深度:画中画效果时,小画面摄像机选择该项可清除屏幕空部分信息只保留物体颜色信息
Depth Only
非Depth Only(Skybox)
Don’t Clear 不清除:不清除任何颜色或深度缓存
Background 背景:所有元素绘制后,没有天空盒的情况下,剩余屏幕的颜色
Culling Mask 选择遮蔽层:选择要照射的层Layer
Projection 投射方式:
1.Perspective 透视:透视图,物体具有近大远小效果
2.Orthographic 正交:摄像机会均匀地渲染物体,没有透视感,通常小地图使用
Size 大小(正交模式):摄影机视口的大小
Field of view 视野(透视模式):设置相机视野的远近距离
Clipping Planes 裁剪面:相机到开始和结束渲染的距离
Viewport Rect 视口矩形:标明这台相机视图将会在屏幕上绘制的屏幕坐标
1.X:摄像机视图的开始水平位置
2.Y:摄像机视图的开始垂直位置
3.W:摄像机输出在屏幕上的宽度
4.H:摄像机输出在屏幕上的高度
Depth 深度:相机在渲染顺序上的位置。具有较低深度的摄像机将在较高深度的摄像机之前渲染
1.将摄像机的Clear Flags属性设置为Skybox并为其添加组件Skybox
2.Window—>Rendering—>Lighting—>Environment
6 Sided
Tint Color:色彩
Exposure:亮度
Rotation:旋转
Procedural
Sun 太阳模式:
1.None:没有
2.Simple:简单
3.Hight Quality:高质量
Atmoshpere Thickness:大气层厚度
Ground:地面颜色
ps:如果为Environment Lighting的Sun属性设置一个平行光,场景中会根据平行光角度自动创建太阳,并且位置随平行光旋转而改变。如果不设置,系统将默认选择场景中最亮的平行光
图形数据在GPU上经过运算处理,最后输出到屏幕的过程
顶点处理:接收模型顶点数据;坐标系转换
图元装配
组装面:连接相邻的顶点,绘制为三角面
光栅化:计算三角面上的像素,并为后面着色阶段提供合理的插值参数
像素处理:对每个像素区域进行着色;写入到缓存中
缓存:一个存储像素数据的内存块,最重要的缓存是帧缓存与深度缓存
1.帧缓存:存储每个像素的色彩,即渲染后的图像。帧缓存常常在显存中,显卡不断读取并输出到屏幕中
2.深度缓存z-buffer:存储像素的深度信息,即物体到摄像机的距离。光栅化时便计算各像素的深度值,如果新的深度值比现有值更近,则像素颜色被写到帧缓存,并替换深度缓存
在Game面板中点击Stats选项,Statistics面板中的Batchs就是Draw Call
Unity 性能分析器 (Unity Profiler) 是一种可以用来获取应用程序性能信息的工具。可以将性能分析器连接到网络中的设备或连接到已连接到计算机的设备,从而测试应用程序在目标发布平台上的运行情况。还可以在 Editor 中运行性能分析器,从而在开发应用程序时概要了解资源分配情况。
Window—>Analysis—>Profiler
遮挡剔除:当物体被送进渲染流水线之前,将摄像机视角内看不到的物体进行剔除,从而减少了每帧渲染数据量,提高渲染性能
将场景中的物体标记为Occlusion Static或Occludee Static,亦或是均标记
Occluder static:静态遮挡物体
Occludee static:静态被遮挡物体
勾选上Occluder static或Occludee static的物体会参与遮挡踢除系统的预计算过程,并保留计算结果,在运行时可提高遮挡踢除效率。建议将场景中无需移动的物体勾上这两个选项
ps:透明物体不能遮挡,以及小物件,都不可能阻挡其他的东西,应标记为Occludees
Window—>Rendering—>Occlusion Culling
Smallest Occluder:最小遮挡物的尺寸(能遮挡其他物体的最小尺寸,任何小于这个尺寸的背后物体将被遮挡)
Smallest Hole:该值表示相机应该看到的几何图形之间的最小间隙。
Backface Threshold:Unity的遮挡使用数据大小优化,通过测试背面减少不必要的细节。默认值为100是强大的,不会从数据集中删除背面。值为5将根据具有可见背面的位置积极减少数据。这个想法通常,有效的摄像机位置通常不会看到许多背景 - 例如,地形下面的视图,或者您不应该能够到达的固体对象中的视图。在阈值低于100的情况下,Unity将完全从数据集中删除这些区域,从而减少遮挡的数据大小。
创建遮挡区域
点击Bake后,在Scene面板的右下角的Occlusion Culling中选择Visualize
ps:记得保存Scene后在进行Bake,否则会出现No asset directiory的问题
LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算
创建一个空物体Cube并挂载LOD Group组件,然后为其创建三个Cube作为子物体,分别命名为LOD0、LOD1、LOD2
为三个作为子物体的Cube创建不同颜色的材质以示区分,并将LOD Group中的LOD 0、LOD 1、LOD 2的Renders依次设置为不同的子物体;滑动蓝色的摄像机标志即可观察不同距离的LOD
从光源直接发出的光,通过Light组件实现
Point Light 点光源:在灯光位置上向四周发射光线,可以照射其范围内的所有对象,用于模拟灯泡
Directional Light 平行光:平行发射光线,可以照射场景里所有物体,用于模拟太阳
Point Light 点光源:在灯光位置上向四周发射光线,可以照射其范围内的所有对象,用于模拟灯泡
Area Light 区域光:由一个面向一个方向发射光线,只照射该区域内物体,仅烘焙时有效,用在光线较为集中的区域
Range 范围:光从物体的中心发射的范围。仅适用于点光源和聚光灯。
Spot Angle 聚光角度:灯光的聚光角度。只适用于聚光灯
Color 颜色:光线的颜色
Shadow Type 阴影类型:
1.No Shadows:无阴影
2.Hard:硬阴影
3.Soft:软阴影
Culling Mask 选择遮蔽层:选择要照射的层Layer
Receive Shadows:当前物体是否接收阴影
Cast Shodows:
1.Off:不投射阴影
2.On:投射阴影
3.Two Sided:双面阴影
4.Shadows Only:隐藏物体只投射阴影
作用于场景内所有物体的光照
1.Skybox:通过天空盒颜色设置环境光照
2.Gradient:梯度颜色
3.Color:纯色
1.Sky:天空颜色
2.Equator:地平线颜色
3.Ground:地面颜色