基于Unity3D塔防游戏研究与实现

时间:2021-10-15 10:23:31  来源:网友投稿

 于 基于 Unity3D 的塔防游戏的研究与实现

 Research and Implementation of Tower Defense Game Based on Unity3D

 摘 摘

 要

  21 世纪 20 年代,游戏已经成为了大众经常选择的娱乐方式。其中,Unity3D 作为时下热门的游戏开发引擎,不仅功能完善易上手,还可以免费使用成本低,理所当然的被许多游戏开发者所使用。Unity3D 作为一款全面整合的专业游戏引擎,可以让开发者轻轻松松的去创建 3D 游戏、建筑可视化、实时 3D 动画等功能,其优秀的跨平台性使得 Unity3D 可以运行在包括但不只含于 Windows、Android和 Mac 等平台。

 本次的毕业设计,将实现 windows 平台游戏的开发,使用 Unity3D游戏开发工具,编写代码为 C#语言,开发制作一款名为《方块防线》3D 塔防游戏,并在制作的过程中将对项目的需求、游戏的设计和具体的实习方法进行分析。

  关键词:塔防 3D 游戏 Unity3D Windows 平台

  Abstract

  In the 2020s, games have become a popular entertainment method. Among them, Unity3D, as a popular game development engine, not only has perfect functions and easy to use, but also can be used for free and with low cost. Of course, it is used by many game developers. As a fully integrated professional game engine, Unity3D allows developers to easily create 3D games, architectural visualization, real-time 3D animation and other functions. Its excellent cross-platformity allows Unity3D to run on but not only on Windows , Android and Mac platforms. This graduation project will realize the development of windows platform games. Use Unity3D game development tools, write code for C # language, develop and produce a 3D tower defense game called "Cube Tower Defense", and in the process of making Analysis of project requirements, game design and specific internship methods.

  Key Words :Tower defense;3D games;Unity3D;Windows platform

  目

 录

 第 第 1 1 章 绪

 论

 ................................................... 1 1

 1 1.1 引言 ............................................. 1 1 1 .2 Unity3D 介绍 ...................................... 1 1.3 C#脚本语言介绍 ................................... 2 4 1.4 市场分析与意义 .................................... 2 5 1.5 项目的简介 ....................................... 3 第 第 2 2 章 章 Unity3D 界面及基本操作

 ................................ 3

 2.1 Unity3D 的界面 .................................... 3 2 2.2 Unity3D 的基本操作 ................................ 6 2.2.1 Unity3D 菜单栏 ................................ 6 2.2.2 Unity3D 工具栏 ................................ 7 2.2.3 Unity3D 常用快捷键 ............................. 7 第 第 3 3 章 游戏策划

 ................................................ 7

 3.1 游戏的简要介绍 ................................... 7 3.2 背景与情节 ....................................... 8 3 3.3 游戏的炮塔、怪物和场景的素材与设计 ................. 8 3.3.1 炮塔的设计 .................................... 8 3.3.2 怪物的设计 .................................... 9 3.3.3 游戏场景设计 ................................. 10 3.4 游戏操作方法 .................................... 11 第 第 4 4 章 游戏的设计与实现

 ...................................... 11

 4.1 准备游戏工程 .................................... 11

  2 4.2 地图的设计 ...................................... 13 3 4.3 模型和材质的导入 ................................. 15 4 4.4 怪物及其脚本设计 ................................. 15 4.4.1 怪物的移动 ................................... 15 4.4.2 怪物的生成 ................................... 17 4.4.3 怪物的死亡 ................................... 19 5 4.5 炮塔及其脚本设计 ................................. 20 4.5.1 炮塔的建造 ................................... 20 4.5.2 炮塔的升级与拆除.............................. 25 4.5.3 炮塔的攻击 ................................... 28 4.5.4 炮弹的生成及其功能 ............................ 30 4.5.5 玩家视野的移动 ............................... 31 4.5.6 玩家的失败和胜利条件 .......................... 32 4.6 UI 界面的设计 .................................... 33 4.6.1 炮塔的选择 UI ................................. 33 4.6.2 炮塔的升级与拆除 UI ........................... 33 4.6.3 怪物的血条 ................................... 34 4.6.4 金钱的显示与更新.............................. 35 4.6.5 游戏胜利与失败的界面 .......................... 35 7 4.7 游戏开始场景的设计 ............................... 36 8 4.8 游戏测试和试玩 ................................... 37 4.8.1 游戏的打包 ................................... 37 4.8.2 游戏的最终成果 ............................... 38

  第 第 5 5 章 总结与展望 .................................... 39 参考 文献 ............................................. 40 致

 谢

 ...................................... 错误! ! 未定义书签。

 广东东软学院本科毕业设计(论文)

 1 第1 1 章

 绪

 论

  1 1.1 引言

  游戏,最早出现记录的游戏是一款电子游戏,其为一款井字棋游戏,需要在真空管计算机上运行。1970 年,电子游戏作为一种商业娱乐媒体被引入日本、美国、欧洲,使其成为了娱乐工业的重要基础,并在 1983 年的美国游戏业萧条事件及继而重生后的两年中,得到了飞速的成长,继而成为了除电影业外最获利的娱乐产业。随着计算机的发展、个人电脑的新陈换代,游戏的分类也多了起来,3D 游戏作为新兴的一大板块,随着第一款 3D 游戏《夜晚驾驶者》的诞生,也随之被大众所知,从而蓬勃发展。

  Unity3D、虚幻、Gamebryo 作为近代游戏开发者常用的游戏开发引擎,出自其中的游戏数不胜数,比如国内耳熟能详的《古剑奇谭》系列、《仙剑奇侠传》系列,又比如国外的《刺客信条》系列、《绝地求生:大逃杀》等。

 1.2 Unity3D 介绍

  1.2.1 Unity3D 简介

 Unity3D 也简称 Unity,是由 Unity Technologies 公司开发的一个全面整合的综合型游戏开发工具。有着多个优秀的特点:智能界面设计、专业的物理引擎、友好的开发工具、多种实用系统、优秀的渲染引擎、可视化的脚本语言 u、可观的市场空间、方便的分享社区和支持多种格式导入资源。

 Unity 的中文意思为“团结”,Unity 公司提出的口号为“大众游戏开发”(Democratizing Development)意在告诉我们任何人都可以去学习并且制作游戏,也是告诉我们游戏的开发需要团队的合作与配合。

 1.2.2 Unity3D 的特色

 ①智能的界面设计:可视化的模式让使用者轻松使用,而提供直观的图形化程序接口可以让开发者实现边玩边开发游戏,还可以实时修改游戏内容。

 ②专业的物理引擎:支持 NVIDIA PhysX 物理引擎,可模拟多种物理效果,使人物的动作和互动更加逼真,其视觉效果更加突出,逼真、高度互动的特性将让你的游戏体验更加完美。

 ③友好的开发工具:包含 GPU 事件探查器、音频处理 API 等,脚本编辑支持 C#、JavaScript、Boo 三种脚本语言。

 ④多种实用系统:灯光照明系统、路径寻找与人群仿真系统、粒子系统、地

 广东东软学院本科毕业设计(论文)

 2 形编辑器、Team License 协同开发系统等,可以使得开发者更加方便快效的制作游戏。

 ⑤优秀的渲染引擎:渲染底层支持 DirectX 和 OpenGL,为大型游戏的制作提供基础。

 ⑥可视化的脚本语言 u:实现了强大且方便的人机交互功能。

 ⑦可观的市场空间:其跨平台的特性,使得 Unity 可在 Windows、Android、iOS 等多种平台上占据一定市场空间。

 ⑧方便的分享社区:Unity的社区中有着许多可以的素材、资源、教程,可以下载学习使用,也可以分享自己的经验,一起互相学习。

 ⑨ 支 持 多 种 格 式 导 入 资 源 :

 整 合 多 种 DCC 文 件 格 式 , 包 含3dsMax,Maya,Lightwave,Collade 等文档,可直接拖拽到 Unity中。

 1.3 C# 脚本语言介绍

  本次游戏开发使用的是 Unity支持的 3 种脚本编程语言中的 C#脚本语言 C#是一种最新的、面向对象的编程语言,读作 "C sharp"。C#是由 C 和 C++衍生出来的,并且具有安全、稳定、简单的特点,可快速地编写各种基于Microsoft.NET 平台的应用程序。

 1.4 市场分析与意义 Unity3D 作为主流游戏引擎中最为容易上手的引擎,并且可以免费使用其中个人版和社区版,Unity3D 中很多功能都是成体系的,比如物理效果、碰撞检测、自动寻路、场景搭建,熟悉操作代码之后就可以自主开发游戏,Unity3D 优秀的跨平台性更是让我们可以不局限仅仅 Android 平台或者仅仅 Windows 平台,还有着 Unity 平台上丰富的插件,物件碎裂的特效、场景破坏和变形的特效等等,都可以在 Unity的插件中找到对应功能的插件,使得开发者更加方便快速的开发出更好的游戏作品。

 近代,虽然随着休闲时间碎片化、智能手机普及率提高,可以方便游玩的手机游戏的市场规模有着明显的巨大增长,但是电脑作为游戏行业争斗最为持久激烈的战场,个人游戏开发者和游戏公司也在近几年游戏的发展中,开发技术渐渐的成熟,3D 游戏的开发技术更加成熟,pc( Personal Computer )端游戏的市场已然进入了成熟期,而 Windows 系统作为个人电脑中最为普遍安装的系统,运行于Windows 平台的游戏数量更是如汪海一般,用户一般也是游戏爱好者,随着游戏的发展,人们对于游戏产品将更加强调画面精致、玩法硬核、精品化,质量成为

 广东东软学院本科毕业设计(论文)

 3 竞争的核心,市场呈现出了“少而精”的特征,其中视觉上表现力更丰富、代入感更强的 3D 游戏更是如此。行业内部竞争的日益激烈,再加上手机游戏市场的冲击,使得表现出色的老品牌游戏的支持度和市场份额更高、支持率更高如《GTA》、《使命召唤》、《刺客信条》等,但是市场需求依然存在,《绝地求生》的大火、《港诡实录》热卖、《龙之谷》的重燃,也在说明了 pc 端 3D 游戏市场仍然符合用户需求。

 1.5 项目的简介

 本篇论文的主要构思为 3D 类塔防游戏《方块防线》,是一款电脑按照一条或多条既定路线前进,抵达玩家的需要守护的基地,期间玩家需要通过鼠标点击可操作的地面并且支付资源来建造塔,利用初始资源和游戏过程中所获得资源抵挡住电脑的进攻,传统的电脑进行进攻,玩家则进行防守模式的塔防游戏。

 游戏的平台定在 Windows 平台。通过 Unity3D 的游戏开发工具及其提供的插件工具,基本可以实现这个游戏的初步制作,再使用 C# 语言和 Visual Studio 2019 编译工具,编写各个脚本的代码,让游戏所需要的操作、功能和碰撞效果、NGUI 界面、粒子特效得以实现。

 第2 2章 章

 Unity3D 界面及基本操作

  2.1 Unity3D 的界面

  打开我们已经下载安装好的 Unity3D 软件,打开软件需要正在联网,登陆已注册账号,选择右上角的+new 进行创建项目

  图 2.1 创建项目

 广东东软学院本科毕业设计(论文)

 4 进入我们的项目,可以发现一共有 5 个主要区域:

 ①Hierarchy View(游戏对象层级面板):包含了每一个当前场景的所有游戏对象,鼠标拖动可以自由改变他们的层级。在这里,可以选中游戏对象进行修改属性、添加组件,也可以鼠标右击进行创建新的游戏对象。

 图 2.2 Hierarchy View(游戏对象层级面板)

 ②Project View(项目资源列表):显示可用的资源列表,包括脚本、贴图、模型、场景等文件,并且这些文件都组织到一个 Assets 文件夹中,Assets 文件夹包含创建或导入的所有文件资源,开发者可以在这里访问和管理资源。

 图 2.3 Project View(项目资源列表)

 ③Inspector View(对象属性面板):显示已选定的游戏对象的所有组件及其属性,脚本也是一种组件。选中游戏对象之后,会在这个界面显示出对应的可修改属性,也可以点击属性面板的 add 按钮添加需要的组件。

 广东东软学院本科毕业设计(论文)

 5

 图 2.4 Inspector View(对象属性面板)

 ④Scene View(场景面板):游戏世界以及关卡的一个可视化表示,可对游戏对象进行编辑的可视化区域。此界面允许操作者通过鼠标和各种快捷键进行快速的对游戏对象进行拖拉、复制、删除等操作。

 图 2.5 Scene View(场景面板)

 广东东软学院本科毕业设计(论文)

 6

 ⑤Game View (游戏面板):显示最终成果的游戏运行画面,可设置不同的分辨率查看运行情况。点击上方的播放游戏运行后,可以直接观察到游戏的最终运行情况。

 图 2.6 Game View (游戏面板)

  2.2 Unity3D 的基本操作

 2.2.1 Unity3D 菜单栏

 Unity3D 菜单栏一共有 7 个菜单栏,分别...

推荐访问:研究 游戏 unity3D