一、工具介绍
1.面板:
Project 项目资源面板:
存放游戏的所有资源。
与项目中资源文件夹Assets对应,例如场景、脚本、模型、音频、图片等文件。
Hierarchy 层次面板:
显示当前场景中所有游戏对象的层级关系。
包含了当前场景的游戏对象(GameObject),其中一些是资源文件的实例,如3D模型和其他预制组件的实例。
Scene场景面板
提供设计游戏界面的可视化面板。
用于操作游戏界面,做场景布局。
Game游戏面板
游戏运行视图,预览游戏运行后的界面
Inspector面板:检视面板,
显示当前选定游戏对象附加的组件及其属性信息。
为重要游戏物体选择图标。
2.工具条:
二、基础概念
1.坐标:
世界坐标:整个场景的固定坐标,不随物体旋转而改变。(类似于现实中东南西北)
本地坐标:物体自身坐标,随旋转而改变。(类似于现实中前后左右)
2.场景 Scene:
一组相关联的游戏对象的集合,常游戏中每个关卡就是一个场景,用于展现当前关卡中的所有物体。
3.游戏对象 GameObject:
运行时出现在场景中的游戏物体,是一种容器,可以挂载组件。
父、子物体:
在Hierarchy面板中,将一个物体拖拽到另外个物体中。
子物体将继承父物体的移动,旋转和缩放属性,但子物体不影响父物体。
父物体的transform参数是相对于世界坐标的;
子物体的transform参数是相对于父物体的。
4.组件 Component:
是游戏对象的功能模块,每个组件都是一个类的实例。
Transform 变换组件:决定物体位置、旋转、缩放比,
Mesh Filter 网格过滤器:用于从资源中获取网格信息,决定容器形状。
Mesh Renderer 网格渲染器:从网格过滤器中获得几何形状,决定外观,再根据变化组件定义的位置进行渲染。
网格过滤器与网格渲染器联合使用,使模型显示到屏幕上。
三、Material
1.简介:
材质:物体的质地,指色彩、纹理、光滑度、透明度、反射率、折射率、发光度等。实际就是Shader的实例。
Shader 着色器:专门用来渲染3D图形的技术,可以使纹理以某种方式展现。实际就是一段嵌入到渲染管线中的程 序,可以控制GPU运算图像效果的算法。
Texture 纹理:附加到物体表面的贴图。
2.属性:
渲染模式 Rendering Mode:
Opaque:不透明的,适用于没有透明区域的普通实体对象。
Cutout:裁切,允许你创建一个透明的效果,在不透明和透明区域之间有硬边。在这种模式下,没有半透明区域,纹理要么100%不透明,要么不可见。
Transparent:透明,适用于渲染真实的透明材料,如透明塑料或玻璃,不会完全没有。
Fade:淡入淡出,允许一个对象依据透明度值完全淡出,包括它可能有的高光或反射,可能会完全不显示。它不适合渲染真实的透明材料。
Material Standard Main Maps:
四、Camera
1.简介:
附加了摄像机Camera组件的游戏对象;
向玩家捕获和显示世界的设备;
场景中摄像机的数量不受限制;
2.组件:
Transform:变换组件;
Camera:相机组件,捕获和显示世界;
Flare Layer(不常用):耀斑层,激活可显示光源耀斑;
GUI Layer:激活可渲染二维GUI元素;
Audio Listener:音频监听器,接受场景输入的音频源Audio Source并播放;
3.属性:
4.天空盒:
围绕整个场景的包装器,用于模拟天空的材质。
天空盒材质种类: 6 Sided,Procedural,Cubemap 。
使用天空盒:
设置摄像机 Clear Flags 属性为 Skybox。
方式一:摄像机添加组件 Skybox
方法二:光照窗口:Window – Lighting – Environment Lighting -- Skybox
可作为反射源将天空色彩反射到场景中物体。
6 Sided 属性
Tint Color 色彩
Exposure 亮度
Rotation 旋转
Procedural 属性
Sun 太阳模式
None 没有
Simple 简单
Hight Quality 高质量
Atmoshpere Thickness 大气层厚度
Ground 地面颜色
如果为Environment Lighting的Sun属性设置一个平行光,场景中会根据平行光角度自动创建太阳,并且位置随平行光旋转而改变。如果不设置,系统将默认选择场景中最亮的平行光
五、InstantOC
1.渲染管线:
图形数据在GPU上经过运算处理,最后输出到屏幕的过程。
2.遮挡剔除 Occlusion Culling:
即时遮挡剔除 Instant Occlusion Culling
遮挡剔除:当物体被送进渲染流水线之前,将摄像机视角内看不到的物体进行剔除,从而减少了每帧渲染数据量,提高渲染性能
步骤:
创建层;
为游戏物体指定层(将参与遮挡剔除)与标签(将自动附加IOClod脚本);
物体添加碰撞器Collider组件;
摄像机附加脚本IOCcam
属性:
Layer mask:参与遮挡剔除的游戏对象层。
IOC Tag:将为指定标签的游戏对象自动添加IOClod脚本对象。
Samples:每帧摄像机发射的射线数目。数量多剔除效果好,但性能开销大。通常在150—500之间。
Rays FOV:射线视野,应大于摄像机视野Field of View。
View Distance:视图距离,射线长度。 将影响摄像机Clipping Planes –Far 数值。
Hide Delay:延迟隐藏,当物体被剔除时延迟的帧数,建议50—100之间。
PreCull Check:检查采集信息,建议勾选,可以提高剔除效率。
Realtime Shadows:实时阴影,如果场景需要实时阴影,建议启用,确保剔除物体显示正常的阴影。
六、光照系统
1.简介:
Global Illumination
简称GI,即全局光照。
能够计算直接光、间接光、环境光以及反射光的光照系统。
通过GI算法可以使渲染出来的光照效果更为真实丰富。
直接光照
间接光照
物体表面在接受光照后反射出来的光。
通过 Light 组件中 Bounce Intensity 反弹强度控制。
可以通过 Scene 面板 Irradiance 模式查看间接光照。
注意:只有标记 Lightmaping Static 的物体才能产生间接反弹光照。
环境光照
反射光照
根据天空盒或立方体贴图计算的作用于所有物体的反射效果,通过 Environment Lighting 中 Reflection 控制。
Reflection Source 反射源
·Skybox 天空盒
·Resolution 分辨率 Compression 是否压缩
·Custom 自定义
·Cubemap 立方体贴图
Reflection Intensity 反射强度
Reflection Bounces 使用 Reflection Probe 后允许不同游戏对象间来回反弹的次数。
2.实时GI Realtime GI:
所谓"实时"是指在运行期间任意修改光源,而所有的变化可以立即更新。
操作步骤
游戏对象设置为 Lightmaping Static
启用 Lighting 面板的 Precomputed Realtime GI
点击Build按钮(如果勾选 Auto 编辑器会自动检测场景的改动修复光照效果)
3.烘焙GI:
烘焙 Lightmap
当场景包含大量物体时,实时光照和阴影对游戏性能有很大影响。
使用烘焙技术,可以将光线效果预渲染成贴图再作用到物体上模拟光影,从而提高性能。
适用于在性能较低的设备上运行的程序。
步骤
游戏对象设置为 Lightmaping Static。
设置Light组件Baking属性。
启用 Lighting 面板的 Baked GI。
点击Build按钮。(如果勾选 Auto 编辑器会自动检测场景的改动修复光照效果)
Light 组件 Baking 属性:烘焙模式
-- Realtime 仅实时光照时起作用 。
-- Baked 仅烘焙时起作用 。
-- Mixed 混合,烘焙与实时光照都起作用。
可以通过 Scene 面板 Baked 模式查看光照贴图。
七、声音
1.简介:
Unity 支持的音频文件格式:
mp3,ogg,wav,aif,mod,it,s3m,xm。
声音分为2D、3D两类
3D声音:有空间感,近大远小。
2D声音:适合背景音乐。
场景中产生声音,主要依靠两个重要组件:
Audio Listener 音频监听器:接收场景中音频源Audio Source发出的声音,通过计算机的扬声器播放声音。
Audio Source 音频源
2.音频源 Audio Source:
Audio Clip 音频剪辑:需要播放的音频资源。
Mute 静音:如果启用,播放音频没有声音 。
Play On Awake 唤醒播放:勾选后场景启动时自动播放。
Loop 循环:循环播放音频。
Volume 音量:音量大小
Pitch 音调 :通过改变音调值调节音频播放速度。t 是正常播放。
Stereo Pan:2D声音设置左右声道。
Spatial Blend:2D 与 3D声音切换
3D 声音设置
Volume Rolloff 音量衰减方式
Min Distance 开始衰减距离
Max Distance 结束衰减距离