ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:1.25MB ,
资源ID:10661937      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10661937.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(游戏程序设计实验3河北工业大学资料.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、游戏程序设计实验3河北工业大学资料计算机游戏程序设计实验指导书河北工业大学计算机科学与软件学院实验三 使用游戏元素一、实验目的与要求1. 熟悉及掌握地形元素的使用方法。2. 熟悉及掌握光源的使用方法。3. 熟悉及掌握天空盒子的使用方法。4. 熟悉及掌握摄像机的使用方法。二、实验原理及知识点在3D游戏世界中,通常会将很多丰富多彩的游戏元素融合至游戏中。游戏元素是制作游戏的必备条件,它种类繁多并且作用也大不相同。游戏元素可分为常用元素与不常用元素两种,常用元素是游戏中一些比较重要的元素,它们需要使用脚本来实现一些特殊功能,比如玩家控制的主角对象、需要攻击的敌人、通关游戏的必要条件等,因此常用元素将

2、直接影响游戏是否可以继续进行;而不常用元素在游戏世界中主要起装饰作用,比如游戏中的天空、云朵、树木和地形等,这些元素不会影响到游戏的主线,但是它们可以提升游戏的整体效果。1游戏地形玩过3D游戏的朋友应该对那些高低起伏的地形很有印象吧。无论是秀丽的山川还是辽阔的平原,地形元素都会很生动地出现在游戏世界中,这些高低起伏的地形是2D游戏无法媲美的。Unity中有一套非常好的地形编辑器,它可以让开发者实现游戏中任何复杂的地形,还可以制作地形上的一些元素,比如树木、草坪和石头等。1.1创建地形下面开始学习如何创建游戏地形。首先打开Unity,在导航菜单栏中选择“Terrain” “Create Terr

3、ain”菜单项,创建一个游戏地形。图1 “Terrain”菜单1.2 地形参数地形参数包括地形的宽度、高度、长度、分辨率和高度图等。创建完地形后,可任意修改它们的参数。在Unity导航菜单栏中选择“Terrain” “Set Resolution”菜单项,此时将弹出“Set Heightmap resolution”窗口,在每一个地形参数右侧直接输入数值即可修改它,然后在界面下点击右下角的“Set Resolution”按钮,即可将当前设置的所有地形参数应用到地形当中。图2 设置地形参数1.3编辑地形到目前为止,我们创建爱你的地形还是一个巨大的平面,下面我们将学习如何编辑地形,实现高低起伏的地

4、形效果。首先在Hierarchy视图中选择“Terrain”地形,此时在右侧的Inspector视图中将显示用来编辑游戏地形的菜单。可以看到,地形菜单栏中一共含有7个按钮(第一个方框内),它们的含义难以分别为编辑地形高度、编辑地形特定高度、平滑过渡地形、地形贴图、添加草与网络模型、其他一些设置。图3 编辑地形1.4 地形贴图给地形添加贴图,让地形看起来更为美观。Unity提供了地形标准资源包,其中包含很多现成的地形资源以及贴图,它们都是免费供开发者使用的。首先需要将地形资源包将成功导入当前工程中。下面我们来学习如何给地形添加新的贴图。在地形菜单栏中点击第四个按钮(地形贴图),可以发现目前在“T

5、extures”列表中没有任何地形贴图。1.5地形元素一般情况下,在游戏地形上会放置很多元素,这些元素与地形是分开的,主要包括树木、草地或自定义网格模型。地形元素在游戏世界中起装饰作用,所以不必将它们看做游戏对象,或者为它们添加复杂的游戏脚本。2 光源在3D游戏中,光源是一个非常具有特色的游戏组件,为什么这么说呢?因为它可以提升游戏的画面质感。在新创建的场景中,默认是没有光源的,场景非常昏暗,所以游戏开发中必须在场景中添加光源组件。Unity引擎一共为开发者提供了3种不同的光源类型点光源、聚光灯和平行光,它们可以模拟自然界中的任何一种光。光源属于游戏对象,可在Scene视图中编辑它的位置以及光

6、照的相关参数。此外,光源还支持移动、旋转和缩放等操作。在实际开发中,大家可根据不同的场景而使用不同的光源。2.1 点光源(Point Light)顾名思义,点光源是在3D世界中从某一个点向周围扩散发出光的光源。点光源好像包围在一个类似球形的物体中,读者可将球形理解为点光源的照射范围,就像家里的灯泡可以照亮整个屋子一样。创建点光源的方式为在Hierarchy视图中点击“Create”“Point Light”菜单项。2.2 聚光灯聚光灯的原理很简单,它在3D世界中以某一个点为起点向以另一个点为圆心的平面发射一组平行光,以射线的形式照射在平面中,与手电筒的原理如出一辙。聚光灯在游戏中的应用非常广泛

7、,比如在第一人称游戏中,可将聚光灯绑定在主角身上,当玩家控制主角移动时,该光源也会跟着移动,始终照亮主角前方的路。创建聚光灯的方法如下:在Hierarchy视图中选择“Create”“Spot light”菜单项。2.3 平行光平行光(Directional Light)的照射范围非常大,它可以照亮整个游戏世界,就好比自然界的太阳一样。在游戏开发中,室外场景必须设置平行光,否则游戏世界整体会非常黑暗。3天空盒子在3D世界中,所有游戏元素都置于天空盒子当中。天空没什么神秘的,读者可以将天空想象成一个巨大的盒子,这个盒子将整个游戏视图都包在了其中。在Unity引擎中制作天空盒子非常方便,只需简单几

8、步就可以完成。制作天空盒子之前,我们首先需要寻找天空的贴图资源。Unity为开发者提供了天空盒子资源包,里面包含很多天空的资源贴图,使用这些贴图可以制作一个美丽的天空。首先在Project视图中点击鼠标右键,从弹出的快捷菜单中选择“Import Package”“Skyboxes”菜单项,将天空盒子资源包引入工程,如图5-30所示。在资源包中,共含有9款天空贴图资源。因为天空盒子由立方体组成所以我们需要包含6个面的贴图材质。在右侧的Inspector视图中,可看到每一个天空材质共有六个面的贴图,分别是Front(前)、Back(后)、Left(左)、Up(上)和Down(下)。3.1 Skyb

9、ox组件因为摄像金照射的面正是游戏显示的内容,所以可在摄像机上绑定一个Skybox组件,用于在Game视图中直接显示天空盒子贴图。首先在Hierarchy视图中选择Main Camera游戏对象(当前摄像机),然后在Unity导航菜单栏中选择“Component”“Rendering”“Skybox”菜单项,即可将天空盒子组件添加至主摄像机当中。然后在天空盒子组件中设置“Custom Skybox”(自定义天空盒子)贴图资源:点击右侧的按钮,程序将弹出选择天空盒子贴图界面,选择一款天空盒子材质加至其中即可。运行游戏后,美丽的天空就会出现在游戏画面中。3.2 在场景中添加天空盒子在游戏场景中直接

10、设置天空盒子,可避免在多个摄像机中设置天空盒子带来的切换视角后贴图显示的问题。在场景中添加天空盒子的方法如下:首先在Unity导航菜单栏中选择“Edit”“Render Settings”菜单项,打开渲染设置界面,在该界面的“Skybox Material”(天空盒子材质)选项中设置哎天空的材质,然后将其直接应用于游戏场景中。如此添加的天空盒子就不必担心摄像机切换的视角问题,因为它是将真正的盒子放在游戏世界当中了。4 摄像机摄像机组件是Unity的核心组件之一,游戏界面中显示的一切内容正是场景中射线机所照射的部分。作为一个游戏对象,摄像机存在Scene视图中,它可以设置自身的位置、照射的方向、

11、照射的面积和照射的图层。下面我们来学习一下摄像机组件的一些常用参数。Clear Flags:背景显示内容,默认是Skybox(天空盒子),前提是必须在“Render Settings”中设置过天空盒子材质。Background:背景显示颜色。如果没有设置天空盒子,将显示这个颜色。Culling Mask:用于选择是否显示某些层,默认为“Everything”(全部显示)。Projection:摄像机的类型。Field of View:摄像机的视野范围。Near:以摄像机为圆心,绘制最近点的距离。Far:以摄像机为圆心,绘制最远点的距离。Normalized View Port Rect:可理解

12、为设定Game视图的显示区域参数。多台摄像机可以通过设置各自显示区域来分屏同时显示。Depth:摄像机的深度。若存在多个摄像机,先渲染该值较小的摄像机。Rendering Path:渲染路径。Target Texture:目标纹理,设置后会挡住摄像机。4.1 摄像机的类型Unity将摄像机分为两种类型,他们观察模型的角度是完全不同的:一种是放射观察角度,另一种是垂直观察角度。摄像机的类型将直接影响Game视图中的渲染效果,下面我们将学习如何设置摄像机的类型。在Hierarchy视图中选择摄像机对象,然后在右侧的Inspector视图中单机“Projection”下拉列表,可以看到该列表中有两个

13、选项,分别是Perspective和Orthographic。三、实验内容及步骤1. 熟悉及掌握地形元素,练习创建地形,对地形进行编辑,给地形贴图、植草、植树,掌握地形元素的使用方法。首先创建地形设置地形参数给地形贴图种树种草抬升高度2. 熟悉光源的各项参数,光源的类型,分别在场景中添加平行光,点光源,聚光灯,并进行参数设置,观察其效果。设置平行光的参数设置点光源参数设置聚光灯参数3. 熟悉及掌握天空盒子的使用方法,练习在场景中添加天空盒子,练习对摄像机添加天空盒子。对场景添加天空盒子(edit-render settings)对摄像机添加天空盒子(Component-Rendering-Sk

14、ybox)4. 熟悉及掌握摄像机的各个参数设置,并联系摄像机的切换。using UnityEngine;using System.Collections;public class cameraBehavior : MonoBehaviour GameObject Camera1; GameObject Camera2; / Use this for initialization void Start () Camera1=GameObject.Find(Camera1); Camera2=GameObject.Find(Camera2); / Update is called once per frame void Update () void OnGUI() 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. Unity 3D软件 五、实验报告要求描述实验的基本步骤,给出各个步骤中取得的程序运行结果和源代码,并进行必要的讨论。

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

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