基于Unity3D的TPS游戏的设计与开发
基于Unity3D的第一人称射击游戏技术实现--毕业设计

1.引言1.1开发背景随着计算机的发展,各种电子游戏层出不穷,不断冲击着人们的视觉。
如今社会,电子游戏已经成为青年人们消遣,释放压力的一种方式。
其中CS,CF等第一人称射击类成为众多游戏迷的选择,这种3D游戏的真实感和还原度不仅能在视觉和听觉上有独特的创新,还可以提供团队作战,多人联网游戏等功能,使玩家有各种不同的新体验。
现如今,3D射击类游戏通常以第一人称视觉为主的游戏形式出现,这样的形式,不但可以让玩家进入了惊险刺激的游戏里面,又满足了玩家在生活中体验不到的乐趣。
所以,这种特点的游戏是十分具有发展前景的。
Unity3D是这个毕业设计的开发工具。
Unity 3D是一个以易用和实用为主打,可跨多平台的游戏开发工具。
作为一个完全由专业集成的开发软件,Unity3D还包含了价值数百万美元的功能强大的游戏引擎。
Unity3D 是一个多平台的游戏开发工具,因此,利用Unity3D 并且综合多重开发工具例如:PhotoshopCS3,C#等编程语言进行的游戏开发,具有非常高的可行性。
第一人称射击游戏类具有庞大的客户基础,市场前景非常可观。
[1]1.2 研究目的与意义本次毕业设计的题目为基于 Unity3D 的第一人称射击游戏技术实现,目的在于成功的设计出一款可以运行在各种客户端的设计游戏,在项目完成的时候,玩家可以通过操作对游戏里的主角进行活动,以达到玩家体验虚拟游戏的目的。
在这个游戏中,游戏的参与者可以在用户端上面通过向左或向右滑动来改变主角的方向,同时我们还可以通过怪物对主角的跟踪从而对主角进行碰撞检测,使我们的主角生命值降低,从而改变游戏的状态。
通过此射击游戏的开发设计,使我对大型三维游戏的制作有了更深一层的了解,明白了游戏的一般的制作过程,发布过程,是我学习上的一个全新的体验,具有提高实践开发能力的意义。
2 开发环境和技术2.1 开发环境2.1.1 Unity 3D图 2.1 Unity 3D 标志Untiy 3D 是本次毕业设计最主要的软件。
Unity3D游戏开发与设计技术

Unity3D游戏开发与设计技术Unity3D是一款跨平台的游戏引擎,可以开发2D与3D游戏,支持多种平台,可以发布到PC、移动设备、主机等多个平台。
这款引擎具有强大的易用性和灵活性,也是游戏行业最为常用的一款引擎之一。
在Unity3D上开发游戏需要关注的技术点有很多,本文将从几个方面介绍Unity3D的游戏开发与设计技术。
1. 脚本开发技术Unity3D提供了强大的脚本开发功能,通过脚本可以实现游戏的各种功能,包括控制游戏对象的移动、碰撞检测、UI交互、动画控制、音效播放等等。
在脚本中可以使用C#、JavaScript、Boo 等多种语言进行开发,其中以C#最为常用。
在开发游戏时需要尽可能将游戏逻辑封装在脚本中,保证游戏的逻辑清晰易懂、代码结构清晰、易于维护。
同时在开发游戏时也需要关注脚本性能问题,尤其是移动设备等低配置设备上,需要进行脚本优化。
2. 3D建模技术Unity3D支持导入多种格式的3D模型,包括FBX、OBJ等,同时也支持多种模型编辑器,如Blender、Maya等。
在建模时需要注意模型的细节和多边形数量,过高的多边形数量会导致游戏运行缓慢。
在建模中也需要注意游戏的美术风格和场景的表现效果,可以通过贴图、灯光等方式增加游戏的真实感和代入感。
3. 游戏设计技术游戏设计是游戏开发中非常重要的一环,需要对游戏的玩法、关卡、故事情节、角色设计等方面进行细节把控,以保证游戏的吸引力和可玩性。
在游戏设计过程中需要尽可能了解玩家的需求和心理,以及市场上的游戏趋势和风格,从而可以开发出适应市场的、符合玩家口味的游戏。
4. 艺术设计技术艺术设计也是游戏开发不可或缺的一环。
在游戏中需要制作出符合游戏风格的UI界面、角色造型、怪物设计等。
在制作角色设计时需要考虑角色的可爱、可怕、帅气等多种风格,从而打造出一个独具特色的角色形象。
在制作UI时也需要注意UI的交互设计、UI元素的颜色和排版等细节,以保证UI的简洁明了、易于使用。
基于Unity3D引擎的3D游戏开发技术研究

基于Unity3D引擎的3D游戏开发技术研究随着科技的不断发展,3D游戏已经成为普及性的游戏形式。
而在3D游戏的开发过程中,Unity3D是被许多游戏开发者广泛使用的引擎之一。
它的图形处理技术、交互性、物理模拟都非常出色,这些特点使得它成为了一款非常适合开发3D游戏的引擎。
一、Unity3D的基本架构Unity3D的基本架构包括了引擎层和编辑器层。
其中引擎层主要是负责3D游戏的运行,而编辑器层则是为游戏开发者提供3D场景的制作和脚本的编写。
这两层结合紧密,可以使游戏开发者更加快速地开发出高品质的游戏。
引擎层主要包括以下几个组件:1. 渲染引擎:它是Unity3D中最基本的组件之一,主要负责游戏画面的渲染。
渲染引擎支持顶点着色器、像素着色器以及多种图形处理技术,可以使游戏画面变得更加真实。
2. 物理引擎:物理引擎主要处理物体的运动学和碰撞检测等物理属性。
Unity3D使用了Box2D和Havok等多个物理引擎,以达到更好的物理模拟效果。
3. 音频引擎:音频引擎用于处理游戏音效的播放和控制。
它支持多种音频格式的播放,并支持不同的音效混合技术。
编辑器层主要包括以下几个组件:1. 场景编辑器:它是Unity3D中最重要的组件之一,支持3D场景的制作。
开发者可以很方便地添加、移动、旋转、缩放3D模型,而且可以实时预览场景效果。
2. UI编辑器:用于控制游戏界面元素的制作。
例如按钮、滑块、进度条等UI元素。
3. 脚本编辑器:支持多种编程语言的代码编写,包括C#、JavaScript等语言。
游戏开发者可以在脚本编辑器中灵活掌握游戏逻辑并且修改游戏行为。
二、Unity3D的开发流程Unity3D的开发流程通常分为以下几个步骤:1. 规划: 游戏开发者需要分析游戏玩法、游戏场景需求等来确定游戏的开发方向。
在这个过程中,需要提前设计好游戏的关卡、模型、声音等元素。
此外,还需要确定游戏的目标受众以及营销策略。
2. 设计: 游戏开发者需要根据游戏规划出发,设计出游戏的关卡、模型、声音等元素,并且要将这些元素设计成可重复利用的组件。
基于Unity3D引擎的第一人称射击游戏设计与实现

基于Unity3D引擎的第一人称射击游戏设计与实现引言随着游戏行业的快速进步,第一人称射击游戏成为了各大游戏平台上的热门游戏类型之一。
如今,越来越多的游戏开发者和玩家对第一人称射击游戏表现出了深厚的爱好。
本文将基于Unity3D引擎,介绍第一人称射击游戏的设计与实现,并探讨其中的技术要点和实现方法。
一、游戏设计1.游戏目标与规则设计第一人称射击游戏的目标是通过操作角色,消灭敌人,完成任务或者达到特定的游戏目标。
这需要设计一个明晰明确的游戏规则,包括敌人的设计、武器系统、场景设定等等。
2.角色与武器设计游戏中的主角扮演者,一般称为玩家,扮演一个与敌人战斗的英雄角色。
玩家的角色应该具备各种能力和特点,比如跳动、奔跑、攻击等。
同时,还需要设计不同类型的武器,如手枪、步枪、榴弹发射器等,以供玩家使用。
3.关卡设计为了使游戏更加有趣,我们需要设计多个关卡,每个关卡都有不同的地图和任务。
关卡的设计应该思量难度和可玩性,使得玩家在不同的关卡中有不同的体验和挑战。
二、技术要点与实现方法1.Unity3D引擎简介Unity3D是一种跨平台的游戏引擎,可用于开发各种类型的游戏,包括第一人称射击游戏。
它的优势在于支持多种操作系统和平台,具有强大的可视化编辑工具,同时还提供了丰富的资源库和插件,便利开发者使用和扩展。
2.场景搭建与设计通过Unity3D引擎,我们可以轻松地创建丰富多样的游戏场景。
起首,我们需要选择适合第一人称射击游戏的场景主题,比如城市、丛林、科幻等。
然后,利用Unity3D的编辑工具,设置地形、建筑物、道路、草地等元素,以构建一个生动逼真的游戏环境。
3.角色模型与动画设计游戏中的角色模型是玩家和敌人的形象呈现。
我们可以使用专业的建模软件,如3D Max或者Blender,创建人物模型。
然后,利用Unity3D的导入工具,将模型导入到游戏中,并为其添加骨骼和动画。
通过编写脚本,我们可以控制角色的挪动、攻击、死亡动画等。
基于Unity3d的第一人称射击游戏的实现

摘要计算机游戏作为一种新兴的娱乐方式,已经融入到了人们的生活之中。
近年来,游戏产业己经成为经济市场中增长速度最快的热点,是众所关注的焦点。
Unity3D作为一款能跨平台的,界面友好,操作简单的工具,是一个全面整合的专业游戏引擎。
本文研究了第一人称射击游戏,即通常所说的FPS游戏。
本文基于Unity3D 引擎,使用Microsoft Visual Studio编写脚本,使用3dmax和Photoshop进行图形和建模处理工作。
通过操作模拟角色达成各种动作,完成游戏。
程序中有主菜单、暂停菜单和游戏结束菜单,能够选择重新开始游戏和退出游戏等操作。
在环境上展示了天空到陆地,森林草地到海面。
角色能够完成跳跃,行走,切换武器等基本动作,射击敌人会增加积分,拾取的物体和角色状态能显示在GUI界面上。
游戏中的敌人会自动生成并追踪玩家,在一定距离内会攻击玩家,被击败后会掉落弹药。
若玩家被敌人击败,则结束游戏并切换到游戏结束菜单。
关键词:Unity3d;Visual Studio;3dmax;Photoshop;FPS游戏ABSTRACTAs a new form of entertainment, computer games have been integrated into our lives. In recent years, the game industry has become the fastest growing hot spot in the economic market, is the focus of attention.Unity3d as a cross-platform, user-friendly, easy to operate tool, is a comprehensive integrated professional game engine.This article studies the first-person shooter game, which is commonly said FPS game. This article is based on the Unity3d engine, using Microsoft Visual Studio scripting, using the 3dmax and Photoshop the works with graphics and modeling. Through the operation of the simulation role to achieve a variety of actions to complete the game. The program has main menu, pause menu and Game End menu, can choose to restart the game and quit the game and so on. The environment shows the sky to the land, the forest meadows to the sea. The characters can jump, walk, switch weapons and other basic movements, shooting enemies will add points, pickup objects and role status can be displayed in the GUI interface. The enemy in the game will automatically generate and track the player, at a certain distance will attack the player, defeated will drop ammunition. If the player is defeated by the enemy, end the game and switch to the game end menu.Keywords: Unity3d; Visual Studio; 3dmax; Photoshop; FPS games目录1 绪论 (1)1.1 选题背景和意义 (1)1.1.1 选题的背景 (1)1.1.2 论文的研究意义 (1)1.2 第一人称射击游戏的国内外发展现状 (2)1.3 本文研究的主要目的与内容 (2)1.4 本章小结 (3)2 开发环境及主要开发工具简介 (4)2.1 Unity 3D (4)2.1.1 事件函数、脚本执行顺序和生命周期 (5)2.1.2 常用API (5)2.1.3 材质、灯光和着色器 (6)2.2 3DMAX (7)2.3 Visual Studio (8)2.4 Photoshop (8)2.5 本章小结 (9)3游戏策划 (10)3.1 游戏简介 (10)3.2游戏元素设计 (11)3.3游戏角色设计 (11)3.4游戏敌人设计 (12)3.6 本章小结 (17)4 游戏功能模块 (18)4.1 GUI模块 (18)4.1.1 主界面菜单 (18)4.1.2 游戏场景内GUI的显示 (20)4.1.4 游戏结束菜单 (23)4.2角色模块 (24)4.2.1 主角模块 (24)4.2.2 敌人模块 (26)4.3弹药模块 (28)4.3.1 弹药和弹药箱模型 (28)4.3.2 弹药安装 (30)4.4 武器模块 (31)4.4.1 武器开火实现 (31)4.4.2 武器动画实现 (32)4.4.3 瞄准缩放效果的实现 (33)4.5 本章小结 (34)5游戏测试 (35)5.1 游戏测试环境 (35)5.2主要功能实现测试 (35)5.3 测试意义 (37)6总结 (38)参考文献 (39)致谢 (40)1 绪论1.1 选题背景和意义1.1.1 选题的背景2017年,中国的游戏行业整体营业收入大约为2189.6 亿元,同比增长了23.1%。
基于Unity3D引擎的游戏设计与开发

基于Unity3D引擎的游戏设计与开发引言近年来随着计算机物理硬件的提升以及社会经济的进步,游戏技术也得到了空前的发展。
无论是游戏引擎还是玩法,都得到了长足的进步。
Unity是一款由Unity科技公司所设计的可跨平台的2D与3D游戏引擎,其支持开发Windows 等电脑平台、任天堂Switch等主机平台以及Android等移动设备的各种游戏,以及基于WebGL技术的网页平台以及TVOS等多媒体平台。
塔防是指通过在地图上建造各种各样的炮塔来阻止游戏中的敌人抵达指定位置的实时战略计算机游戏,此类游戏的目标是生存若干时间或尽可能生存下去。
玩家一般有生命值,生命值以敌人数量为基准,如果敌人在到达指定地点之前没有被消灭,玩家就会减少生命。
随着怪物波次的增加和炮塔属性的逐渐提升,怪物的数量、属性以及各种特殊能力也会提升。
目前国内外许多专家在Unity平台研发了多种游戏,如伍传敏等人基于Unity3D完成了第一人称射击游戏的设计与开发。
张典华等人基于Unity3D实现了多平台兼容的三维空战游戏。
刘晋钢等人则研究了Unity3D与Kinect整合数据技术在体感游戏中的应用价值。
本文通过C++设计并实现了一款基于Unity3D引擎的TowerDefence游戏,实现了怪物AI设置,攻击检测算法的设计以及游戏特效和渲染管道等关键技术。
游戏运行流畅,画面精良,操作简单,体验丰富,上线后收获大量好评。
1 游戏设计1.1 塔防游戏设计策略本文的塔防游戏玩法设计遵循以下原则:(1)玩家放置的障碍物可以在障碍物摧毁基地之前伤害或杀死敌方攻击者。
(2)修复障碍物的能力。
(3)升级障碍物的能力。
(4)能够修复障碍物的升级。
(5)用于购买升级和维修的某种货币(可以是时间,游戏内货币或经验值,例如通过击败攻击单位而获得的货币)。
(6)能够一次穿越多条路径的敌人。
(7)每波通常有固定数量和类型的敌人。
(8)许多现代的塔防游戏都从实时游戏发展到回合游戏,其中存在不同的阶段,例如构建,防御,修复和庆祝。
基于Unity3D引擎的第一人称射击游戏设计与实现

基于Unity3D引擎的第一人称射击游戏设计与实现基于Unity3D引擎的第一人称射击游戏设计与实现引言随着游戏产业的快速发展,第一人称射击游戏作为游戏市场的主流类型之一,备受玩家们的喜爱。
本文将探讨基于Unity3D引擎的第一人称射击游戏的设计与实现,其中包括游戏关卡设计、人物与武器设计、敌人设计、视觉与音效设计以及游戏优化等方面。
一、游戏关卡设计在第一人称射击游戏中,关卡设计起着至关重要的作用,它直接影响着游戏的可玩性和乐趣。
首先,我们需要确定游戏的整体背景设定,如科幻、军事、战争等,以此作为关卡设计的基础。
其次,需要合理规划游戏关卡的数量和难度,以确保游戏具有一定的挑战性和可持续性。
最后,对于每个关卡,我们需要设置明确的目标和任务,以及合适的障碍物和道具,以增加游戏的趣味性和互动性。
二、人物与武器设计在第一人称射击游戏中,角色扮演者扮演的角色和所使用的武器直接决定了游戏体验的深度和激烈程度。
首先,我们需要为玩家提供多样化的角色选择,包括不同的外貌、技能和特点,以满足玩家的个性化需求。
其次,各种武器的设计也同样重要,从近战武器到远程武器,都应该有不同的属性和伤害值,以实现平衡的游戏性。
三、敌人设计敌人的设计是第一人称射击游戏中一个重要且复杂的部分。
在游戏中,玩家需要与虚拟敌人进行战斗,所以敌人的行为表现需要足够智能和逼真。
首先,敌人需要具备基本的巡逻、追击和攻击能力,以确保游戏的可玩性。
其次,敌人的反应能力和策略要根据不同的关卡和情景进行调整,以保证游戏的挑战性。
同时,敌人的设计也需要考虑到敌人之间的协作与团队战术,以提升游戏的战略性和紧张感。
四、视觉与音效设计视觉与音效设计是第一人称射击游戏中极为重要的方面,它们能直接影响玩家的沉浸感和游戏体验。
在视觉设计方面,我们需要注重游戏画面的细节和精美度,以提升游戏的视觉效果。
同时,游戏的场景和角色建模也需要符合游戏设定和风格,以创造出独特的游戏世界。
Unity游戏开发与设计技巧

Unity游戏开发与设计技巧随着游戏行业的迅速发展,Unity作为一款跨平台的游戏开发引擎被越来越多的开发者所采用。
然而,只有熟练掌握Unity的开发技巧和设计原则,才能真正创造出优秀的游戏作品。
在本文中,将探讨一些Unity游戏开发与设计的关键技巧,并分享一些实用的经验。
首先,对于Unity游戏开发来说,代码的编写和优化是非常重要的一步。
在编写代码时,开发者应该注重代码的可读性和可维护性。
使用有意义的命名和注释,将代码分成逻辑块,可以使代码的理解和修改更加方便。
此外,使用面向对象编程(OOP)的原则,例如封装、继承和多态,可以大大简化代码的复杂度,并提高开发效率。
其次,针对不同的游戏类型和平台,开发者需要合理选择和使用Unity的功能和工具。
例如,对于3D游戏开发,掌握Unity的3D建模和动画制作工具是必不可少的。
此外,Unity的碰撞检测和物理引擎能够帮助开发者实现真实的物理效果,使游戏更加逼真。
对于移动游戏开发,开发者应该了解并合理运用Unity的移动平台优化功能,以提高游戏的性能和稳定性。
另外,游戏设计在Unity游戏开发中也起到至关重要的作用。
一个成功的游戏设计应该具有吸引力、挑战性和可玩性。
在设计游戏关卡时,开发者应该注重关卡的难度平衡,避免过于简单或过于困难,以免让玩家失去兴趣。
此外,游戏的视觉设计也是吸引玩家的重要因素。
开发者可以运用Unity的图形特效和着色器来实现炫酷的视觉效果,提升游戏的沉浸感。
同时,音效和音乐的选择也能够增强游戏的氛围和情感。
在游戏开发过程中,测试和优化也是不可或缺的一环。
开发者应该经常进行游戏测试,检查并修复潜在的问题和Bug。
此外,通过合理运用Unity的性能分析和调试工具,开发者可以及时发现并解决游戏的性能瓶颈。
优化游戏的运行效率和资源利用率,不仅能够提升玩家的游戏体验,还能够降低游戏的硬件要求,扩大游戏的受众范围。
最后,与其他开发者和游戏爱好者的交流是提升Unity游戏开发和设计能力的重要途径。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
滨江学院学年论文题目基于Unity3D在PC端的TPS游戏的开发与设计院系电子系专业电子信息工程学生姓名杨鑫学号***********指导教师王新蕾职称讲师二O一七年十月二十五日基于Unity3D在PC端的TPS游戏的开发与设计杨鑫南京信息工程大学滨江学院电子信息工程专业,南京210044摘要:本文详细介绍了基于Unity3D游戏引擎(个人版)的TPS(第三人称射击)游戏的开发与设计的过程,主要包括游戏开发前准备,场景的制作以及游戏角色控制,子弹发射效果,敌对角色生成的实现方法等。
并简单介绍了Unity3D引擎及其特点和资源商店的利用。
详细阐述了游戏中的各种关键C#脚本程序。
实现以键盘控制位置鼠标控制视角的人机对抗游戏模式。
游戏操作简单,人物动作细腻多变,场景氛围代入感强,给玩家良好的游戏体验。
关键词: Unity3D;TPS;C#第1章绪论1.1基于Unity游戏开发的国内外现状2016年又被称为VR元年。
虚拟现实(VR)是当今最前沿的科学技术之一,谷歌,微软,Facebook,苹果,三星,索尼等知名高科技企业对其视为上宾。
VR通过计算机虚拟出现实世界,在VR技术影响下,仿佛置身于另一个世界。
2016年,是VR技术突破性发展的一年,VR将与各行各业相互融合,产生庞大的岗位需求——VR开发工程师,而Unity已经成为VR内容开发的首选平台。
通过使用Unity引擎制作的游戏吸引了全球6亿游戏玩家。
,Facebook拥有8.29亿的日常用户。
用Unity 制作的应用和游戏目前的累计体验量已达到了87亿次。
根据Unity官方在2017年8月最新公布的数据[1],Unity中国区的开发者数量、用户活跃度和终端安装量均已经成为全球第一。
在世界范围内,Unity占据全功能游戏引擎市场份额的45%,居世界首位。
最接近我们的美国,其市场份额只有我们的三分之一。
Unity的每月全球活跃用户超过60万。
中国区每个月Unity引擎被使用的次数总和高达180万次,居世界首位。
美国以150万次使用居世界第二。
Unity中国区在3D手机游戏市场的占有份额已经达到75%,超越日本成为世界第一。
也就是说在最火的前100款3D 手机游戏中,平均每10款就有7.5款是使用Unity引擎制作。
很多使用Unity制作的游戏都是跨平台的,其中不乏优秀作品,比如《神庙逃亡2》,《地铁跑酷》,《使命召唤》,《纪念碑谷》等。
国内首款基于Unity 3D引擎研发的三国题材网游《将魂》[2](现已停运),自2009年初就进入了研发历程,其后则还有骏梦游戏研发的Unity 3D游戏《新仙剑OL》[3]。
针对Unity 3D引擎的研发技术,九众互动CEO朱传靖也曾提过,该引擎基于特定的技术架构,实现了实时生成查看的功能,易用性高,更简化了开发的流程。
基于此,九众互动的首款3D网游《将魂》,在游戏品质和研发时间上并没有太多的冲突。
在国外游戏厂商应用Unity 3D引擎方面,美国Playnet公司目前已经推出了3D军事战争网游《激战海陆空》。
此外,俄国Nival公司研发的新型态Dota游戏《Prine world》在Steam上备受好评,欧美公司的3D魔幻MMORPG网游,都是非常受期待和关注的Unity 3D网游。
1.2课题研究目的与意义游戏,对于很多人,占据了大学生活的大部分时光,许多大学生玩了4年游戏而碌碌无为。
本文以新的视角为广大的游戏爱好者展现良好的发展前景,让大家了解一个游戏的简单制作流程,体验其中的乐趣,致敬每一个愿意把人生奉献给游戏事业的人。
Unity的迅速发展让Unity3d从业人才需求不断攀升,并且从业人员的薪资十分可观。
以人才招聘来看,目前企业招聘人数呈现上升趋势,一般要求大专、本科学历,一年以上开发经验的人员一般待遇都会在10K左右,高级人才甚至达到20K-25K。
随着工作经验和技能的增加,从业人员薪资水平不断增长。
目前Unity需求主要集中在一线大城市,北京、上海、深圳、广州等,这些一线城市的薪资水平是非常可观的。
从薪资角度来说,Unity3d工程师在棋牌游戏开发的工资能拿到15000元左右,当然还是要看具体的熟练水平的[4]。
所以说学习Unity并从事其相关工作,对于大学生来说是不错的出路。
当然制作游戏不仅仅局限于此,还要懂美术,音乐,策划等多方面的知识。
通过本次课题的研究,不仅是熟悉了Unity开发工具,也为今后参加大型团队游戏制作项目提供了帮助。
1.3课题研究内容本文主要介绍的是利用Unity 5制作一款TPS游戏的过程,具体内容有:第二章,游戏的相关知识和开发平台的阐述,简单介绍Unity的诞生和优势以及引擎的各种系统和碰撞函数。
阐明了游戏设计的基本流程和开发流程。
第三章,游戏的的总体设计,定制游戏的主体内容,包括名称,剧情,基本玩法,介绍开发前的项目准备。
第四章,游戏各个模块的具体实现,包括场景的制作,主人公的制作,子弹的制作以及敌对AI的制作等等。
第五章,PC 端游戏打包与发布,简单介绍利用Unity在PC端打包发布的方法。
第2章系统平台的阐述和游戏的相关知识2.1 Unity 5的简介Unity3D是由Unity Technologies开发的一个让玩家轻松创建例如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一款全面整合的专业游戏引擎。
Unity类似于Director,Blender game engine, Virtools 或Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。
其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL (需要HTML5)、Windows phone 8和Android平台。
也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。
它的网页播放器也被Mac 所支持。
2.1.1 Unity 5游戏引擎的诞生业界现有的游戏引擎数不胜数,其中最具代表性的商业游戏引擎有虚幻引擎[5], CryEngine 3, HeroEngine, Rage Engine等,但因为其价格以及对PC配置要求高让很多个人游戏开发者尤其是学生望而却步。
在这样背景下,Unity公司提出了“大众游戏开发”的口号,让开发人员不在考虑价格,提供任何人都可以轻松开发的优秀游戏引擎。
2015年3月在旧金山举行的游戏开发者大会上Unity 5正式公诸于世。
2.1.2 Unity 5的优势(1)支持多平台跨平台运行,只需开发一次,稍加修改,就可以发布到23多个平台运行。
现在,Unity已经可以支持以下平台[6]:●移动平台(iOS、Android、Windows Phone、BlackBerry、Tizen)●桌面平台(Windows、Windows Store、Mac、Linux)●游戏主机(PS3、XBOX、Wii)●网页游戏(Internet Explorer、WebGL)●虚拟现实与增强现实(Oculus Rift、Gear VR)(2)集成开发环境从场景设计、编程、调试到构建、开发游戏的整个生命周期都可以在Unity IDE中完成,效率非常之高。
另外,直观而合理的集成开发环境也为开发人员提供了便利。
(3)所有功能免费只要你是独立开发者或是没有营收的小公司就符合使用Unity Personal Edition(个人版)的条件。
但上一年营收或资本额超过了10万美金,就失去了使用个人版的资格,就必须购买Unity Professional Edition (专业版)。
(4)开放社区社区提供了大量的帮助手册和体系化的示例文件,同时,Unity拥有一个资源分享和知识问答的交流平台,包括论坛、博客、在线视频等,以此帮助开发者更为便捷的了解Unity引擎。
(5)资源商店Unity3D不仅拥有很强大的功能,丰富的模块,还有Asset Store提供开发过程中所需要的所有资源,具有超强的效能和超高的性价比,使编程周期大大缩短,即使是小型开发团队也可以轻松运作。
也可以通过Asset Store销售自己制作的产品,获得利润。
2.2 相关Unity技术知识2.2.1 物理系统Unity内置了NVIDIA的Physx物理引擎,Physx是目前使用最为广泛的物理引擎,被很多游戏大作所采用,开发者可以通过物理引擎高效、逼真地模拟刚体碰撞、车辆驾驶、布料、重力等物理效果使游戏画面更加真实,更加生动[7]。
Rigidbody刚体组件,可使游戏对象在物理系统的控制下来运动刚体可接受外力与扭矩力用来保证游戏对象像在真实世界中那样进行运动。
任何游戏对象只有添加了刚体组件才能受到重力的影响,通过脚本为游戏对象添加的作用力以及通过NVIDIA物理引擎与其他的游戏对象发生互动的运算都需要游戏对象添加了刚体组件。
Collides碰撞体,碰撞体是物理组件的一类它要与刚体一起添加到游戏对象上才能触发碰撞。
如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过。
Character Controller角色控制器,角色控制器主要用于对第三人称或第一人称游戏主角的控制,并不使用刚体物理效果。
2.2.2 动画系统Mecanim动画系统随着Unity 4.0的升级而出现,这是一种动画中间引擎,使用其可以轻松制作柔和、平滑的动画效果,它提供了●为人形角色提供的简易的工作流和动画创建能力;。
●Retargeting(运动重定向)功能,即把动画从一个角色模型应用到另一个角色模型上。
●针对Animation Clips(动画片段)的简易工作流,即针对动画片段以及它们之间的过渡和交互过程的预览能力。
这样可以使动画师更加独立地进行工作,而不用过分地依赖于程序员,从而在编写逻辑代码之前就可以预览动画效果。
●一个用于管理动画间复杂交互作用的可视化编程工具。
●通过不同逻辑来控制不同身体部位运动的能力[8]。
2.2.3 渲染系统在Unity里,渲染路径(Rendering Path)决定了光照是如何应用到Unity Shader中的。
因此,如果要和光源打交道,我们需要为每个Pass指定它使用的渲染路径,只有这样我们才能在Unity Shader中访问到Unity为我们准备好的光照信息。
Unity的渲染框架支持正向渲染与延迟光照渲染两种渲染模式、任意多光源、主直线光源的多层级阴影渲染以及各种自定义的材质和后置渲染特效。
在Unity5.0版本之前,主要有3种:前向渲染路径(ForwardRenderingPath)、延迟渲染路径(Deferred Rendering Path)和顶点照明渲染路径(Vertex Lit Rendering Path)。