计算机游戏程序设计实验指导书(3)-河北工业大学2018
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机游戏程序设计
实验指导书
河北工业大学
计算机科学与软件学院
实验三使用游戏元素
一、实验目的与要求
1. 熟悉及掌握地形元素的使用方法。
2. 熟悉及掌握光源的使用方法。
3. 熟悉及掌握天空盒子的使用方法。
4. 熟悉及掌握摄像机的使用方法。
二、实验原理及知识点
在3D游戏世界中,通常会将很多丰富多彩的游戏元素融合至游戏中。游戏元素是制作游戏的必备条件,它种类繁多并且作用也大不相同。游戏元素可分为常用元素与不常用元素两种,常用元素是游戏中一些比较重要的元素,它们需要使用脚本来实现一些特殊功能,比如玩家控制的主角对象、需要攻击的敌人、通关游戏的必要条件等,因此常用元素将直接影响游戏是否可以继续进行;而不常用元素在游戏世界中主要起装饰作用,比如游戏中的天空、云朵、树木和地形等,这些元素不会影响到游戏的主线,但是它们可以提升游戏的整体效果。
1游戏地形
玩过3D游戏的朋友应该对那些高低起伏的地形很有印象吧。无论是秀丽的山川还是辽阔的平原,地形元素都会很生动地出现在游戏世界中,这些高低起伏的地形是2D游戏无法媲美的。Unity中有一套非常好的地形编辑器,它可以让开发者实现游戏中任何复杂的地形,还可以制作地形上的一些元素,比如树木、草坪和石头等。
1.1创建地形
下面开始学习如何创建游戏地形。首先打开Unity,在导航菜单栏中选择“Terrain”→“Create Terrain”菜单项,创建一个游戏地形。
图1 “Terrain”菜单
1.2 地形参数
地形参数包括地形的宽度、高度、长度、分辨率和高度图等。创建完地形后,可任意修改它们的参数。在Unity导航菜单栏中选择“Terrain”→“Set Resolution”菜单项,此时将弹出“Set Heightmap resolution”窗口,在每一个地形参数右侧直接输入数值即可修改它,然后在界面下点击右下角的“Set Resolution”按钮,即可将当前设置的所有地形参数应用到地形当中。
图2 设置地形参数
1.3编辑地形
到目前为止,我们创建爱你的地形还是一个巨大的平面,下面我们将学习如何编辑地形,实现高低起伏的地形效果。首先在Hierarchy视图中选择“Terrain”地形,此时在右侧的Inspector视图中将显示用来编辑游戏地形的菜单。可以看到,地形菜单栏中一共含有7个按钮(第一个方框内),
它们的含义难以分别为编辑地形高度、编辑地形特定高度、平滑过渡地形、地形贴图、添加草与网络模型、其他一些设置。
图3 编辑地形
1.4 地形贴图
给地形添加贴图,让地形看起来更为美观。Unity提供了地形标准资源包,其中包含很多现成的地形资源以及贴图,它们都是免费供开发者使用的。。
首先需要将地形资源包将成功导入当前工程中。下面我们来学习如何给地形添加新的贴图。在地形菜单栏中点击第四个按钮(地形贴图),可以发现目前在“Textures”列表中没有任何地形贴图。
1.5地形元素
一般情况下,在游戏地形上会放置很多元素,这些元素与地形是分开的,主要包括树木、草地或自定义网格模型。地形元素在游戏世界中起装饰作用,所以不必将它们看做游戏对象,或者为它们添加复杂的游戏脚本。
2 光源
在3D游戏中,光源是一个非常具有特色的游戏组件,为什么这么说呢?因为它可以提升游戏的画面质感。在新创建的场景中,默认是没有光源的,场景非常昏暗,所以游戏开发中必须在场景中添加光源组件。
Unity引擎一共为开发者提供了3种不同的光源类型——点光源、聚光灯和平行光,它们可以模拟自然界中的任何一种光。光源属于游戏对象,可在Scene视图中编辑它的位置以及光照的相关参数。此外,光源还支持移动、旋转和缩放等操作。在实际开发中,大家可根据不同的场景而使用不同的光源。
2.1 点光源(Point Light)
顾名思义,点光源是在3D世界中从某一个点向周围扩散发出光的光源。点光源好像包围在一个类似球形的物体中,读者可将球形理解为点光源的照射范围,就像家里的灯泡可以照亮整个屋子一样。创建点光源的方式为在Hierarchy视图中点击“Create”→“Point Light”菜单项。
2.2 聚光灯
聚光灯的原理很简单,它在3D世界中以某一个点为起点向以另一个点为圆心的平面发射一组平行光,以射线的形式照射在平面中,与手电筒的原理如出一辙。聚光灯在游戏中的应用非常广泛,比如在第一人称游戏中,可将聚光灯绑定在主角身上,当玩家控制主角移动时,该光源也会跟着移动,始终照亮主角前方的路。创建聚光灯的方法如下:在Hierarchy视图中选择“Create”→“Spot light”菜单项。
2.3 平行光
平行光(Directional Light)的照射范围非常大,它可以照亮整个游戏世界,就好比自然界的太阳一样。在游戏开发中,室外场景必须设置平行光,否则游戏世界整体会非常黑暗。
3天空盒子
在3D世界中,所有游戏元素都置于天空盒子当中。天空没什么神秘的,读者可以将天空想象成一个巨大的盒子,这个盒子将整个游戏视图都包在了其中。在Unity引擎中制作天空盒子非常方便,只需简单几步就可以完成。
制作天空盒子之前,我们首先需要寻找天空的贴图资源。Unity为开发者提供了天空盒子资源包,里面包含很多天空的资源贴图,使用这些贴图可以制作一个美丽的天空。首先在Project视图中点击鼠标右键,从弹出的快捷菜单中选择“Import Package”→“Skyboxes”菜单项,将天空盒子资源包引入工程,如图5-30所示。在资源包中,共含有9款天空贴图资源。因为天空盒子由立方体组成所以我们需要包含6个面的贴图材质。在右侧的Inspector视图中,可看到每一个天空材质共有六个面的贴图,分别是Front (前)、Back(后)、Left(左)、Up(上)和Down(下)。
3.1 Skybox组件
因为摄像金照射的面正是游戏显示的内容,所以可在摄像机上绑定一个Skybox组件,用于在Game视图中直接显示天空盒子贴图。首先在Hierarchy 视图中选择Main Camera游戏对象(当前摄像机),然后在Unity导航菜单栏中选择“Component”→“Rendering”→“Skybox”菜单项,即可将天空盒子组件添加至主摄像机当中。然后在天空盒子组件中设置“Custom Skybox”(自定义天空盒子)贴图资源:点击右侧的按钮,程序将弹出选择天空盒子贴图界面,选择一款天空盒子材质加至其中即可。运行游戏后,美丽的天空就会出现在游戏画面中。
3.2 在场景中添加天空盒子
在游戏场景中直接设置天空盒子,可避免在多个摄像机中设置天空盒子带来的切换视角后贴图显示的问题。在场景中添加天空盒子的方法如下:首先在Unity导航菜单栏中选择“Edit”→“Render Settings”菜单项,打开渲染设置界面,在该界面的“Skybox Material”(天空盒子材质)选项中设置哎天空的材质,然后将其直接应用于游戏场景中。如此添加的天空盒子就不必担心摄像机切换的视角问题,因为它是将真正的盒子放在游戏世界当中了。
4 摄像机
摄像机组件是Unity的核心组件之一,游戏界面中显示的一切内容正是场景中射线机所照射的部分。作为一个游戏对象,摄像机存在Scene视图中,它可以设置自身的位置、照射的方向、照射的面积和照射的图层。下面我们