`
hzbook
  • 浏览: 259655 次
  • 性别: 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/


分享到:
评论

相关推荐

    unity2d 游戏开发资源 unity2d 游戏开发资源

    目录 目 录 第1 章 初探 Unity游戏引擎 1.1 Unity 热浪来袭 2 1.2 Unity 初步认识 2 平台支持 3 性化操作 3 Plug In 4 所见即所得 4 1.3 Unity 版本演进 5 Unity 4.3 — 2D、3D 分水岭 5 Unity 5 — 免费云时代来临...

    unity-ugui, 统一 4.6个新界面系统的评价.zip

    Unity UGUI是Unity引擎在4.6版本引入的一项重大更新,它为开发者提供了一个全新的、统一的用户界面(UI)系统。这个系统替代了之前的OnGUI和NGUI等旧有的解决方案,极大地提升了UI的设计和开发效率。在"unity-ugui, ...

    Introduction-To-HTC-Vive-Final-Unity5.5.1.zip

    本资料“Introduction-To-HTC-Vive-Final-Unity5.5.1.zip”是针对使用Unity引擎进行HTC Vive开发的一份详细教程,旨在帮助初学者快速上手并掌握VR应用开发的基本技能。 Unity是一款跨平台的游戏开发工具,支持2D、...

    冒险者,unity3d游戏

    《冒险者:Unity3D游戏开发初探》 Unity3D是一款强大的跨平台游戏开发引擎,深受游戏开发者喜爱,尤其适合新手入门。本教程“冒险者”旨在为初学者提供一条简单明了的学习路径,帮助他们快速掌握Unity3D游戏开发的...

    Unity多人联网VR游戏 Multiplayer VR Starter Kit - Paintball - For UNET & SteamVR

    Unity引擎以其强大的跨平台能力和丰富的资源库,在游戏开发领域备受青睐,尤其是对于虚拟现实(VR)游戏的开发。本文将深入探讨Unity Asset Store上的热门资源——"Multiplayer VR Starter Kit - Paintball - For ...

    SpaceWar.rar

    这个项目基于Unity引擎,目前实现的是基础功能,预示着它正处于早期开发阶段。Unity是一款强大的跨平台游戏开发工具,广泛应用于2D和3D游戏制作,其易用性和丰富的资源库使其成为许多独立开发者和小型团队的首选。 ...

    Beginning 3D Game Development with Unity 4 2nd Edition

    Unity 4是一个强大的游戏引擎,广泛应用于多平台游戏开发中。本书旨在向读者介绍游戏开发的基础知识和Unity 4引擎的具体应用,适合初学者和对三维游戏开发感兴趣的爱好者。 在内容安排上,本书涵盖了游戏开发的多个...

    Parkour.rar

    《Unity3D跑酷类游戏开发初探》 在当今的游戏开发领域,Unity3D以其强大的功能和易用性成为了许多开发者,尤其是初学者的首选工具。本资源提供了一个名为"Prisoners Fled"的跑酷类游戏Demo,旨在帮助初学者了解并...

    点点滴滴:一个正在进行的Unity Webgl游戏

    本项目“点点滴滴”正是一个基于Unity引擎并利用WebGL技术开发的在线游戏,其早期开发阶段的探索与实践,为理解Unity游戏开发提供了宝贵的实例。 首先,让我们聚焦于C#编程语言。Unity主要采用C#作为脚本语言,它是...

    打砖块.zip

    《打砖块游戏开发初探:Unity3D与C#结合的应用》 打砖块是一款经典的游戏,它的简单设计和趣味性使其成为学习游戏开发的理想起点。本项目以"打砖块.zip"为载体,提供了从源代码到游戏成品的完整资源,特别适合对...

    ObjectDodger:我的第一个Unity游戏,您躲避物体以获取积分

    ObjectDodger是一款由Unity引擎开发的简单而有趣的游戏,玩家通过躲避不断出现的物体来积累分数。这款游戏是开发者初次尝试使用Unity进行游戏制作的成果,展现了Unity在游戏开发领域的强大潜力。本文将深入探讨Unity...

    MyFirstGame_Kart:这是我的第一个Unity游戏-将您的卡丁车带到目的地!

    《Unity游戏开发初探——基于"MyFirstGame_Kart"项目》 Unity,作为一个强大的跨平台游戏引擎,被广泛应用于各种游戏开发,从简单的2D小游戏到复杂的3D大作。本篇文章将深入探讨一个名为"MyFirstGame_Kart"的Unity...

    TesteProgramacaoCrenix:Mini-projetinho feito no Unity como parte do processo de vac de ProgramadorJúniorna Crenix Games

    在游戏开发领域,Unity引擎以其强大的跨平台能力和丰富的资源库深受开发者喜爱。本文将深入探讨一个名为"TesteProgramacaoCrenix"的项目,该项目是Crenix Games公司针对初级程序员招聘而设计的一个小型编程测试。...

    snake1.0.zip

    《Unity打造3D贪吃蛇游戏初探》 Unity,作为全球最受欢迎的游戏开发引擎之一,以其强大的3D渲染能力和易用性深受开发者喜爱。本文将深入探讨如何利用Unity来制作一款传统的3D版贪吃蛇游戏,对于初学者来说,这是一...

    初探c#教程.rar

    - **Unity游戏引擎**:C#是Unity的主要编程语言,用于开发2D和3D游戏。 - **ASP.NET**:用于构建Web应用程序,C#与ASP.NET结合,可以快速高效地开发动态网站。 总之,"初探C#教程.rar"这个压缩包很可能是针对C#...

    AndorinhaEsporte:Primeiro Projeto com unity3d

    《AndorinhaEsporte: Unity3D初探与C#编程实践》 Unity3D,作为全球最受欢迎的游戏开发引擎之一,被广泛应用于游戏、虚拟现实(VR)、增强现实(AR)等多个领域。在这个名为"AndorinhaEsporte"的项目中,我们将深入...

    Project_Joli:我的第一个使用Unity的游戏

    Unity引擎,作为全球领先的实时3D内容创作和发行平台,被广泛应用于游戏开发、视觉特效、建筑可视化、虚拟现实等多个领域。对于初学者而言,掌握Unity不仅能打开游戏制作的大门,也能为未来在数字媒体行业的发展奠定...

    汇总游戏:这是我的第一个Unity项目,它是一个简单的游戏,您必须用球来收集立方体

    【Unity游戏开发初探:创建一个3D球体收集立方体的简单游戏】 Unity是一款强大的跨平台游戏开发引擎,广泛应用于2D和3D游戏、虚拟现实(VR)和增强现实(AR)项目的制作。在这个名为"Roll-up-Game"的项目中,作者通过...

    老孙的游戏课:第1篇 Unity入门

    你将学到一款十分流行的游戏制作引擎——Unity,它是一个跨平台的游戏开发软件,只要你的游戏在电脑上制作完成,便可以同时发布成Android版和iOS版,甚至发布成Web版。 在这门课程中你将学习到:游戏对象的创建、...

Global site tag (gtag.js) - Google Analytics