您的位置:首页 > 移动开发 > Unity3D

Unity菜鸟起飞01 -- 基础知识

2016-09-25 22:35 155 查看
操作:        

1. 按下鼠标转轴可拖动场景,滚动转轴缩放场景        

2. 鼠标右键旋转场景,按Q键,左键可移动场景        

3. 鼠标右键,按下W/S/A/D/Q/E,可场景漫游        

4. 在Scene面板选中物体按F键,可以将物体设置为场景中心        

5. 按住Alt键通过鼠标左键旋转场景,鼠标右键缩放场景        

6. 顶点吸附:选择物体后按V键,定位顶点,拖拽至目标顶点即可        

        

坐标轴:        

坐标:X红色、Y绿色、Z蓝色。        

世界坐标:整个场景的固定坐标,不会改变        

本地坐标:物体自身坐标,随旋转而改变        

        

        

Scene场景:相关联的游戏对象的集合        

Project    contains Scenes

Scene      contains GameObjects

GameObject contains Components        

        

        

        

GameObject游戏对象:组件的集合(容器,挂载组件)        
父子物体:在Hierarchy面板,将一个物体拖拽到另一个物体中        

子物体将继承父物体的移动、旋转和缩放,子物体不影响父物体        

        

Component组件:游戏对象的功能模块(一个类的实例)        

Transform(固有组件):决定物体位置、旋转、缩放比        

Mesh Filter(网格过滤器):从资源中获取网格信息(物体骨架、形状)        

Mesh Renderer(网格渲染器):从过滤器获取形状,根据节点的Transform.Position进行渲染        

Mesh Filter and Mesh Renderer,联合使用,把模型显示在屏幕        

        

Material材质:物体的质地,Shader的实例        

GameObject    contains MeshFilter & MeshRenderer

MeshRenderer  contains Material

Material      equals   Shader

Shader        contains Properties        

        

        

        
Shader着色器:用来渲染3D模型的技术(一段嵌入渲染管线中的程序,可以控制GPU运算图像效果的算法)        

物理着色器(Physically Based Shading,PBS, Unity 5.x特性),遵从物理定律,模拟现实光照效果        

Shader(Standard) 常用属性:        

Rendering Mode 渲染模式(Opaque/Transparent/Cutout/Fade)        

Main Maps - Albedo        

Shader类型:Toon(Basic Outline)/Skybox/……        

        
Camera:向玩家捕获和显示世界的设备(Scene中Camera的数量无限制)        

Audio Listener(音频监听器Component):接收场景输入的音频源Audio Source并通过计算机的扬声器播放声音。(Should be have only one.)

Camera常用属性:
Clear Flags: 决定屏幕的空白部分如何处理 (Skybox/Solid Color/Depth Only/Don’t  Clear)
Culling Mask: 剔除层Layer(只显示选择状态的Layer)
Viewport Rect: 标明这台相机视图将会在屏幕上绘制的屏幕坐标。(X Y W H)
Depth:相机在渲染顺序上的位置。具有较低深度的 摄像机将在较高深度的摄像机之前渲染。      

        

  

        
Skybox:围绕整个场景的包装器,用于模拟天空的材质(6 Sided/Procedural/Cubemap)        

使用天空盒:

1. 给Camera添加Skybox Component

2. Window - Lighting - Environment Lighting - Skybox,可作为反射源将天空色彩反射到场景中物体。       

6 Sided: Tint Color.   Procedural: Sun(None/Simple/Hight Quality)        

        

        
渲染管线:图形数据在GPU上经过运算处理,最后输出到屏幕的过程        

CPU:   游戏执行 -- 图形API(准备数据) -- 发送请求给GPU(Draw Call:每次引擎准备数据并通知GPU。即,每帧调用显卡渲染物体的次数)        

GPU:   顶点处理 -- 图元装配 -- 光栅化 -- 像素处理 -- 缓存        

顶点处理:a.接收模型顶点数据; b.坐标系转换.        

图元装配:点组装成面,连接相邻点,绘制为三角面。        

光栅化:计算三角面的像素,并为着色阶段提供合理的差值参数。        

像素处理:a.对每个像素区域进行着色; b.写入到缓存.        

缓存:一个存储像素数据的内存块,最重要的缓存为帧缓存和深度缓存。

帧缓存:存储每个像素的色彩,即渲染后的图像。帧缓存常常在显存中,显卡不断读取并输出到屏幕中。

深度缓存z-buffer:存储像素的深度信息,即物体到摄像机的距离。

(光栅化时便计算各像素的深度值,如果新的深度值比现有值更近,则像素颜色被写到帧缓存,并替换深度缓存。)             

        

        
Occlusion Culling 遮挡剔除:在物体渲染之前,将摄像机看不到的物体进行剔除,减少每帧的渲染量,从而提高渲染性能        

通过CPU计算需要剔除的物体,减少CPU数据的准备量(对应CPU发给GPU的DrawCall数量),减少GPU每帧的渲染量(数据处理),从而提高渲染性能

CPU:计算需剔除的物体(+),DrawCall数量和计算量(-)

GPU: 需要计算的请求DrawCall(-)

适用:场景中存在大量、密集的物体        

                     

        
LOD:Levels of Detai, 多细节层次        

根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。        

通过CPU计算物体和Camera距离,降低非重要物体的精度(面数和细节度),从而提高渲染性能

CPU:计算物体和Camera的距离(+),物体的精度 - 即需要处理的点和面的数量(-),加载更多的物体模型(+)

GPU: 需要处理的点和面的数量(-)

工作量:美术制作物体模型的工作量(+)

适用:有空间距离的场景        

        

        
GI: Global Illumination, 全局光照,能够计算直接光、间接光、环境光以及反射光的光照系统。        

"直接光照:从光源直接发出的光,通过Light组件实现

Light Type: Directional Light/Point Light/Spot Light/Area Light

Light Properties: Range/Intensity/Culling Mask/Shadow Type(Hard/Soft)

Mesh Renderer: Cast Shadow(Off/On/TwoSided/ShadowsOnly)/Receive Shadow(Check/UnCheck)"        

        

"间接光照: 物体表面在接受光照后反弹出来的光。只有标记Lightmaping Static的物体才能产生间接反弹光照。

Light Properties: Bounce Intensity

可以通过Scene 面板Irradiance 模式查看间接光照"                

        

"环境光照:作用于场景内所有物体的光照,通过Environment Lighting中Ambient控制。

Ambient Source/Ambient Intensity/Ambient GI(Realtime/Backed)"        

        

"反射光照:根据天空盒或立方体贴图计算的作用于所有物体的反射效果,通过Environment Lighting中Reflection控制。

Reflection Source/Reflection Intensity/Resolution/Compression"        

        

        
实时GI(Realtime GI): 指在运行期间任意修改光源,而所有的变化可以立即更新。

操作步骤:

1. 游戏对象设置为Lightmaping Static

2. 启用Lighting面板的Precomputed RealtimeGI

3. 点击Build按钮(如果勾选Auto编辑器会自动检测场景的改动修复光照效果)

Properties: Realtime Resolution/CPU Usage        

      

        
烘焙GI: 烘焙技术,可以将光线效果预渲染成贴图再作用到物体上模拟光影,从而提高性能。适用于在性能较低的设备上运行的程序。

操作步骤:

1. 游戏对象设置为Lightmaping Static。

2. 设置Light组件Baking(Realtime/Baked/Mixed)属性。

3. 启用Lighting面板的Baked GI。

4. 点击Build按钮。(如果勾选Auto 编辑器会自动检测场 景的改动修复光照效果)

可以通过Scene面板Baked模式查看光照贴图        

        

     
实时GI和烘焙GI:

区别:实时GI能够实时计算光影效果(光影效果随物体移动计算变化), 后者是把光照效果预渲染成贴图(光影效果无法随物体移动变化).

实时GI的优点:光影效果随物体移动实时变更,效果更贴近真实

实时GI的缺点:光影信息实时计算,DrawCall增加,CPU和GPU工作量增加

适用性:移动端使用烘焙GI做成贴图,动态物体借助光源侦测感知附近的光照信息        

        
光源侦测(Light Probes):由于LightMapping无法作用于static物体,利用Light Probes组件通过Probe收集光影信息,

对运动物体邻近的几个Probe进行插值运算,最后将光照作用到运动物体上。        

        

        

Audio(声音): 分为2D/3D两类(3D声音:有空间感,近大远小; 2D声音:适合背景音乐.)。        

在场景中产生声音,主要依靠两个重要组件:

Audio Listener音频监听器: 接收场景中音频源Audio Source发出的声音,通过计算机的扬声器播放声音。

Audio Source音频源:

Audio Source Properties: Audio Clip/Mute/Loop/Volume/Spatial Blend(2D-3D)

3D Sound Settings: Volume Rolloff/Min Distance/MaxDistance"       

        

        

        

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity