Unity游戏开发入门经典(第4版)

978-7-115-60244-2
作者: (美)迈克·吉格(Mike Geig)
译者: 唐誉玲
编辑: 郭媛
分类: Unity

图书目录:

详情

Unity 游戏引擎是由 Unity Technologies 公司开发的一个让玩家能够轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等内容的跨平台综合游戏开发工具。很多热门游戏都是应用该引擎开发的,例如《深海迷航》《坎巴拉太空计划》等。 本书以直截了当、循序渐进的方式讲解Unity 游戏开发从基础到高级的所有内容,包括游戏物理引擎、动画和移动设备部署技术。本书分为24 章,内容包括 Unity 游戏引擎和编辑器的介绍,游戏对象、模型、材质、纹理、地形、环境、灯光和摄像机的介绍及应用,任务脚本的编写,真实的物理效果和碰撞的应用,预制件、2D 游戏工具、瓦片地图、用户界面、粒子系统、动画、动画器、时间轴、复杂音频的集成、移动设备加速计和多点触摸屏幕的使用,以及4 个游戏案例。 本书附赠源代码,适合对使用Unity 进行游戏开发感兴趣的零基础读者学习。有过其他游戏平台开发经验,打算向Unity 平台拓展的读者也可以通过本书迅速上手。

图书摘要

版 权 信 息

书名:Unity游戏开发入门经典(第4版)

ISBN:978-7-115-60244-2

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

版  权

著    [美]迈克·吉格(Mike Geig)

译    唐誉玲

责任编辑 郭 媛

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

版 权 声 明

Authorized translation from the English language edition, entitled Unity Game Development in 24 Hours, Sams Teach Yourself 4e by Mike Geig, published by Pearson Education, Inc, Copyright © 2022 Pearson Education, Inc. This edition is authorized for distribution and sale in the People's Republic of China (excluding Hong Kong SAR, Macao SAR and Taiwan).

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.

CHINESE SIMPLIFIED language edition published by POSTS AND TELECOM PRESS CO., LTD. Copyright ©2024.

本书中文简体版由Pearson Education(培生教育出版集团)授权人民邮电出版社独家出版。未经出版者书面许可,任何人或机构不得以任何方式复制或传播本书内容。本书经授权在中华人民共和国境内(香港特别行政区、澳门特别行政区和台湾地区除外)发行和销售。

本书封面贴有Pearson Education激光防伪标签,无标签者不得销售。

版权所有,侵权必究。

内 容 提 要

Unity 游戏引擎是由 Unity Technologies 公司开发的一个让玩家能够轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等内容的跨平台综合游戏开发工具。很多热门游戏都是应用该引擎开发的,例如《深海迷航》《坎巴拉太空计划》等。

本书以直截了当、循序渐进的方式讲解Unity游戏开发从基础到高级的所有内容,包括游戏物理引擎、动画和移动设备部署技术。本书分为24章,内容包括 Unity 游戏引擎(2020.3 版本)和编辑器的介绍,游戏对象、模型、材质、纹理、地形、环境、灯光和摄像机的介绍及应用,任务脚本的编写,真实的物理效果和碰撞的应用,预制件、2D游戏工具、瓦片地图、用户界面、粒子系统、动画、动画器、时间轴、复杂音频的集成、移动设备加速计和多点触摸屏幕的使用,以及4个游戏案例。

本书适合对使用Unity进行游戏开发感兴趣的零基础读者学习。有过其他游戏平台开发经验,打算向Unity平台拓展的读者也可以通过本书迅速上手。

作译者简介

迈克·吉格在Unity Technologies的制作团队就职,他通过制作并传播具有强大影响力的学习资源,使得游戏开发技术更加普及。同时,迈克也是一位经验丰富的独立游戏开发者,一位大学老师,一位作家。作为一位资深游戏人,他对该领域的热爱使他致力于将这项互动艺术的开发过程变得更加有趣,让各行各业的人都能加入进来。

唐誉玲,毕业于英国爱丁堡大学的艺术学院,是一位交互媒体艺术从业者,具有丰富的游戏引擎使用经验,擅长建立人与机器、人与虚拟空间的交流,并乐于探索游戏化思维及虚拟空间的多场景应用。

前  言

Unity是一款功能强大的游戏引擎,受到众多专业且成熟的游戏开发者的青睐。本书将结合2020.3版本的引擎内容,让读者能在24小时内尽快上手使用Unity,同时还会介绍游戏开发的基础知识。与只介绍几个模块或全书只讲解一个游戏案例的书不同,本书不仅涵盖大量模块内容,还包含4个游戏案例。阅读完这本书,你不仅能掌握Unity游戏引擎的理论知识,还可以在不同的游戏案例中进行实践应用。

你可以在异步社区的本书配套资源中,或通过“资源与支持”页指引,获取本书涉及的所有代码。

致  谢

十分感谢帮助我完成这本书的各位。

完成这本书时,我正处于人生中比较奇异的阶段,感谢各位让这种奇异走向好的方向。

感谢我的父母。鉴于我现在也已为人父,我开始意识到你们当初有多难。

感谢安吉丽娜·朱莉。你在《黑客》(1995)电影里饰演的角色让我选择了计算机专业,别低估自己对一个10岁孩子的影响力,你可是个人才!

致牛肉干的发明者:我很喜欢牛肉干,谢谢你!

感谢罗西奥·崇泰作为技术编辑对本书做出的杰出贡献,同时感谢你持续跟进并询问我何时更新本书。

感谢克里斯·查恩担任本书的文字编辑,如果读者挑出什么问题,我就会怪在你头上!

感谢劳拉劝说我写下本书,也感谢你在游戏开发者大会(Game Developers Conference,GDC)请我吃的午饭,那是我当天最美味的一餐,毕竟我把它吃光了。

最后,还应该向Unity Technologies道声感谢,如果你们没有制作出Unity游戏引擎,也就不会有这本书。

致正在阅读此页的所有人,坚定向前吧,前方一片平坦。

资源与支持

资源获取

本书提供如下资源:

源代码;

思维导图;

彩图文件。

要想获得以上资源,您可以扫描下方二维码,根据指引领取。

提交勘误

作者、译者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。

当您发现错误时,请登录异步社区(https://www.epubit.com),按书名搜索,进入本书页面,单击“发表勘误”,输入勘误信息,单击“提交勘误”按钮即可(见下页图)。本书的作者、译者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

与我们联系

我们的联系邮箱是contact@epubit.com.cn。

如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们。

如果您所在的学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。

关于异步社区和异步图书

异步社区”(www.epubit.com)是由人民邮电出版社创办的IT专业图书社区,于2015年8月上线运营,致力于优质内容的出版和分享,为读者提供高品质的学习内容,为作译者提供专业的出版服务,实现作者与读者在线交流互动,以及传统出版与数字出版的融合发展。

异步图书”是异步社区策划出版的精品IT图书的品牌,依托于人民邮电出版社在计算机图书领域40余年的发展与积淀。异步图书面向IT行业以及各行业使用IT技术的用户。

第1章 Unity简介

本章你将会学到如下内容。

如何安装Unity。

如何创建或打开一个已有项目。

如何使用Unity编辑器。

如何在Unity的场景视图中操控浏览。

本章将让你做好在Unity中大展拳脚的准备。首先,你会了解Unity不同类型的许可证,并安装你所选的版本。之后,你还将学到如何新建项目或打开已有项目,彼时你将启动强大的Unity编辑器,并使用其中的各种组件。最后,你将可以使用鼠标和键盘在一个场景中实现操控浏览。本章意在让大家上手实践,所以一边看,一边下载好Unity并跟着操作吧!

1.1 安装Unity

开始使用Unity之前,你需要先下载并安装好Unity。目前,各软件的安装过程是十分简单直接的,Unity也不例外,但在安装前,你得先了解Unity的3种许可证:Unity Personal(个人版)、Unity Plus(加强版)和Unity Pro(专业版)。Unity Personal是免费的,并且能满足本书所有项目内容的使用需求。实际上,Unity Personal所含功能已经能满足商业游戏的开发需求了,如果你的游戏每年能创造10万美元以上的收益,或者你想要使用Unity Plus或Unity Pro(主要针对团队)的前沿技术,到时候再升级许可证类型也不迟。

小记 Unity Hub

你需要先在Unity官网上下载Unity Hub,它是一个启动平台。你可以通过Unity Hub打开所有的Unity编辑器和项目(Unity编辑器是让你能制作游戏的软件)。如果你在阅读本书前用过Unity但没有用过Unity Hub,也不必担心,现在的安装顺序及项目逻辑与之前是一致的,就像老话说的:“新包装,老味道!”

小记 Unity 更新

本书的插图及介绍在写作时是准确的,但Unity Hub和编辑器一直都在更新中,新版本出来后,本书插图显示的内容可能和你的计算机上显示的并不一致,或许Unity有的细节变了,但本书介绍的步骤和核心内容始终是通用且准确的。

1.1.1 下载并安装Unity Hub

之前有提到,当你想通过Unity制作游戏时,首先得进入Unity Hub,准备好了的话,就跟着如下步骤操作吧。

1.在Unity 资源商店网页选择你的许可证类型。

2.如果你选择了Unity Personal,你可以直接下载Unity Hub,或跟着Unity为新手准备的指引进行安装。两种方式都能达成安装目的。

3.像安装其他软件一样完成安装流程。

4.打开Unity Hub(见图1.1),你应该会被提示登录或新建账号,这用不了多长时间,而且之后你也会需要一个账号。

图1.1 Unity Hub

Unity Hub除了作为管理项目和软件安装的控制中心,还提供社区新闻,以及有助于开发的学习资源。

1.1.2 安装Unity编辑器

Unity Hub安装好后,就可以安装Unity编辑器了。通过Unity Hub,你可以安装任何版本的Unity编辑器(需要与你的硬件匹配),跟着如下步骤进行安装吧。

1.打开Unity Hub,选择“安装”,然后单击“安装编辑器”按钮

① 全书对软件界面中项的引用太多,为了避免影响读者阅读的流畅度,故在翻译过程中,在不引起歧义的情况下,尽量减少使用双引号,尤其英文单词的辨识度较高故不加双引号再次引出。——译者注

2.选择2020长期支持(LTS)版本(见图1.2)(后面的“为什么是2020长期支持版本?”小记会解释为何你需要选择这个版本)。单击“安装”按钮。

图1.2 选择Unity 2020 LTS版本

3.在下一个界面,你可以选择任何附加模块或你要发布的平台(见图1.3),基于本书内容,你无须选择任何发布平台。你可以在之后随时添加新的模块,现在单击“安装”按钮就好。

图1.3 其他安装模块

4.等待安装完成就好。

小记 为什么是2020 长期支持版本?

或许你会疑惑为什么下载的是2020长期支持版本。在Unity的发布计划中,长期支持版本(Long Term Support,LTS)集成了之前版本的功能,十分稳定,且在未来两年中都会持续维护。长期支持版本一般不会在当年发布,Unity 2020 长期支持版本发布于2022年初,是本书写作时最新的版本。

小记 运行系统及硬件要求

Windows或macOS都可以使用Unity,尽管也有针对Linux的版本,但它并不是主要支持的系统。同时你的计算机还需要达到以下标准(写作时摘录自Unity官网)。

1.Windows 7 SP1+、Windows 8或 Windows 10的64-bit版本,OS X 10.12.6+。Unity未在Windows或OS X的服务器版本上测试过。

2.支持DX9(着色器模型3.0)或DX11 9.3的显卡。

3.支持SSE2设置的CPU(绝大多数现代CPU都支持)。

以上都是最低要求。

1.2 熟悉Unity编辑器

下载好Unity编辑器后,你就可以开始探索了,其可视化组件让你能以“所见即所得”的方式制作出游戏。由于主要的交互对象都是该编辑器,所以很多人就把它称为一个简单的Unity(集合)。本节将介绍Unity编辑器的各种元素,以及我们是如何利用它们之间的协作来完成一款游戏的制作的。

1.2.1 项目部分

Unity Hub不仅能管理编辑器的安装,还可以创建或选择项目,目前,你的Unity Hub中的项目界面应该是空白的(见图1.4)。

图1.4 空白的项目界面

只用单击“新项目”按钮就能快速新建一个项目。如果你安装了多个版本的编辑器,你可以在新建项目界面的顶端看到编辑器版本选项,单击编辑器版本旁边的下拉按钮来选择你想要的版本。如果你想打开已有的项目(不在当前列表中),可以单击“打开”按钮来进行操作。接下来的练习中,你将学到新建项目的具体步骤。

创建自己的第一个项目

你已经可以新建一个项目了,注意项目存储的位置,确保之后能顺利地找到它。图1.5所示是新建项目时会出现的窗口,新建项目的步骤如下。

1.打开Unity Hub并单击“新项目”按钮,新项目窗口将弹出。

2.选择一个存储位置。建议新建一个叫UnityProjects(Unity项目)的文件夹来保存本书的所有项目,如果你不确定存在哪儿,可以使用默认路径。

3.将你的项目命名为Hour 1 TIY(表示第1章练习)。Unity会建一个相同名称的文件夹以保存该项目,路径与窗口中所示的一致。

4.选择3D选项。之后你将学到其他选项的内容。

5.单击“创建项目”按钮。

图1.5 第一个项目的设置

小记 2D、3D、渲染管线

你一定好奇其他的选项是什么。你可以通过2D和3D选项选择你所要做的游戏类型,不用担心选错或还不确定,这些选项只是决定了编辑器的一些设定,之后随时可以更改。HDRP(High Definition Render Pipeline,高清渲染管线)和URP(Universal Render Pipeline,通用渲染管线)都是Unity 可编程渲染管线(Scriptable Rendering Pipeline)中的一种,它们使开发者可以自己控制项目的渲染效果,但其中涉及的知识超出了本书的范围,感兴趣的读者可自行参考相关资料。

1.2.2 Unity界面

现在,你已经安装好Unity,打开了新项目,是时候探索一下Unity界面了。当你第一次打开一个项目时,你会看到一堆灰色的面板(被称为视图),而且里面都是空的。不用担心,马上就能让这里“热闹”起来,本章接下来的部分会单独介绍每一个视图。现在,我们先来看看整个界面(见图1.6)。

对新手来说,可以自己定义整个界面的样式,任何视图都可以移动、拼接、复制或改变。举例来说,如果你单击“层级”这个词来选中层级视图(左边),把它拖动到“检查器”(右边)上面,就可以把这两个视图拼在一起;你还可以把鼠标指针放在任意视图间的分割线上,拖动该线就可以改变视图的大小。不如现在就上手试试,把界面布置成你喜欢的样子吧!如果你不是很满意最后的样子,选择“窗口”→“布局”→“默认”就可以轻松地切换回默认布局,现在不妨多试几种预置的布局吧(我尤其喜欢宽布局)。如果你调整出了自己喜欢的样式,可以选择“窗口”→“布局”→“保存布局”将其保存下来(本书中我使用的是一个叫Pearson的自定义布局),存好后,即使你不小心改动了当前布局,也能随时恢复。在Unity编辑器右上角有个下拉列表,即图1.6中显示“布局”那里,在那里也可以更改布局。

图1.6 Unity界面

小记 找到合适的布局

不会有两个完全相同的人,也不会有两个相同的理想布局,一个好的布局可以帮助你更简便地完成项目,而且之后使用Unity的时间会很多,所以花一些时间调整出适合自己的布局,总是值得的。

添加一个视图也很简单,你可以右键单击任意视图标签(如图1.7中的“检查器”),将鼠标指针悬停于“添加选项卡”上,会弹出一个列表供你选择(见图1.7)。你应该会疑惑为什么需要添加一个视图。比如你在移动视图时不小心关掉了一个视图,用上述操作把它加回来就可以了;或者是需要多个场景视图,在不同视图中锁定不同元素,或固定在一根轴的视角上。如果你真想看看多个场景视图,可以选择“窗口”→“布局”→“4分割”切换到该模式(查看4分割模式之前记得保存你的自定义模式)。

图1.7 添加选项卡

1.2.3 项目视图

任何为项目服务的东西(文件、代码、纹理、模型等)都能在项目视图中找到(见图1.8),这个视图放置了本项目所有的资源。新建项目时,会有一个叫Assets(包含项目内的资源)的文件夹,如果你通过磁盘路径查看的话,也能看到这个文件夹,这是因为Unity将项目视图中的内容同步至了本地磁盘,当你在Unity中新建一个文件或文件夹时,资源管理器中也将同步显示(在资源管理器新建文件夹后,在Unity项目视图中也会同步显示)。在项目视图中,简单的拖动就能移动这些文件,Unity让整个文件管理的过程变得轻松很多。

图1.8 项目视图

小记 资源和对象

在Assets文件夹中的每一个文件都是一个资源,包括纹理、网格、声音、代码等;而游戏对象是指一个场景或某一个关卡中的物体,你可以用游戏对象新建资源,也可以用资源新建游戏对象。

小记 资源包

查看项目文件夹时,你可以在磁盘和Unity的项目视图中看到Assets文件夹,但Packages(包含项目内的资源包)文件夹只显示在Unity的项目视图中,在这里你可以查看已添加到本项目的资源包,你可以把一个资源包看作一个可以改变项目功能的附加软件或模块。Unity已经有很多成熟好用的资源包,你也可以制作自己的,到后期,你将学到更多关于资源包的内容。

注意 资源移动

Unity保留了各资源间的关系属性,也就是说,在外部删除资源时可能会引起一些问题,所以一般来说,最好在Unity中进行资源管理。

单击项目视图中的一个文件夹时,其中包含的内容将在右侧的Assets视窗中显示,如图1.8所示,其中包含一个叫Scenes(包含项目内的场景文件)的文件夹,打开Scenes文件夹,你就能在右侧看到其中包含的唯一文件——一个场景。要新建资源的话,可以打开Create(创建)下拉列表(在“+”旁边),新建的资源任何项目可用。

提示 项目管理

项目资源整理是项目管理中很重要的一环,项目越大资源越多,找特定的资源越困难。遵循下面这些通用的整理规则可以避免一些不必要的麻烦。

1.每种类型的资源应该有单独的文件夹(场景、脚本、纹理等)。

2.每个资源都应该在一个文件夹中。

3.如果有嵌套的文件夹,要确保其逻辑准确,其中的文件夹应该是细分的,而不是模糊的。

遵循这几条规则真的会让项目管理大有不同。

单击Favorites(包含已有的搜索标签)选项可以快速浏览指定文件类型的所有资源,这样就可以快速查看你的各种资源。单击Favorites下的某个选项[如All Models(所有模型)]或在内置的搜索栏中进行搜索,就可以将搜索结果缩小至特定资源或资源包中(或在两者中,见图1.9),只用小小练习一下,就能迅速找到你想要的文件了。

图1.9 项目视图中的搜索

1.2.4 层级视图

一般来说,层级视图看起来和项目视图很相似(见图1.10),但层级视图中只会显示当前场景所包含的分项,而不是整个项目的所有分项。在Unity中新建项目的话,它会包含一个默认场景,其中只有Main Camera(主摄影机)和Directional Light(定向光)两个游戏对象,添加的其他对象也会在层级视图中显示。和项目视图一样,通过Create下拉列表可以在场景中快速添加其他游戏对象,也可以通过内置的搜索栏进行搜索,拖动就可以移动、管理、嵌套收纳各对象。

图1.10 层级视图

提示 嵌套

嵌套是一种多对象间的管理关系模式,在层级视图中,将一个对象拖动至另一个对象上,被拖动的对象将会嵌套至目标对象下,这就是常说的父子关系。对应来说,最上层的对象就是父对象,其所包含的对象就是子对象。被归为子对象时,该对象会缩进显示,所以很好分辨。在之后的学习中,你会看到嵌套对这些对象的实际影响。

提示 场景

Unity用场景来描述常规概念中的关卡或地图。在Unity项目的开发过程中,不同的对象及其行为表现应该属于不同的场景,比如说,你的游戏需要开发一个有雪的关卡和一个丛林关卡,那它们就是分开的两个场景。在网上的一些问答中,场景和关卡两个词时常是被混用的。

1.2.5 检查器视图

检查器视图中会显示目前选中对象的所有属性,在项目视图或层级视图中选中任意资源或对象,检查器视图会自动显示其信息。

图1.11中显示的是Main Camera被选中后的检查器视图中的内容。

图1.11 检查器视图

下面来看看检查器视图有哪些功能。

1.单击取消勾选该对象名称旁边的复选框会让该对象不可用,且不会在场景中显示,默认情况下该对象是可用的(复选框被勾选)。

2.下拉列表的内容对应了一些预置选项(比如“图层”和“标签”下拉列表,这些在之后会讲解)。

3.对文本框、下拉列表及滑动条都可以进行对应修改,即使游戏正在运行,这些修改也会自动同步到场景中。

4.单击“添加组件”按钮可以添加组件。

注意 游戏运行时修改数值

十分强大的实时数值修改功能让你可以在运行游戏时动态查看对应结果,不需要反复结束又开始游戏就可以调整场景物体的移动速度、跳跃高度或是飞行中的碰撞力。需要注意的是,运行时修改的数据在结束时会自动归位,如果你已经获得了理想的数值,请记下来,并在结束运行后再次进行修改。

1.2.6 场景视图

在Unity中,场景视图是非常重要的一个视图,你可以实时看到你所搭建的游戏的样式(见图1.12),通过鼠标和一些快捷键,你就可以在场景中漫游查看,并且把游戏对象放到你设想的地方,因此场景视图算是一个沉浸式的控制界面。

图1.12 场景视图

之后你将学会如何在场景中移动浏览,但现在你需要看看场景视图中包含的一些控制元件。

1.绘制模式:控制当前场景的绘制模式,默认状态为着色模式,场景中的所有物体都按照其纹理绘制出来。

2.2D/3D视图:控制2D或3D视图的显示,在2D视图中,场景小工具(本章后面会介绍)将不可见。

3.场景光照:控制场景中的物体是同时接受默认的环境光,还是只接受场景中实际存在的光源,默认情况下接受默认的环境光。

4.声音模式:控制声音资源是否在场景视图中显示。

5.视觉效果:控制类似天空盒、雾或其他特效是否显示在场景视图中。

6.隐藏对象:控制被隐藏对象是否在场景视图中显示。

7.场景网格:控制是否显示场景网格。

8.工具:控制组件编辑器工具面板是否显示。

9.Gizmos(小工具)下拉列表:控制场景视图中显示哪些元素的线框,有助于以视觉的方式排除一些问题;它同时还控制放置网格的显示与否。

10.场景小工具:控制当前所视方向,还可以使场景视图对齐某一特定轴向。

小记 场景小工具

场景小工具是场景视图中非常强大的一个控制器,如图1.12所示,该控制器有对应xyz这3个轴向的坐标轴,这样就可以快速得知当前的视觉朝向。在第2章“游戏对象”中你会学到更多关于轴向和3D空间的知识。通过场景小工具,还可以将视图角度迅速调整至固定轴向,单击既定轴向,当前视图就会立即调整至对应轴向,比如顶视图或左视图。

单击场景小工具中间的正方体,当前视图将在Iso(等距)和Persp(透视)模式中切换。等距是指没有透视的3D视图效果;透视指带有透视的3D视图效果。试试切换两种模式,看场景视图有什么改变,你会发现场景小工具下的图标从等距模式的平行线变成了透视模式的鱼尾纹样式。

1.2.7 游戏视图

最后来看看游戏视图。本质上来说,游戏视图可以完整还原当前场景,让我们在编辑器中也能“玩”上游戏,该视图中所有游戏元素或功能的表现就是项目生成后会有的表现。图1.13所示的就是游戏视图的样子,虽然“播放”“暂停”“下一帧”按钮在技术层面不属于本视图,但它们可以控制游戏视图,所以被包含在内。

提示 游戏视图丢失

如果你发现游戏视图被隐藏在场景视图后面,甚至完全找不到游戏视图,单击“播放”按钮,游戏视图就会自动出现并开始运行游戏。

图1.13 游戏视图

游戏视图的控制元件能辅助进行游戏测试。

1.播放:控制当前场景的开始,单击“播放”按钮后,所有的控制器、动画、声音、特效都将开始运行。游戏在此处的运行效果应该与它被导出后在其他平台(例如计算机或手机)上的效果一致。再次单击“播放”按钮,就能停止游戏。

2.暂停:控制当前运行游戏的暂停,一旦单击“暂停”按钮,游戏中所有元素都将保持在当前状态;再次单击“暂停”按钮,游戏将继续运行。

3.下一帧:当游戏暂停时,控制游戏运行下一帧,这样可以让游戏逐帧完成,找到可能存在的问题。在游戏运行中单击该按钮会使游戏暂停。

4.纵横比下拉列表:控制游戏视图运行时的纵横比,默认设置为Free Aspect(自由比例)模式,你可以根据目标平台来调整这里的纵横比。

5.播放时最大化:决定游戏视图在运行时是否最大化至编辑器大小,默认为未选择状态,运行时游戏视图就是其原本的尺寸。

6.音频静音:使运行过程保持静音。当你旁边的人对你反复的测试行为感到不满时,这个功能还挺方便的。

7.状态:控制游戏运行时渲染统计信息是否显示,有助于评估一个场景的渲染效率。默认设置为关闭状态。

8.Gizmos下拉列表:通过下拉列表(右侧的小箭头)中的选项控制运行过程中小工具显示与否。游戏视图中小工具默认不显示。

提示 运行、暂停、关闭

最开始是挺难理解运行、暂停、关闭状态的。当这个游戏还没有在游戏视图中被执行时,就是处在关闭状态,此时游戏的各个控制器是没有运作的,游戏也无法交互。单击“播放”按钮后,游戏开始执行,我们会说游戏在运行了。播放、执行、运行,指的是同一件事。游戏开始后单击“暂停”按钮,游戏将暂停并保持在当前状态,此时,游戏处在暂停状态。暂停和关闭状态的区别在于,暂停后再开始的话,游戏会从暂停处继续运行,而关闭后再开始,游戏将从头开始。

1.2.8 值得一提:工具栏

尽管不是单独的一个视图,Unity的工具栏在整个编辑器中的地位还是举足轻重的,图1.14显示了其中包含的组件。

图1.14 工具栏

1.变换工具:用这些工具可以控制各个游戏对象,之后的章节中会讲解。其中的手形按钮需要注意一下,这是本章后面会讲到的手形工具。

2.小工具变换选框:调整场景视图中的场景小工具显示状态,现在暂时不用了解。

3.游戏视图控件:控制游戏视图状态。

4.账号及服务:管理当前使用的账号及服务。

5.“图层”下拉列表:控制场景视图中显示哪些图层,默认为所有图层都显示,现在暂时不用了解,之后第5章“灯光和摄像机”中会讲解。

6.“布局”下拉列表:快速改变当前布局。

1.3 在场景视图中移动

在场景视图中可以控制修改游戏的很多构建内容,可视化调整是十分好用的一个功能,但如果你在场景中都不能到处移动,那前面都只是空谈,本节将介绍几种在场景视图中移动的方法。

提示 缩放

不管用什么方法进行移动,滚动鼠标滚轮都能控制场景的放大缩小,默认情况下,场景会沿着场景视图的中心进行改变,如果滚动的同时按住Alt键,场景将会沿着鼠标指针所在位置进行缩放,现在上手试试吧!

1.3.1 手形工具

利用手形工具(见图1.15)(快捷键:Q)可以简便地移动场景,如果你用的鼠标是单键的话(其他方法会需要双键鼠标),它就显得更实用了。表1.1大致介绍了手形工具的使用方法(它旁边的其他工具待会儿会介绍)。

图1.15  手形工具

表1.1 手形工具

操  作

效  果

单击拖动

将摄像机拖动至场景中不同位置

按住Alt键并单击拖动

以鼠标指针当前位置为圆心旋转移动摄像机

按住Alt键(Mac为Command键)并右键单击拖动

缩放摄像机

你可以在Unity用户手册网站搜索“Scene视图导航”以发现更多关于场景视图导航快捷键的信息。

注意 不同的摄像机

使用Unity时,你会接触到两种摄像机。第一种是作为游戏对象的摄像机,就是当前场景已有的(默认的那个);第二种不是场景中实际存在的,而是虚拟的摄像机,它决定你在场景视图中所能看到的内容。本章提到的摄像机是指后者,你并没有真的在调整作为游戏对象的那个摄像机。

1.3.2 飞越模式

飞越模式是指用传统第一人称方式来控制移动的模式,那些玩第一人称游戏(比如第一人称射击游戏)的人一定会感到很熟悉。如果你没有玩过这类游戏,可能会需要一点时间上手这种模式,一旦上手后,就会发现它十分好用。

鼠标指针位于场景视图中时右键单击就能进入飞越模式,表1.2中的操作都要求长按鼠标右键。

表1.2 飞越模式控制

操  作

效  果

移动鼠标

摄像机绕中心旋转,就像在场景中“打着圈地看”

按住W、A、S、D键

W、A、S、D键能控制你在场景中沿着不同方向前进,分别为:前、左、后、右

按住Q、E键

分别控制整个场景的上下移动

按住Shift键时,按住W、A、S、D键或Q、E键

与只按住W、A、S、D键或Q、E键的效果一致,但移动速度更快,可以把Shift键当作“加速”键

提示 闪控

有很多种方式可以完成场景视图中的视图调整,有时你想在场景中快速进行查看,你就可以用闪控(Snap Control)的方法。如果你想快速聚焦到场景中一个对象上,你可以在层级中选中该对象然后按F键(Frame Select),整个场景就会快速“闪”到那个对象的位置去;双击层级中的物体也能达到同样的效果。另一个闪控的方法你也已经知道了:通过场景小工具可以迅速调整至指定轴向,这样你不用移来移去就能从各个角度观察一个物体了。好好练习闪控方法,然后你就能在场景中自在畅游了!

提示 更多学习内容

打开Unity Hub时,你的目光可能会不自觉地被学习部分吸引(见图1.16),单击“学习”选项就可以查看Unity最新的学习资源。如果你想了解更多Unity的基础功能的话,这些都是十分出色的学习资源,值得你花时间好好研究(我帮忙制作了这些课程)。

图1.16 Unity Hub中的学习部分

1.4 总结

在本章中,你大致了解了Unity这款引擎,还完成了下载安装的步骤。然后你学习了如何打开和新建项目。接着你学习了Unity编辑器中各个视图的相关知识,并掌握了如何在场景视图中移动。

1.5 问答

资源和游戏对象是同一个东西吗?

并不是。最大的区别就是,资源中的内容在磁盘中也有对应的文件或文件夹,而游戏对象没有。资源可以包含或不包含游戏对象。

这么多控制器和选项,我都得现在就记住吗?

其实不用。绝大部分控制器和选项都预设好了,能应对大多数情况。随着你对Unity有更深入的了解,你会学到更多可用的控制器,本章只展示了默认预设的情况,也只是想让你多熟悉熟悉。

1.6 测试 

花一些时间来研究下面的问题,以确保你牢固地掌握了所学内容。 

1.6.1 试题 

1.判断题:你必须购买Unity Pro才能制作商业游戏。

2.哪个视图可以让你直观地操作场景中的物体?

3.判断题:你应该在Unity中移动你的资源文件,而不是使用操作系统的资源管理器。

4.判断题:你可以在编辑器中完成 Unity 的项目管理和安装。

5.在场景视图中,当你右键单击时,你会进入什么模式?

1.6.2 答案

1.错误。你可以用Unity Personal或Unity Plus制作游戏。

2.场景视图。

3.正确。这有助于Unity跟踪资源的情况。

4.错误。你应该通过Unity Hub来完成。

5.飞越模式。

1.7 练习 

花点时间来练习本章所介绍的内容。掌握Unity的基础知识很重要,因为从现在开始,你所学的一切都会被用到。跟随以下步骤完成练习。

1.选择“文件”→“新建场景”或按Ctrl+N键(Mac上为Command+N键)创建一个新场景。

2.在项目视图中创建一个文件夹:右键单击资源,选择“创建”→“文件夹”,并将文件夹命名为 Scenes。

3.选择“文件”→“保存”或按Ctrl+S键(Mac上为Command+S键)保存你的场景。请确保将场景保存在你创建的Scenes文件夹中,并给它起一个描述性的名称。

4.在场景中添加一个立方体。你可以通过以下任一方式来实现。

 单击编辑器顶部的“游戏对象”菜单,选择 “3D 对象”→“立方体”。

 在层级视图中单击 Create下拉列表(“+”旁),然后选择“3D对象”→“立方体”。

 在层级视图中右键单击,选择“3D对象”→“立方体”。

5.在层级视图中选择新添加的立方体,在检查器视图中调整其属性。 

6.练习在场景视图中使用飞越模式、手形工具和闪控法,使用立方体作为移动时的参考点。

相关图书

Unity  3D游戏开发技术详解与典型案例
Unity 3D游戏开发技术详解与典型案例
从零开始:快速入门Unity 3D游戏开发
从零开始:快速入门Unity 3D游戏开发
Unity 3D脚本编程与游戏开发
Unity 3D脚本编程与游戏开发
AR开发权威指南:基于AR Foundation
AR开发权威指南:基于AR Foundation
VR与AR开发高级教程:基于Unity(第2版)
VR与AR开发高级教程:基于Unity(第2版)
基于Unity的ARCore开发实战详解
基于Unity的ARCore开发实战详解

相关文章

相关课程