unity3D游戏开发五之创建基本游戏场景二
发布日期:2022-02-08 18:03:33 浏览次数:29 分类:技术文章

本文共 2149 字,大约阅读时间需要 7 分钟。

光源是每一个场景的重要组成部分,网格模型和材质纹理决定了场景的形状和质感,光源则决定了场景环境的明暗、色彩和氛围。每个场景中可以使用一个以上的光源,合理地使用光源可以创造完美的视觉效果。

uniity提供了4种类型的光源

1、Directional light:方向光源,类似于自然界中日光的照明效果

2、Point light:点光源,类似灯泡的照明效果

3、Spotlight:聚光灯,类似射灯的照明效果

4、Area Light:区域光/面光源

创建过程如下图:

光源的参数信息:

Type:类型,光源的类型

Range:范围,该项用于控制光线从光源对象的中心发射的距离,只有点光源和聚光灯有该参数

Color:颜色,该项用于调节光源的颜色

Intensity:强度,该项用于控制光源的强度,聚光灯以及点光源的默认值是1,方向光默认值是0.5

Cookie:该项用于为光源指定拥有alpha通道的纹理,使光线在不同的地方有不同的亮度

Cookie Size:该项用于控制缩放Cookie投影,只有方向光有该参数

Shadow Type:阴影类型,可以选择No Shadows(关闭阴影)、Hard Shadows(硬阴影)以及Soft Shadows(软阴影),只有Directional light光源才可以开启阴影

Draw Halo:绘制光晕

Flare:耀斑/眩光,该项用于为光源指定耀斑/镜头光晕的效果

Render Mode:渲染模式,该项用于指定光源的渲染模式,有三项可供选择,Auto:自动,根据光源的亮度以及运行时质量设置的设置来确定光源渲染模式;Important:重要,光源逐像素进行渲染;No Important:不重要,光源总是以最快的速度进行渲染

Culling Mask:剔除遮蔽图,选中层所关联的游戏对象将受到光源照射的影响

Lightmapping:光照贴图

OK,下面我们看看具体的案列

先导入已经制作好的场景,如下图:

我们依次打开菜单栏GameObject->Create Other->Directional light,为场景添加一个方向光,此时你会发现场景明亮了许多,如下图:

我们想模拟午后阳光效果,所以在检索视图中我们修改光源的颜色,并设置强度为0.8,并且添加阴影,在Shadows Type中我们选择Hard Shadows(硬阴影),如下图:

接下来我们介绍下摄像机

正如电影中的镜头用来将故事呈现给观众一样,Unity的摄像机用来将游戏世界呈现给玩家,游戏场景中至少有一台摄像机,也可以有多台,多台摄像机可以创建双人分屏效果或高级的自定义效果。

Unity中支持两种类型的摄像机,分别是perspective(透视)以及Orthographic(正交)摄像机,可以理解为用在3D和2D上,我们来看下摄像机的属性,如下图:

我们看下Camera组件的参数

Clear Flags:清除标记,决定屏幕的哪部分将被清除,该项一般用于使用多台摄像机来描绘不同游戏对象的情况,有3种模式

Skybox:天空盒,该模式为默认设置,在屏幕中空白的部分将显示当前摄像机的天空盒,如果当前摄像机没有设置天空盒,它会默认使用Background背景色。

Solid Color:纯色,选择该模式屏幕上的空白部分将显示当前摄像机的背景色。

Depth only:仅深度

Don't Clear:不清除

Background: 背景,该项用于设置背景颜色

Culling Mask:剔除遮罩,依据游戏对象所指定的层来控制摄像机所渲染的游戏对象

Projection:投射方式

Perspective:透视,摄像机将用透视的方式来渲染游戏对象

Orthographic:正交,摄像机将用无透视的方式均匀地渲染游戏对象

Field of view:视野范围,只针对透视模式,该项用于控制摄像机的视角宽度,以及纵向的角度尺寸

Clipping Planes:剪裁平面,摄像机开始渲染于停止渲染之间的距离

View Port Rect:标准视图矩形,用四个数值来控制该摄像机的视图将绘制在屏幕的位置以及大小,该项使用屏幕坐标系,数值在0-1之间

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

Rendering Path:渲染路径

Target Texture:目标纹理

HDR:高动态光照渲染

下面我们来看看如何在场景中实现画中画

导入现有的场景,在该场景中已经有了一个名为Camera的摄像机,Deth深度为0,摄像机视野包括了场景中的桥,如下图:

接下来我们新创建一个Camera,命名为Camera01,然后调整摄像机的视野范围,跟第一个摄像机有所区别,然后Deth设为1,然后我们我们点击Play按钮,发现出现的第二个摄像机的画面,如下图:

为了使该相机占用屏幕的一部分来实现画中画的效果,接下来对ViewPortRect属性进行编辑,改为0.6,0.58,1,1,单击Play按钮,如下图:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

转载地址:https://blog.csdn.net/kuloveyouwei/article/details/23031179 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:连连看外挂消去算法分析
下一篇:unity3D游戏开发四之创建基本游戏场景一

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月08日 07时39分30秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章