游戏开发入门-认识Unity

1 写在前面

我是新海,一个刚刚步入游戏行业的小白,自己一直有个梦想——开发一款好玩的游戏

经过知乎网友答疑,我决定我先从Unity学起。

最开始学习时,发现网络上没有太多对新手友好的教程,在此,我想通过我一边学,一边记录,整理出一份新手学习Unity游戏开发的教程,帮助更多热爱游戏开发的朋友入门。

当然此教程,因为笔者能力有限,难免会有遗漏,也请大家多多指出,我们一起改正学习。

2 我们为什么要用Unity开发手游?

2.1 什么是Unity 开发引擎

Unity给自己的定义:世界领先的实时创作平台。”

什么是引擎?

汽车的引擎我们都熟悉,就是驱动汽车往前跑的核心的部件。汽车能跑多快根本上取决于它的引擎有多强。


汽车引擎


汽车引擎

那么Unity给自己的定义里的开发引擎是什么含义呢?简单来说,开发引擎是一个功能丰富的软件平台,可以让创作者快速高效开发内容。Unity最初是从游戏引擎发展来的,下面我们主要介绍一下游戏引擎的概念。

和汽车引擎的概念类似,游戏引擎是游戏开发的一个核心部件。引擎可以让你在开发游戏的时候,不用从0去研发最底层的技术。基于一个引擎,可以减少很多工作量,甚至仅通过拖拽一些组件就可以开发出一个简单的游戏。

有了汽车引擎,你就可以在引擎的基础上去设计汽车的功能、外观等。
有了游戏引擎,你就不用再去纠结、开发那些底层的通用功能,引擎已经帮你集成了一系列游戏开发所需的功能,你只需要在它的基础上,开发你的游戏视觉、音效、玩法等。

具体来说:开发引擎是开发者开发内容的框架,整合了很多个开发的关键模块。你可以将美术资源(如使用3D建模软件(Maya、3ds Max等)制作的三维模型或Photoshop制作的图片等)导入引擎中,然后将这些资源建造成场景,添加灯光、音频、特效、物理和动画,然后通过编写代码增加交互和逻辑,最后调试、优化,发布到目标平台(如PC、移动端、游戏主机等平台)。

经过不断的进化,如今的游戏引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络通信,还有专业的可视化编辑工具和插件,几乎涵盖了开发过程中的所有重要环节。

游戏引擎主要有以下几个模块:

图形

现代游戏引擎可以提供非常强大的图形效果,并可以大幅提高开发效率;可以从不同美术软件导入素材,这样你就不必在每次导入时都花费很多时间。


使用Unity实现的非常逼真的场景

使用Unity实现的非常逼真的场景

对于大多数游戏来说,游戏引擎可以提供全面高性能的渲染架构,并且提供深度优化的图形API,因此可以为游戏提供非常强大的视觉效果。

音频

你可以选择从0开始设计游戏中的声音,从背景音乐、音效、配音,到后期处理。你也可以选择从专门的资源平台(如Unity资源商店)购买音频资源。在引擎中,这些资源可以通过多种方式进行组合和混合。

游戏引擎可以帮你将音频集成到游戏中,也可以通过第三方插件让音效表现的更好。你可以专注于声音的组合、声音在游戏场景的合适位置和时间、合适的触发方式等。

网络

很多玩家喜欢通过游戏与朋友联系,也在游戏中认识了新朋友。网络游戏需要复杂的网络编程,会带来大量复杂的工作流程和工作量。庆幸的是,很多游戏引擎都有完整的工作流来实现网络通信和多人游戏。

物理

游戏引擎中的物理系统可以为虚拟世界提供物理模拟。不需要你写代码模拟物理效果,也不需要单独处理场景中的每一个物体,也不需要写代码处理物体之间的碰撞。游戏引擎可以让你通过拖拽或者仅用几行代码模拟出真实的物理世界。

图形用户界面(GUI)

大多数游戏都有自己独特的界面,比如主界面、玩家引导、剧情等。几乎所有游戏引擎都为开发者提供了构建用户界面的工具。UI工具可以组合、布局不同UI元素以及处理它们的交互。

代码/脚本

一款游戏的核心部分是代码,有时也称作脚本。你可以通过脚本自定义游戏逻辑。另外借助内置的常用脚本(某些游戏引擎提供),你可以不用自己写代码轻松实现场景的漫游、摄像机控制、动画、界面等。

Unity给自己的定义

回到Unity给自己的定义:世界领先实时创作平台

*世界领先:据麦肯锡统计,Unity在游戏引擎市场的全球份额占到了45%以上,而最接近的竞争者只有17%,所以世界顶尖也是名副其实。明天的文章中,我们还会深入探索Unity的前景。


来自麦肯锡报告的游戏引擎市场份额统计


来自麦肯锡报告的游戏引擎市场份额统计

实时创作平台:Unity刚出生的时候是一个跨平台的3D游戏引擎,它看准了多平台的风口,首创了一次开发,多平台发布的核心功能,迅速崛起。刚开始他的名字还是以Unity3d为主,后来丰富了2D的功能,就直接叫Unity了。近年来火热的VR和AR开发,在很大程度上要基于三维技术,所以Unity有天生的优势,再加上Unity紧跟科技的风口,在VR和AR领域的支持非常超前。国内外很多VR/AR软硬件厂商都在第一时间支持了Unity引擎。此外,随着Unity功能越来越强大,有一些影视的实时渲染放到Unity中来做,可以实时看到最终的效果,不需要等待漫长的渲染时间,取得了非常好的效果。所以,Unity已经是一个强大的实时创作平台。

2.2 Unity的诞生和发展

在这里插入图片描述
Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎

2004年Unity诞生于丹麦的阿姆斯特丹。

2005年将总部设在了美国的旧金山,并发布了Unity 1.0版本。起初它只能应用于MAC平台,主要针对WEB项目和VR(虚拟现实)的开发。

这时它并不起眼,直到2008年推出Windows版本,并开始支持iOS和Wii,才逐步从众多的游戏引擎中脱颖而出,并顺应移动游戏的潮流而变的炙手可热。

2009年的时候,Unity的注册人数已经达到了3.5万,荣登2009年游戏引擎的前五名。

2010年,Unity开始支持Android,继续扩散影响力,其在2011年开始支持PS3和XBOX360,则可看作全平台的构建完成。

其编辑器可运行在Windows、Linux(目前仅支持Ubuntu和Centos发行版)、Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。

如此的跨平台能力,很难让人再挑剔,尤其支持当今最火的Web、iOS和Android。另据国外媒体“游戏开发者”调查,Unity是开发者使用最广泛的移动游戏引擎,53.1%的开发者正在使用,同时在游戏引擎里哪种功能最重要的调查中,“快速的开发时间”排在了首位,很多Unity用户认为这款工具易学易用,一个月就能基本掌握其功能。截至2016年,这款引擎的注册人数已经井喷般增长到了80万,其中移动游戏支撑了Unity公司差不多一半的利润。

2.3 Unity能做什么

现在你已经了解了Unity是什么,那么用Unity能做什么呢?
用Unity可以开发:2D/3D游戏,2D/3D应用,VR,AR,甚至移动App,网页前端 ,电影实时渲染……

2D/3D游戏游戏本来就是Unity的根基,VR和AR也是Unity官方主推的方向。但是App和网页是什么鬼?其实基于Unity强大的跨平台特性,很多开发者在学会Unity之后,在App和网页设计开发中也会选用Unity作为引擎,许多开发者深深迷恋Unity的开发效率。对于一个项目及项目团队来说,技术路线的选择,适合的才是最好的。

目前也有很多电影公司使用Unity来进行电影、动漫的制作。这也说明了Unity在功能、易用性、渲染效果上都占据领先的地位。

坎巴拉太空计划(2011)
在这里插入图片描述

捣蛋猪(2012)
在这里插入图片描述
神庙逃亡2(2012)

在这里插入图片描述

新仙剑奇侠传Online(2013)

在这里插入图片描述
炉石传说:魔兽英雄传(2013)
在这里插入图片描述
纪念碑谷(2014)
在这里插入图片描述
王者荣耀(2014)
在这里插入图片描述

3 写在最后

看见这些知名游戏都是由Unity开发,你是不是也心动了,接下来我们将要使用这款引擎学习游戏开发,成为一名游戏开发者。

总结

今天我们主要介绍了游戏引擎以及Unity引擎,希望你能掌握以下三点:

  • 游戏引擎是游戏开发的框架,整合了多个开发的关键模块,可以大幅减少开发工作量。

  • Unity是世界领先的内容创作引擎。

  • Unity可以开发:2D/3D游戏,2D/3D应用,VR,AR,甚至移动App,网页前端 ,电影实时渲染。

猜你喜欢

转载自blog.csdn.net/Gnewocean/article/details/101112038