Skip to main content
VRCHINA
AR论坛
 首页 » 资源教程

Unity教程:光源、摄像机(九)

2016年07月20日 14:11:349730

光源(Light):

在 3D游戏中,光源是一个非常重要的游戏组件,因为它可以提升游戏的画面质感。在新创建的场景中,默认是没有光源的,场景昏暗所以开发中必须在场景中添加光源组件。

Unity  引擎一共为开发者提供了3种不同的类型光源:平行光、点光源、聚光灯,它们是可以模拟自然界中的任何一种光。

Unity教程:光源、摄像机(九) 资源教程 第1张

        资源属于游戏对象,可以在 Scene视图中编辑它的位置以及光源的相关参数。 此外光源支 持移动、旋转、缩放等操作。在实际的开发中程序员可以根据不同的场景使用不同的光源。

灯光有两种渲染方式:顶点(vertex )光照和像素(pixel )光照。顶点光照只计算游戏模型的顶点照明和通过插值计算得出模型表面所有光线。灯光在屏幕每一个像素计算,因此很奢侈(耗费资源)。一些旧的显卡只支持顶点光照。

像素光照渲染得慢,但它能够实现一些顶点光照不能实现的效果。正规映射(Normal-mapping),灯光cookies(light cookies) 和实时阴影(realtime shadows)只能由像素光照渲染。

平行光(Directional   Light):

平行光(Directional   Light)的照射范围非常大,可以照亮整个游戏世界,就好像自然界中 的太阳。  在游戏的开发过程中,室外场景必须设置平行光,否则游戏场景会非常昏暗。使用它的时候,需要旋转其照射世界的角度。主要用于模拟在室外场景的阳光与月光。

Unity教程:光源、摄像机(九) 资源教程 第2张

点光源( Point Light ):

点光源是 3D 世界中从某一个点向周围扩散发出的光的光源。 如图 右所示, 点光源 就好像包围在一个类似球形的物体中,可将球形理解为点光源的照射范围,就像家里的灯泡可以照亮整个屋子一样。通常用于爆炸、灯泡。

Unity教程:光源、摄像机(九) 资源教程 第3张

聚光灯(Spot Light):

聚光灯的原理很简单,就是在 3D 世界中以某一个点为起点向以另一个点为圆心的平面发 射一组平行光,以射线的形式照射在平面中,它们用作手电筒,汽车的车头灯或者灯柱。

Unity教程:光源、摄像机(九) 资源教程 第4张

区域光(Area Light):

区域光光源就是在自定义的区域内有光照。只有在自定义区域内的物体才有光照效果。

Unity教程:光源、摄像机(九) 资源教程 第5张

光源参数介绍:

Type:  光源的类型。
Range:  光照的影响范围。
Color:   光照的颜色。
Intensity:    光照的强度,可在原有光照的影响范围上缩小光照的面积。
Cookie:    设置贴图的阿尔法透明通道。 将点光源看做立方体,可设置其六个面有不同的亮 度,所以这里必须使用 Cubmap 贴图,其他 2D 贴图均无效。
Shadow Type:   光源投射的阴影类型。
Draw Halo:   是否在点光源中使用白雾效果。
Flare:设置光源粒子效果。
Render Mode:  光源的渲染模式。
Culling  Mask:  通过层可设置某些地图层不受光照影响。
Lightmapping:    设置光照贴图模式。

Unity教程:光源、摄像机(九) 资源教程 第6张

摄像机(Camera):

摄像机(Camera)相当于眼睛。通过摄像机,玩家才能 在屏幕上观看到游戏的世界。在游戏场景中至少需要有一台摄像机,当然也可以包含多个摄像 机。如果采用多摄像机,那么每个摄像机所所捕获的内容可以在画面中的不同层次上或者不同 位置上显示,例如可以实现多玩家在同个屏幕上的分(比如多人赛车)。编辑器里 Game 窗口中的画面就是由场景中的摄像机捕获的。当在 Unity3D  中新建一个场景时,都会有一台默认的主摄像机(Main   Camera)。只有处于摄像机的视见体范围之内,物体才能被看到。

摄像机在场景中是作为组件存在的,也就是说,摄像机组件必须添加到某个游戏对象上才 能起作用。因此,摄像机的属性也能通过脚本代码来控制。同时,摄像机作为游戏场景中的游戏对象,因此可以像普通游戏对象一样对它进行控制。在使用摄像机之前,需要先熟悉摄像机组件中的属性定义。 

Unity教程:光源、摄像机(九) 资源教程 第7张

摄像机组件参数:

1. Clear Flags:清除标记。决定屏幕的哪部分将被清除。一般用户使用对台摄像机来描绘不同游戏对象的情况,有3中模式选择:   Skybox:天空盒。默认模式。在屏幕中的空白部分将显示当前摄像机的天空盒。如果当前摄像机没有设置天空盒,会默认用Background色。   Solid Color:纯色。选择该模式屏幕上的空白部分将显示当前摄像机的background色。   Depth only:仅深度。该模式用于游戏对象不希望被裁剪的情况。   Dont Clear:不清除。该模式不清除任何颜色或深度缓存。其结果是,每一帧渲染的结果叠加在下一帧之上。一般与自定义的shader配合使用。

2. Background:背景。设置背景颜色。在镜头中的所有元素渲染完成且没有指定skybox的情况下,将设置的颜色应用到屏幕的空白处。

3. Culling Mask:剔除遮罩,选择所要显示的layer。

4. Projection:投射方式。   Perspective:透视。摄像机将用透视的方式来渲染游戏对象。     Field of view:视野范围。用于控制摄像机的视角宽度以及纵向的角度尺寸。   Orthographic:正交。摄像机将用无透视的方式来渲染游戏对象。     Size:大小。用于控制正交模式摄像机的视口大小。

5. Clipping Planes: 剪裁平面。摄像机开始渲染与停止渲染之间的距离。   Near:近点。摄像机开始渲染的最近的点。   Far:远点。摄像机开始渲染的最远的点。

6. Viewport Rect:标准视图矩形。用四个数值来控制摄像机的视图将绘制在屏幕的位置和大小,使用的是屏幕坐标系,数值在0~1之间。坐标系原点在左下角。

7. Depth:深度。用于控制摄像机的渲染顺序,较大值的摄像机将被渲染在较小值的摄像机之上。

8. Rendering Path:渲染路径。用于指定摄像机的渲染方法。  

 Use Player Settings:使用Project Settings-->Player中的设置。   

   Vertex Lit:顶点光照。摄像机将对所有的游戏对象座位顶点光照对象来渲染。  

 Forward:快速渲染。摄像机将所有游戏对象将按每种材质一个通道的方式来渲染。  

 Deferred Lighting:延迟光照。摄像机先对所有游戏对象进行一次无光照渲染,用屏幕空间大小的Buffer保存几何体的深度、法线已经高光强度,生成的Buffer将用于计算光照,同时生成一张新的光照信息Buffer。最后所有的游戏对象会被再次渲染,渲染时叠加光照信息Buffer的内容。

9. Target Texture: 目标纹理。用于将摄像机视图输出并渲染到屏幕。一般用于制作导航图或者画中画等效果。
10. HDR:高动态光照渲染。用于启用摄像机的高动态范围渲染功能。
原文地址:http://www.chinaar.com/ZYJC/722.html
评论列表暂无评论
发表评论