基于Unity游戏引擎的游戏设计.doc
《基于Unity游戏引擎的游戏设计.doc》由会员分享,可在线阅读,更多相关《基于Unity游戏引擎的游戏设计.doc(44页珍藏版)》请在沃文网上搜索。
1、学 号 分类号本科生毕业论文(设计)题目: 基于Unity游戏引擎的游戏设计 院 (系) 电子与信息工程系 专 业 计算机科学与技术 班 级 学 生 姓 名 指导教师(职称) 提 交 时 间 摘 要基于Unity游戏引擎的游戏设计 摘 要 游戏,目前已经是最大众化的娱乐之一,而其中的3D游戏也是技术含量较高的项目之一。Unity3D是一个3D游戏开发工具和游戏引擎套件,其中包括了图形、音频、物理、网络等多方面的引擎支持,并且有一个非常强大的编辑器来整合这一切,非常适合于游戏开发。本文主要是以Unity3.1.0为开发环境,设计并开发一款单机版的三维游戏直升机大战,旨在介绍直升机战斗游戏的实现方
2、法,并逐步介绍使用Unity3D开发3D游戏的方法和技巧。通过这次游戏制作,使我体会到了,制作一个游戏所需要做的工作,包括前期的游戏策划,素材的制作,到后期的游戏的设计,代码实现等,最终形成一个完整的3D游戏,并通过Unity3D选择平台生成可执行文件。但本次设计的直升机战斗游戏所做工作还不够完善,开始场景中菜单比较简单,游戏中武器只有一种,关卡也只有一个,这些都需要以后进一步设计和完善。关键词 游戏设计;Unity3D;直升机大战Unitygame enginebased ongame designHU Tao(Department of Electronic and Information
3、 Engineering, Ankang University,Ankang,725000)Abstract Game, has been one of the most popular entertainment , of which high-tech 3D game is also one of the projects .Unity3D is a 3D game development tools and game engine kit, which includes graphics, audio, physical, network and other aspects of the
4、 engine, and has a very powerful editor to integrate all of this ,very suitable for game development.This article is Unity3.1.0 for the development environment, design and develop a stand-alone version the three-dimensional game-helicopter war, purpose is to introduce the realization method of the h
5、elicopter combat game , and gradually introduced 3D game using Unity3D developed methods and techniques. Through the game production, so I understand, and make a game to do the work, including pre-game planning, material production to the late game design, code, etc., forming a complete 3D games, an
6、d Select the platform through Unity3D an executable file. However, this design work done by helicopter combat game is not perfect, start menu, the scene is relatively simple, only one weapon in the game, only one level, these require further design and improvement of the future.Key Words Game design
7、; Unity3D; Helicopter War目 录目 录1 绪论11.1 引言11.2 Unity3D介绍11.2.1 Unity3D简介11.2.2 Unity3D特色21.3 JavaScript脚本语言介绍21.4 研究目的及意义32 Unity3D界面及基本操作52.1 屏幕布局52.2 在3D空间查找游戏对象52.3 创建游戏对象62.4 场景视图导航62.5 移动游戏对象62.6 缩放游戏对象72.7 游戏视图72.8 资源的使用72.9 复制82.10 添加组件83 游戏策划93.1 游戏的简要介绍93.2 背景和情节93.3 游戏各角色物品和各场景素材103.3.1 角色
8、的设计103.3.2 物品的设计103.3.3 游戏场景的设计113.4 游戏的操作方法114 游戏的设计与实现134.1 创建游戏工程134.2 地形的设计134.2.1 创建地形134.2.2 设计地表轮廓134.2.3 给地形添加材质和光照154.3 模型的导入154.4角色及其程序设计164.4.1 玩家角色设计164.4.2 敌方角色的设计224.5 GUI的设计264.5.1 玩家血条的设计264.5.2 血量及得分显示284.5.3 游戏胜利或结束时的GUI按钮284.6 医疗箱的设计294.7 游戏的开始场景设计304.8 游戏场景的管理及发布325 总结与展望33参考文献34
9、致 谢35附件36绪 论1 绪论1.1 引言早期由于硬件的限制,游戏画面上还没有3D的概念,仅停留在2D的显示状态,随着个人电脑配置的提升和游戏开发环境的进一步完善,人们开始对电脑游戏的画面产生了更为苛刻的要求,以往的2D画面已经远远不能满足这些挑剔的游戏玩家的眼光。于是,如何利用现有的2D显示设备(如各种CRT和液晶显示器)更好的显示出3D的游戏画面以满足玩家们日益增长的画面要求,开始成为游戏制作者和高级程序员们不断挑战的课题。Unity3D是一个让你轻松创作的多平台的游戏开发工具,是一个全面整合的专业游戏引擎。它是由丹麦Unity公司开发的游戏开发工具,具体的特性包含整合的编辑器、跨平台发
10、布、地形编辑、着色器,脚本,网络,物理,版本控制等特性。通过Unity简单的用户界面,你可以完成任何工作。这些为你节省了大量的时间。然而对于一个商业化的游戏引擎来说,快速高效的完成类似的特效应该是分内之事。游戏引擎的初衷就是将游戏开发者筋力转移到游戏的可玩性上来。那么Unity3D为什么会吸引开发者的目光呢,重要的原因是廉价,并且能够发布为基于浏览器的网页格式。这个是目前的一大趋势,玩家无须下载庞大的客户端,打开浏览器即可进入游戏。1.2 Unity3D介绍1.2.1 Unity3D简介Unity3D是一个全面整合的专业游戏引擎。它是由丹麦Unity公司开发的游戏开发工具,具体的特性包含整合的
11、编辑器、跨平台发布、地形编辑、着色器,脚本,网络,物理,版本控制等特性。Unity3D内置的NVIDIA®PhysX®物理引擎带给你生活的互动。在植被方面使用了Unitree, 并内置了大量的Shader供开发者使用,这些Shader即可满足开发者的常用效果,能让开发者轻松的创作多平台的游戏。 Unity公司在在脚本方面不可不谓之强悍,Unity3D支持JavaScript, C#, Boo,如果开发非网页的独立版还可使用插件。Unity3D的经典演示就是热带的岛屿,工期为3个人一周完成,可以将其看作一个效果展示,主要展示了地形,水,光影效果。 相信很多人看过后都联想起孤岛惊魂
12、的引擎CryEngine ,因此Unity3D吸引了国内很多游戏开发者和VR开发者的目光,非常看好Unity3D的前景。1.2.2 Unity3D特色综合编辑: 通过Unity简单的用户界面,你可以完成任何工作。为游戏开发者节省了大量的时间。图形动力: Unity对DirectX和OpenGL拥有高度优化的图形渲染管道。资源导入: Unity支持所有主要的文件格式,并能和大部分相关的应用程序协同工作。一键部署: Unity可以让你的作品在多平台上呈现。Wii的发布: Unity让业界最流行的游戏平台软件更容易开发。iPhone发布: Unity让革命性的游戏开发降临革命性的设备。着色器: Un
13、ity的着色器系统整合了易用性、灵活性和高性能。地形: 低端硬件亦可流畅运行广阔茂盛的植被景观。联网: 从单人游戏到全实时多人游戏。物理特效: Unity内置的NVIDIA®PhysX®物理引擎带给你生活的互动。音频和视频: 实时三维图形混合音频流、视频流。脚本: Unity支持3种语言:JavaScript,C#,Boo。Unity资源服务器: Unity资源服务器是一个附加的包括版本控制的产品。光影: Unity提供了具有柔和阴影与烘焙lightmaps的高度完善的光影渲染系统。文档: Unity为你提供逐步的指导、文档和实例方案。1.3 JavaScript脚本语言介绍U
14、nity3D支持3种语言:JavaScript,C#,Boo ,本次设计主要使用JavaScript脚本语言。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个
15、部分:ECMAScript,文档对象模型,字节顺序记号。1.4 研究目的及意义随着电脑技术的发展,配置的不断提升,游戏开发环境也不断改善,使游戏开发者能开发出画面效果越来越好的游戏。电脑游戏已经成为最大众化的娱乐方式之一,从以往的二维平面游戏到现在的三维游戏,玩家对游戏的要求越来越高,以往的二维画面已难以满足游戏玩家挑剔的眼光。游戏从二维向三维发展已成为必然趋势,Unity3D正是一个3D游戏开发工具和游戏引擎套件,其强大的功能能够让游戏开发者轻松的开发出3D游戏。并且Unity3D包括了图形、音频、物理、网络等多方面的引擎支持,并且有一个非常强大的编辑器来整合这一切,非常适合于游戏开发。对它
16、的学习使用使得学生对程序和艺术的设计都有一个整体的锻炼和提高。对其学习知识有总体的检验。所以本文介绍使用Unity3D开发一款直升机战斗的3D游戏,以此来介绍使用Unity3D开发3D游戏的方法和技巧。37Unity3D界面及基本操作2 Unity3D界面及基本操作2.1 屏幕布局下载并安装好Unity3D,第一次打开显示的是默认项目,如果使用的是试用版则打开后是一个空项目,需要新建一个项目,选择File-New Project 就可以新建一个游戏工程,然后在开始之前,让我们确定屏布局在2 Split模式。选择Window-Layouts-2 Split这样视图现在分为5个主要区域,如图2.1
17、所示。这5个主要区域分别为:(1)场景视图(Scene View):用于摆放游戏对象。(2)游戏视图(Game View):显示游戏运行后的样子。(3)层次视图(Hierarchy View ):列出所有在目前场景视图中所用到的游戏对象。(4)项目视图(Project View):显示资源目录下所有可用的资源列表。(5)检视视图(Inspector View):显示所选中游戏对象的属性信息。图2.1 Unity3d界面2.2 在3D空间查找游戏对象启动Unity,进入到我们建好的项目,就会看到游戏场景中各种游戏对象,新建的项目开始场景中仅包含一个主相机,你能从层次视图Hierarchy中看到这
18、个唯一项。如果在场景视图中看不到相机,在层次视图中点击主相机Main Camera ,然后光标移动到场景视图中,按F(frame select)键,主相机就显示在场景视图的中心,当然也可以直接在层次视图中双击主相机,也可以快速在场景视图中找到。这个技巧可以用来查找你在场景中创建或导入的任何游戏对象。2.3 创建游戏对象要加入一些游戏对象到场景中,可以用Unity菜单Game Object-Create Other创建,也可以从外部导入。从外部导入游戏对象,首先要导入到项目视图Project中,然后直接拖到场景或层次中。用Unity的Game Object 创建游戏对象,比如选择Game Obj
19、ect -Create Other -Plane 就可以在场景中创建一个平面供角色行走。添加一个立方体到游戏场景中,选择Game Object-Create Other-Cube。添加一个点光源,选择Game Object -Create Other-Point Light 。2.4 场景视图导航用下列方法你可以从任何角度查看3D模型:旋转:Alt+鼠标左键平移:Alt+鼠标中键缩放:Alt+鼠标右键或者你也可以选择Unity左上角的手形工具,选择手形工具后,鼠标左键平移,鼠标右旋转,鼠标中键缩放。2.5 移动游戏对象在Unity中你可以用下列方法移动三维空间中任何游戏对象:(1)移动工具(快
20、捷键W)。选中任何游戏对象,然后按W键,将显示三个箭头,如图2.2所示。红色是X轴,绿色的是Y轴,蓝色的是Z轴,即红绿蓝分别对应X、Y、Z轴。要移动一个对象,鼠标左键点击一个箭头并作适当移动,也可以点击中间整体移动。在移动的同时,检视面板中游戏对象的位置坐标Position的值也会改变,你也可以在此处键入坐标值将游戏对象移动到相应位置。(2)旋转工具(快捷键E)。选中任何游戏对象,然后按E键,就可以用鼠标左键来旋转游戏对象,如图2.3所示。在旋转的同时,检视面板中旋转值Rotation也会相应变化,你也可以在Rotation下面的三个文本框中键入各轴旋转的角度值来旋转游戏对象。 图2.2移动游
21、戏对象 图2.3旋转游戏对象2.6 缩放游戏对象缩放游戏对象要使用缩放工具(快捷键R),选中游戏对象,按R键后,会显示三个坐标轴,如图2.4所示。每个轴末端都有一个小方块,拖动轴末端的小方块来实现对游戏对象在该轴方向的缩放,也可以点击中间,实现整体按比例缩放。在缩放的同时,检视面板中Scale的值也会相应改变,也可以直接在该处键入精确的缩放数值。图2.4缩放游戏对象2.7 游戏视图游戏视图显示的是游戏运行时的样子,有完整的纹理、照明等,如果在游戏视图中不能看到场景中的对象,是因为相机没有找到正确的朝向。选中Main Camera 会出现一个倒金字塔线框,这就是相机的视角,如果视角方向没有指向游
22、戏对象,在场景中找到游戏对象,选择Main Camera 并选择Game Object-Align With View ,这样游戏视图就会匹配场景视图,当然也可以通过移动工具和旋转工具将主相机移动到合适的位置,旋转到合适的角度。2.8 资源的使用电脑游戏是由三维模型,纹理,声音文件,游戏代码等构成,这些被称作为游戏的资源assets 。Unity已包含有标准资源包,甚至是专业的资源包,我们可以使用资源包的资源。比如我们从内置的资源中添加一个角色到我们的游戏场景中,在项目视图中展开标准资源Standard Assets文件夹,预设prefab是将游戏对象预组装到一个逻辑分组里,我们能够在预设文件
23、夹内看到第一人称控制器FPS Controller ,只用将第一人称控制器拖到场景视图中。这时游戏视图中有变化,因为第一人称控制器预设里包含自己的相机,将替换主相机的视野,确保第一人称控制器没以陷入地形平面以下,然后删除主相机,点击播放按钮启动游戏,这样就可以在游戏视图中通过光标键或W,S,A,D控制第一人称在场景中行走,用鼠标环顾四周,按下空格跳跃。再次点击播放按钮停止游戏运行。要注意在当光标处于任何视图内的时候按下空格键,这将是该视图最大化,有助于更好的在场景中做调整或在游戏视图中玩游戏,在最大化的视图中再次按下空格键返回以前的布局模式,这个功能在游戏运行时不能使用,必须先停止或暂停游戏。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Unity 游戏 引擎 设计