游戏程序设计实验3河北工业大学资料.docx

上传人:b****8 文档编号:10661937 上传时间:2023-02-22 格式:DOCX 页数:13 大小:1.25MB
下载 相关 举报
游戏程序设计实验3河北工业大学资料.docx_第1页
第1页 / 共13页
游戏程序设计实验3河北工业大学资料.docx_第2页
第2页 / 共13页
游戏程序设计实验3河北工业大学资料.docx_第3页
第3页 / 共13页
游戏程序设计实验3河北工业大学资料.docx_第4页
第4页 / 共13页
游戏程序设计实验3河北工业大学资料.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

游戏程序设计实验3河北工业大学资料.docx

《游戏程序设计实验3河北工业大学资料.docx》由会员分享,可在线阅读,更多相关《游戏程序设计实验3河北工业大学资料.docx(13页珍藏版)》请在冰豆网上搜索。

游戏程序设计实验3河北工业大学资料.docx

游戏程序设计实验3河北工业大学资料

计算机游戏程序设计

 

实验指导书

 

河北工业大学

计算机科学与软件学院

 

实验三使用游戏元素

一、实验目的与要求

1.熟悉及掌握地形元素的使用方法。

2.熟悉及掌握光源的使用方法。

3.熟悉及掌握天空盒子的使用方法。

4.熟悉及掌握摄像机的使用方法。

二、实验原理及知识点

在3D游戏世界中,通常会将很多丰富多彩的游戏元素融合至游戏中。

游戏元素是制作游戏的必备条件,它种类繁多并且作用也大不相同。

游戏元素可分为常用元素与不常用元素两种,常用元素是游戏中一些比较重要的元素,它们需要使用脚本来实现一些特殊功能,比如玩家控制的主角对象、需要攻击的敌人、通关游戏的必要条件等,因此常用元素将直接影响游戏是否可以继续进行;而不常用元素在游戏世界中主要起装饰作用,比如游戏中的天空、云朵、树木和地形等,这些元素不会影响到游戏的主线,但是它们可以提升游戏的整体效果。

1游戏地形

玩过3D游戏的朋友应该对那些高低起伏的地形很有印象吧。

无论是秀丽的山川还是辽阔的平原,地形元素都会很生动地出现在游戏世界中,这些高低起伏的地形是2D游戏无法媲美的。

Unity中有一套非常好的地形编辑器,它可以让开发者实现游戏中任何复杂的地形,还可以制作地形上的一些元素,比如树木、草坪和石头等。

1.1创建地形

下面开始学习如何创建游戏地形。

首先打开Unity,在导航菜单栏中选择“Terrain”→“CreateTerrain”菜单项,创建一个游戏地形。

图1“Terrain”菜单

1.2地形参数

地形参数包括地形的宽度、高度、长度、分辨率和高度图等。

创建完地形后,可任意修改它们的参数。

在Unity导航菜单栏中选择“Terrain”→“SetResolution”菜单项,此时将弹出“SetHeightmapresolution”窗口,在每一个地形参数右侧直接输入数值即可修改它,然后在界面下点击右下角的“SetResolution”按钮,即可将当前设置的所有地形参数应用到地形当中。

图2设置地形参数

1.3编辑地形

到目前为止,我们创建爱你的地形还是一个巨大的平面,下面我们将学习如何编辑地形,实现高低起伏的地形效果。

首先在Hierarchy视图中选择“Terrain”地形,此时在右侧的Inspector视图中将显示用来编辑游戏地形的菜单。

可以看到,地形菜单栏中一共含有7个按钮(第一个方框内),它们的含义难以分别为编辑地形高度、编辑地形特定高度、平滑过渡地形、地形贴图、添加草与网络模型、其他一些设置。

图3编辑地形

1.4地形贴图

给地形添加贴图,让地形看起来更为美观。

Unity提供了地形标准资源包,其中包含很多现成的地形资源以及贴图,它们都是免费供开发者使用的。

首先需要将地形资源包将成功导入当前工程中。

下面我们来学习如何给地形添加新的贴图。

在地形菜单栏中点击第四个按钮(地形贴图),可以发现目前在“Textures”列表中没有任何地形贴图。

1.5地形元素

一般情况下,在游戏地形上会放置很多元素,这些元素与地形是分开的,主要包括树木、草地或自定义网格模型。

地形元素在游戏世界中起装饰作用,所以不必将它们看做游戏对象,或者为它们添加复杂的游戏脚本。

2光源

在3D游戏中,光源是一个非常具有特色的游戏组件,为什么这么说呢?

因为它可以提升游戏的画面质感。

在新创建的场景中,默认是没有光源的,场景非常昏暗,所以游戏开发中必须在场景中添加光源组件。

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

光源属于游戏对象,可在Scene视图中编辑它的位置以及光照的相关参数。

此外,光源还支持移动、旋转和缩放等操作。

在实际开发中,大家可根据不同的场景而使用不同的光源。

2.1点光源(PointLight)

顾名思义,点光源是在3D世界中从某一个点向周围扩散发出光的光源。

点光源好像包围在一个类似球形的物体中,读者可将球形理解为点光源的照射范围,就像家里的灯泡可以照亮整个屋子一样。

创建点光源的方式为在Hierarchy视图中点击“Create”→“PointLight”菜单项。

2.2聚光灯

聚光灯的原理很简单,它在3D世界中以某一个点为起点向以另一个点为圆心的平面发射一组平行光,以射线的形式照射在平面中,与手电筒的原理如出一辙。

聚光灯在游戏中的应用非常广泛,比如在第一人称游戏中,可将聚光灯绑定在主角身上,当玩家控制主角移动时,该光源也会跟着移动,始终照亮主角前方的路。

创建聚光灯的方法如下:

在Hierarchy视图中选择“Create”→“Spotlight”菜单项。

2.3平行光

平行光(DirectionalLight)的照射范围非常大,它可以照亮整个游戏世界,就好比自然界的太阳一样。

在游戏开发中,室外场景必须设置平行光,否则游戏世界整体会非常黑暗。

3天空盒子

在3D世界中,所有游戏元素都置于天空盒子当中。

天空没什么神秘的,读者可以将天空想象成一个巨大的盒子,这个盒子将整个游戏视图都包在了其中。

在Unity引擎中制作天空盒子非常方便,只需简单几步就可以完成。

制作天空盒子之前,我们首先需要寻找天空的贴图资源。

Unity为开发者提供了天空盒子资源包,里面包含很多天空的资源贴图,使用这些贴图可以制作一个美丽的天空。

首先在Project视图中点击鼠标右键,从弹出的快捷菜单中选择“ImportPackage”→“Skyboxes”菜单项,将天空盒子资源包引入工程,如图5-30所示。

在资源包中,共含有9款天空贴图资源。

因为天空盒子由立方体组成所以我们需要包含6个面的贴图材质。

在右侧的Inspector视图中,可看到每一个天空材质共有六个面的贴图,分别是Front(前)、Back(后)、Left(左)、Up(上)和Down(下)。

3.1Skybox组件

因为摄像金照射的面正是游戏显示的内容,所以可在摄像机上绑定一个Skybox组件,用于在Game视图中直接显示天空盒子贴图。

首先在Hierarchy视图中选择MainCamera游戏对象(当前摄像机),然后在Unity导航菜单栏中选择“Component”→“Rendering”→“Skybox”菜单项,即可将天空盒子组件添加至主摄像机当中。

然后在天空盒子组件中设置“CustomSkybox”(自定义天空盒子)贴图资源:

点击右侧的按钮,程序将弹出选择天空盒子贴图界面,选择一款天空盒子材质加至其中即可。

运行游戏后,美丽的天空就会出现在游戏画面中。

3.2在场景中添加天空盒子

在游戏场景中直接设置天空盒子,可避免在多个摄像机中设置天空盒子带来的切换视角后贴图显示的问题。

在场景中添加天空盒子的方法如下:

首先在Unity导航菜单栏中选择“Edit”→“RenderSettings”菜单项,打开渲染设置界面,在该界面的“SkyboxMaterial”(天空盒子材质)选项中设置哎天空的材质,然后将其直接应用于游戏场景中。

如此添加的天空盒子就不必担心摄像机切换的视角问题,因为它是将真正的盒子放在游戏世界当中了。

4摄像机

摄像机组件是Unity的核心组件之一,游戏界面中显示的一切内容正是场景中射线机所照射的部分。

作为一个游戏对象,摄像机存在Scene视图中,它可以设置自身的位置、照射的方向、照射的面积和照射的图层。

下面我们来学习一下摄像机组件的一些常用参数。

□ClearFlags:

背景显示内容,默认是Skybox(天空盒子),前提是必须在“RenderSettings”中设置过天空盒子材质。

□Background:

背景显示颜色。

如果没有设置天空盒子,将显示这个颜色。

□CullingMask:

用于选择是否显示某些层,默认为“Everything”(全部显示)。

□Projection:

摄像机的类型。

□FieldofView:

摄像机的视野范围。

□Near:

以摄像机为圆心,绘制最近点的距离。

□Far:

以摄像机为圆心,绘制最远点的距离。

□NormalizedViewPortRect:

可理解为设定Game视图的显示区域参数。

多台摄像机可以通过设置各自显示区域来分屏同时显示。

□Depth:

摄像机的深度。

若存在多个摄像机,先渲染该值较小的摄像机。

□RenderingPath:

渲染路径。

□TargetTexture:

目标纹理,设置后会挡住摄像机。

4.1摄像机的类型

Unity将摄像机分为两种类型,他们观察模型的角度是完全不同的:

一种是放射观察角度,另一种是垂直观察角度。

摄像机的类型将直接影响Game视图中的渲染效果,下面我们将学习如何设置摄像机的类型。

在Hierarchy视图中选择摄像机对象,然后在右侧的Inspector视图中单机“Projection”下拉列表,可以看到该列表中有两个选项,分别是Perspective和Orthographic。

三、实验内容及步骤

1.熟悉及掌握地形元素,练习创建地形,对地形进行编辑,给地形贴图、植草、植树,掌握地形元素的使用方法。

首先创建地形

设置地形参数

给地形贴图

种树

种草

抬升高度

2.熟悉光源的各项参数,光源的类型,分别在场景中添加平行光,点光源,聚光灯,并进行参数设置,观察其效果。

设置平行光的参数

设置点光源参数

设置聚光灯参数

3.熟悉及掌握天空盒子的使用方法,练习在场景中添加天空盒子,练习对摄像机添加天空盒子。

对场景添加天空盒子(edit->rendersettings)

对摄像机添加天空盒子(Component->Rendering->Skybox)

4.熟悉及掌握摄像机的各个参数设置,并联系摄像机的切换。

usingUnityEngine;

usingSystem.Collections;

publicclasscameraBehavior:

MonoBehaviour{

GameObjectCamera1;

GameObjectCamera2;

//Usethisforinitialization

voidStart(){

Camera1=GameObject.Find("Camera1");

Camera2=GameObject.Find("Camera2");

}

//Updateiscalledonceperframe

voidUpdate(){

}

voidOnGUI()

{

if(GUILayout.Button("摄像机1",GUILayout.Height(50)))

{

Camera1.active=true;

Camera2.active=false;

}

if(GUILayout.Button("摄像机2",GUILayout.Height(50)))

{

Camera1.active=false;

Camera2.active=true;

}

}

}

四、实验仪器与软件

1.PC计算机

2.Unity3D软件

五、实验报告要求

描述实验的基本步骤,给出各个步骤中取得的程序运行结果和源代码,并进行必要的讨论。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1