目录

前言

正式使用Unity之前

1 Unity的定义

2 Unity的安装与登录

Unity基本名词概念

1 游戏对象

2 组件

3 场景

Unity界面

1.1 项目界面

2.1 主界面-场景视图(Scene)、动画(Animator)与控制台(Console)

2.2 主界面-游戏视图(Game)、动画时间轴(Animation)

2.3 主界面-层次(Hierarchy)

2.4 主界面-项目(Project)

2.5 主界面-检查(Inspector)


前言

Unity官方手册:https://docs.unity3d.com/cn/current/Manual/UnityManual.html

本系列文章是关于unity在游戏开发方向上的教程,服务于对unity一无所知的新人或稍有所知的学习者,因为其本质上是一个针对新人的导航。阅读本系列文章,要求读者有一定的编程基础和英语基础,至少要有一定C#语法基础。

本系列文章参考的是unity官方的用户手册,系列中给出的范例代码适用于2018.7.f1版本。在阅读本系列文章的过程中,请读者多多参考用户手册毕竟教程是新手向的,有很多地方必然不会涉猎,而(在此基础上)要想完全掌握unity参考手册是必然的。同时,我会在讲解特定部分的时候给出其在用户手册的位置URL以供读者参考,希望读者能够善加利用,达到事半功倍的效果

Ps:本教程使用的是未经汉化的Unity软件,也希望读者不要图一时看着方便去安装汉化版(官方汉化在19年之后的版本支持),有些名词还是记着英文的方便。

正式使用Unity之前

在使用unity之前,读者也许需要知道下面的知识:

1 Unity的定义

现在提到unity,大部分人的第一印象都是:“unity是一个游戏引擎”。这句话对也不对。Unity是一个用于创建2/3D、AR等内容的工具/引擎(请注意是内容而不是游戏,unity在建筑、动画等领域也有广泛的用途),但是目前其最出众的是在游戏创建上的表现,所以才会让人产生“unity是游戏引擎”的错觉。

在官网的说明中(https://unity.cn/projects/about-unity),描述unity为创作引擎、开发工具。其支持维度为2/3D、AR、MR、VR,开发语言为C#。另外,使用unity制作的程序可以被编译到各种平台上使用,由于unity引擎的灵活性,这些程序也将拥有良好的可移植性。

2 Unity的安装与登录

比起大多数专业软件,unity在中国化的道路上先进了太多太多,甚至到了让人钦佩的地步。Unity有专门的中国官网和中文社区(即unity.cn,英文官网为unity.com),还有中文版本的文档。

Unity本体可以直接在中文官网下载,需要注意的是,在安装unity之前可以先安装一个Unity Hub,hub可以用于管理电脑中不同版本的unity editor。

使用unity需要一个账户,以及一个授权版本。由于目前unity已经支持了微信登陆,我们可以直接使用微信扫码登陆,免去另行注册帐号的繁琐。unity的授权分为personal、plus、pro、enterprise四种,其区别见购买Unity | 资源商店 - Unity官方商店。作为学习者,推荐读者使用personal授权,它能够体验大多数内容,并且是免费的。

Unity基本名词概念

-本节相关内容请读者参考

-术语表 - Unity 手册,《术语表》

在使用unity之前最先要理解通顺的就是unity中的名词概念,这是最基础也是最根本的内容。读懂unity中的特殊名词,才能进一步理解unity引擎的运作模式和它带给使用者的开发方式。

作为一个粗浅的教程,我只向读者们用我自己的理解去解释下面三个名词(默认在游戏开发中)。

1 游戏对象

游戏对象可以说是整个unity游戏世界里最基础的成员,摄像机、精灵、地图、灯光等所有出现在场景中的对象都是游戏对象。如果要做个类比,可以将空游戏对象比作Ruby中的Class类(unity中空对象自带一个组件transform),将各种不同的游戏对象(精灵等)比作Class的派生类。

2 组件

在游戏对象的名词解释中,我们把游戏对象比作编程语言中的类。从这个类比出发,组件则对应着编程语言中的属性/方法,它被附加到游戏对象上,依附游戏对象表现,游戏对象可以看做是组件的容器。游戏对象的功能由附加到游戏对象的组件来定义。组件给了游戏对象不同的功能,从而使各个游戏对象表现出期望表现的形式,令游戏得以成功运行。不同的游戏对象间之所以不同,是因为他们有不同的属性(组件)。

所有的游戏对象都可以看做一个空游戏对象+组件。例如创建新项目之后预设场景里的主摄像机(下图),它就是由一个空游戏对象+组件camera构成。

3 场景

场景是一个.unity文件,由unity本身创建。在游戏中的所有游戏对象都将被放置在某个场景内。一个游戏可以有多个场景。读者可以将场景想象成游戏对象的“舞台”或者说是“容器”,再具象一点可以是RPG游戏里的关卡地图。

Unity手册中指出,场景“实际上就是以碎片化的方式设计和构建游戏”。

Unity界面

-本节相关内容请读者参考

-启动 Unity - Unity 手册,《首次启动unity》

-项目模板 - Unity 手册,《项目模板

-了解界面 - Unity 手册,《了解界面》

- Unity 的界面 - Unity 手册,《主要窗口》

1.1 项目界面

在安装登录完毕之后,我们终于能够打开unity了。与IDEA等软件一样,unity在进入主界面之前还有一个项目选择的界面。这个界面十分简单,因此我们略过此界面的讲解。又由于我们是第一次使用unity,为了进入主界面需要新建一个项目。新建项目界面如下:

其中两个需要讲解的部分为unity analytics与template。

Unity analytics是一个对unity游戏进行分析的数据平台,开发者可以使用其查看游戏玩家的身份等信息。

Template是创建unity项目时采用的模板,简单的来说,它的五个选项从上到下可以视为:标准2D模板、标准3D模板、含有渲染器和后期处理的3D模板、为高端平台设置的高清模板(配置要求高)、性能优先的轻量模板(高优化)、性能优先的轻量VR模板。

在本教程中,我们使用标准的2D/3D模板预设。

随意选择一个模板,创建项目,就可以进入unity的主界面。unity主界面的大致情况如下(我调整过了,跟初始布局可能会有出入,不过不是大问题):

我们把unity的界面除去菜单栏分为五个部分,如上图红框所示,并一一讲解。

2.1 主界面-场景视图(Scene)、动画(Animator)与控制台(Console)

即上图中1部分(下略)。

可以看到本部分包含了三个选项卡场景(scene)、animator和console。

Scene顾名思义就是场景选项卡,是游戏中场景的查看器。在unity中,无论预设是2D还是3D,游戏场景都是3D的。这就导致unity场景的操控要较一般2D场景更为复杂一些。没有3D建模经验的读者可能对unity场景的操控感到陌生(下图为场景工具栏),如果读者对这些内容有兴趣,可以学习3D建模相关的内容。如果读者只想要达到基础操控的目的,可以直接在场景中添加一个正方体(Hierarchy->3D object->Cube),然后依次点击按钮切换状态并尝试移动物体,用实践的方式快速学习。

Animator即是动画控制器。它用于读取和修改游戏对象的动画组件animator。

Console是控制台,其用途与IDE中控制台的功能基本一致,在调试中显示警告和错误。我们也可以在代码中使用Console.log来在控制台显示信息。

2.2 主界面-游戏视图(Game)、动画时间轴(Animation)

本部分包含两个选项卡game与animation。

Game显示的是游戏测试中的画面,其与游戏正式发布后运行游戏看到的画面相同。要进行和暂停游戏测试,点击下图所示的按钮:

Animation用于编辑组件animation,看起来像是一个时间轴。

2.3 主界面-层次(Hierarchy)

本部分包含选项卡hierarchy。

Hierarchy就是常规的层次视图,显示了项目中的所有场景及其下的所有游戏对象。通过层次视图可以简单清晰地观察到场景中游戏对象间的层次关系。

2.4 主界面-项目(Project)

本部分包含选项卡project。

Project选项卡包含了左右两部分,左边显示的是文件夹,右边显示的是当前选中文件夹下的内容(包括文件和文件夹,也就是说这是一个小型的项目文件资源管理器)。同时,我们可以在选项卡上方的搜索栏里搜索项目资源,也可以搜索unity assent store中的资源。

在选项卡文件夹显示的最上方有一个标签favorites,它用于存储一些特殊的搜索结果(可以说是一种索引吗)。在搜索栏中搜索一个关键词,然后在右上角点击星标,就可以将搜索结果加入favorites标签。

2.5 主界面-检查(Inspector)

本部分包含选项卡inspector。

Inspector选项卡用于显示和编辑游戏对象和其他项(比如说项目整体设置和游戏资源)的详细状况,在显示游戏对象时,其显示游戏对象安装的组件以及其属性。

Unity游戏教程初步(一):开始之前相关推荐

  1. Unity游戏教程初步(八):Animator的使用

    1 前言 本节中我们来介绍Unity的动画系统以及管理动画剪辑(Animation Clip)的组件Animator. 2 Unity中的动画系统 Unity的动画系统又称为Mecanim,是一个基于 ...

  2. Unity游戏教程初步(五):Resources与UI

    目录 前言 项目需求 增加音效 增加UI # TextMeshPro-Text 增加得分点 前言 在上一节中我们给球体添加了纹理,并且为场景设置了一个目的区域.当球体处于目的区域内时,其将变色.在这一 ...

  3. Unity游戏教程初步(六):迷宫算法与预制体

    目录 前言 项目需求 Prim算法生成迷宫 1 算法思路介绍 2 代码示例 3 用于测试的代码 预制体(预制件) 1 定义 2 构建迷宫墙体预制体 完善工程 前言 本节我们来做迷宫生成.生成迷宫的算法 ...

  4. C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例

    C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判 ...

  5. C#开发Unity游戏教程之判断语句

    C#开发Unity游戏教程之判断语句 游戏执行路径的选择--判断 玩家在游戏时,无时无刻不在通过判断做出选择.例如,正是因为玩家做出的选择不同,才导致游戏朝着不同的剧情发展,因此一个玩家可以对一个游戏 ...

  6. C#开发Unity游戏教程之游戏对象的行为逻辑方法

    C#开发Unity游戏教程之游戏对象的行为逻辑方法 游戏对象的行为逻辑--方法 方法(method),读者在第1章新建脚本时就见过了,而且在第2章对脚本做整体上的介绍时也介绍过,那么上一章呢,尽管主要 ...

  7. C#开发Unity游戏教程之使用脚本变量

    C#开发Unity游戏教程之使用脚本变量 使用脚本变量 本章前面说了那么多关于变量的知识,那么在脚本中要如何编写关于变量的代码,有规章可循吗?答案是有的.本节会依次讲解变量的声明.初始化.赋值和运算. ...

  8. unity游戏教程 space shooter (游戏控制器)

    为了更好地理解unity,模仿了教程,以下均为教程中的代码: GameController.cs: using System.Collections; using System.Collections ...

  9. [Unity C#教程] 游戏对象和脚本

    文章转载自:https://www.cnblogs.com/UnityYork/p/7704803.html [Unity C#教程] 游戏对象和脚本 博主最近在学习Unity,发现一个英文教程很好. ...

  10. 2d unity 多物体 射线_24小时入门Unity游戏开发系列教程

    版权声明: 本系列教程来自Unity Game Development in 24 Hours, Sams Teach Yourself(出版日期:2013年12月6日) 教程内容仅供个人学习参考,版 ...

最新文章

  1. 计算机专业的教学内容落后实例,关于中职计算机专业教学现状的思考.doc
  2. 搭建IIS并配置网站之旅
  3. 什么叫基于web的网站_选择离开家乡在外打工,学门什么专业的技术更有前途呢?-WEB资讯专栏-DMOZ中文网站分类目录...
  4. 抄底指标:秘密买卖点
  5. php正弦函数图像,Go语言输出正弦函数(Sin)图像
  6. jfinal 和bjui 常用前后交互方式
  7. Anaconda 更新pip版本
  8. wps下一步快捷键_WPS的快捷键有哪些
  9. 计算机机设应用基础,计算机机应用基础–word.ppt
  10. [POJ 1625] Censored! (AC自动机+DP+高精度)
  11. 新式茶饮“拿捏”年轻人,“八马茶业”们的出路在哪?
  12. 那些清华北大随便挑的高考状元们,后来都过上了怎样的生活?
  13. 机器学习——低秩矩阵分解中低秩的意义、矩阵填补、交叉验证
  14. JPA学习 —— 第五课、JPA常用API详解
  15. 不重复随机数的产生 (C++)
  16. 苹果计算机免费的,《苹果Mac电脑使用的日常》免费版 Mac软件推荐
  17. sklearn.metrics 用法详解
  18. 教师网络计算机研修培训总结,教师网络研修总结
  19. java ajax轮询代码_AJAX轮询的实时监控画面
  20. 如何设计一个落地页,才算得上是一个好的落地页?

热门文章

  1. Doubly Linked List in Python
  2. 什么时候使用PHP设计模式和为什么要使用?
  3. 【MMML】多模态机器学习高被引综述论文笔记
  4. 扫描电子显微镜(SEM)低真空技术改造以提升观测能力的解决方案
  5. 爬虫练习-爬取小猪短租网北京地区短租房信息
  6. css3实现图片旋转木马效果
  7. 小生不才,真实记录爬取链家网2584条租房信息,聊一聊框架爬取大量数据防止被ban的事
  8. HTML常用标签(三)
  9. 谷歌、华盛顿大学联合研究:为什么在标准数据集上刷榜有问题
  10. MapGIS注记文字无损转入ArcGIS软件