`
hzbook
  • 浏览: 252384 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Unity引擎初探

 
阅读更多

Unity的基本概念

Unity是一款独特的开发工具,与市场上其他的编辑器和引擎大不相同。正因为如此,你需要熟悉一些基本概念以便于充分利用其所有的功能。

正如前面提及的,你创建的每个游戏都组织为单个的项目。该项目包含所有的场景、关卡、资源、声音、脚本和游戏使用的任何东西。可以在File菜单下创建、保存或打开项目。

游戏是由一系列相互连接的场景文件组成的。通常,游戏中的每一个关卡都会包含于其自己的场景文件中。场景文件也可以用来创建全屏的GUI元素(例如,一个主菜单或游戏结束的屏幕)、过场动画以及任何想要分别载入的东西。

术语:场景文件中最基本的构建单元就是GameObject(GO,游戏对象)。游戏对象处于最基本的形式时,就是一个包含了很多称为组件(component)的元素的容器。所有的GameObject至少有一个组件(Transform组件),并且常常包含很多其他的组件。在测试场景中,Sphere、Plane和Cube对象都是游戏对象。(Main Camera、Directional Light和Primitives也是游戏对象,导入的3D模型或贴图文件也是。)GameObject也可以通过建立父子关系来和其他的游戏对象进行嵌套,正如Primitives对象那样。这称为一个游戏对象层次。

注意:如果使用菜单选项GameObject→Create Empty(创建空对象)在场景中创建一个新的游戏对象并选中它,你会注意到它并不是真的为空。即使称之为“空”对象,它仍然包含一个Transform组件。

在Hierarchy视图中单击任意一个游戏对象然后查看Inspector视图,Inspector视图中的每一个部分都是一个组件。例如,Cube对象具有Transform、Cube(Mesh Filter)、Box Collider、Mesh Renderer和Shader组件。可以把每个组件视为一个不同的方面或特性的定义。当组合在一起时,它们创建了在游戏中所看到的对象。一个游戏对象中可以放置的组件个数是没有限制的,很多类型的组件都可以在同一个游戏对象中放入多次(例如,脚本)。如果你浏览Componet(组件)菜单,能够看到可供使用的各种不同类型的组件,所有组件都是按照其基本功能来组织的。

注意:不能在场景中单独放置组件;它们必须连接到某个游戏对象上。

这有助于说明Unity和其他开发工具最大的区别:Unity的核心是以资源为中心的,而不是以代码为中心的。游戏中的每个东西都在编辑器中有一个视觉表示和物理存在——即便是那些无形的东西也是如此,例如,脚本、摄像机和光源。这样一来,你会发现,在Unity中进行工作就像是在一个3D建模程序中工作,而不像是在一个严格的编码环境中工作。

可用的Unity许可证

Unity具有多种形式并且对多个平台具有直接(native)支持。根据需要,可以从5种基本的许可证中选择:Unity、Unity Pro(专业版)、UnityiPhone Basic、Unity iPhone Advanced和Unity Wii。虽然这些许可证都提供了一样的、带有集成编辑器的基本软件包,但如果你要针对PC或Mac电脑开发的话,Unity和Unity Pro之间还是有一些显著的区别。Unity的这两个版本都可以提供创建和发布一款游戏所需要的工具,但是Unity Pro提供了一些额外的功能并且更精细一些,这使得它对于一个小型的开发团队或是工作室来说更有吸引力一些。Pro版本所提供的一些主要的好处包括:

  • 支持C/C++/Objective-C插件:可以创建和部署任何定制插件或是集成一个定制的本地库。
  • 支持外部版本控制:加入了对流行版本控制软件的集成支持,例如,Perforce或者Subversion。
  • 全屏后处理效果:包含了像发光(flow)和运动模糊(motion blur)之类的预制效果,也支持创建自己的效果。
  • 访问底层渲染功能:允许使用定制的渲染技术,并且可以绕过Unity内置的渲染流水线。
  • 性能分析器:支持游戏优化和代码植入(Code Instrumentation)的集成可视化工具。
  • 实时阴影:为软投影(soft cast shadow)和硬投影(hard cast shadow)增加了自投影支持。
  • 通过脚本访问资源流水线(Asset Pipeline):可以直接访问Unity的资源流水线。

可以在Unity网站上找到对所有许可证的完整对比,并且它会保持更新。

虽然所有这些可选的功能可以让游戏变得更为炫目,并且使开发流水线可定制程度更高,但是,其价格也更高。对于独立开发人员或是新的开发人员来说,你可能想要从基本的免费Unity许可证开始,等到你决定或是想要升级到Pro许可证的时候再说。

注意:在选购时要注意,当前对于Unity来说有两个许可证的限制。如果你的公司(或企业)在上一个财年的利润超过10万美元,那么必须购买Unity Pro(或者iPhone Advanced)许可证而不能购买其他许可证。并且,一个开发团队不能混用Unity Pro和Unity,或iPhone Basic和Advanced——一个团队必须使用相同类型的许可证。

除了这些基本的许可证以外,Unity还提供了许可证升级以及一个可选的集成资源服务器、一个编辑器源代码许可证,以及教育许可证。

编辑器小结

Unity是一款强大、优雅而简单的集成编辑器和引擎,为你提供了创建和发布一款游戏所必需的所有工具,无论你是要开发一款3D第一人称射击游戏还是休闲的2D智力游戏。

Unity所有的功能都组织为不同的、带有标签的窗口视图,每个视图都提供了不同的编辑和操作功能,以帮助你完成手边的任务。这款编辑器完全是以资源为中心的,它会为所有不同类型的对象创建物理链接和引用,即便是像代码这样的对象。

Unity的许可方式以及可选的插件使得你在需要时可以得到适量的功能和定制。这样的灵活性使得它可供一个独立的爱好者或是一个大型的开发团队使用。

--------------------------------

本文摘自《Unity游戏开发实战》,原书名Game Development with Unity,作者:Michelle Menard。

内容简介:

Unity是一种多平台的集成引擎和编辑器。本书介绍了如何使用Unity游戏引擎来创建可以在几乎所有可获得的平台上玩的游戏,这些平台从网页到WII甚至智能手机。Unity简单的界面、友好的开发环境以及对所有流行游戏平台的广泛支持,使得它对于新的开发人员或是那些希望使用一个简单、高效并且实惠的游戏引擎来创建游戏的人来说是完美的。在本书中,读者将学到所有重要的界面命令、怎样设置和组织项目,以及创建并运行一个3D游戏的所有基础,从角色导入到脚本到声音。本书还将介绍基本的游戏和关卡设计理论和特殊的技巧,因此,读者可以创建自己的游戏开发技能集合。本书分为五个部分,每一章都介绍了一个独立的概念,并且使用循序渐进的介绍和问题来教授新的概念,还使用一个综合的游戏项目贯穿全书。

本书介绍了从创建游戏资源、添加交互性到修饰我们完成的游戏并发布它的所有知识,并且为读者提供了使用Unity来创建自己的游戏所需要的所有信息。

随书附赠光盘包括:

  • 每一章用到的游戏资源和HTML源文件。
  • 完成示例游戏所需的部件。
  • 可以对Unity中所有着色器进行一一对比的一个着色器测试程序。
  • 最终项目文件,包括完整的示例游戏以及模型、材质和UI元素等额外的游戏资源。
  • 其他的辅助资源的链接。
  • 附加练习、重要术语表、常用的Unity类及其定义等。

豆瓣收藏:http://book.douban.com/subject/10567978/


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics