Unity3.x游戏开发经典教程(高清PDF下载)

c#小王子 c#小王子 2021-06-04 1201 Unity3.x游戏开发经典教程


Unity3.x游戏开发经典教程(高清PDF下载)


内容简介


本书通过从零开始创建一个完整的Unity游戏项目,在对游戏进行一步步创建、完善的过程中向读者详细介绍了如何利用地形系统刷出简易的游戏环境、编写脚本控制对象的行为、利用图形用户界面(GUI)系统制作UI、使用物理系统模拟物理作用、添加粒子系统创建特效、运用动画系统实现简单的动画,以及发布到不同平台时相关的发布设置。


书中所有脚本都有JavaScript和C#两个版本,读者可根据需要选择阅读适合自己的一种。另外,书中对于每个工具的使用方法、操作小技巧都有介绍,对每个组件中各个参数的作用都有分析,还拓展了—些游戏开发方面的知识。


本书非常适合初学者较系统地学习、熟悉、使用Unity,适合高等院校及相关培训机构选作游戏开发教材。


前言


每个我们喜爱的、热衷于挑战的游戏背后都有一个像Unity这样强大的游戏引擎,使得开发过程更加顺利、快捷。Unity是一款被广泛使用的、极受欢迎的游戏引擎,如今,不论是业余爱好者,还是开发游戏及网页、桌面、移动平台和家庭游戏机的交互体验的大型工作室,都在使用Unity。Unity的直观性使得学习本书更加方便,成为—个游戏开发者从来就没有如此容易。


接下来,我们来谈谈本书的学习方法,在开始介绍如何使用Unity 3D开发游戏之前,这本书将介绍基本的3D游戏开发概念;首先构建—个简单的场景,然后在此基础上不断地为游戏添加不同的元素,最后制作出—个完整的游戏。 本书内容涵盖如何从头做起创建一个游戏、代码的编写、游戏逻辑,总之,你将会学到作为—个初学者所需要知道的一切,从而为今后的进一步学习打下扎实的基础。


本书涵盖了多个简单、易仿照的例子,包括如何制作一个第一人称3D游戏(包括创造交互式的岛屿环境)。这本书中所提及的方法、概念也适用于其他类型的游戏,在掌握本书中所介绍的概念之后,你可以自己为玩家构建新的游戏任务,从而进—步地完善游戏,让玩家去体验不一样的游戏历程。总之,你将 自己探索Unity的无限可能,从而做出一个更加完整的游戏。


本书内容


第1章 进入三维世界∶在这一章,我们将向你介绍使用Unity开发3D游戏的相关概念。在介绍如何开发3D游戏后,我们将向你介绍关于Unity 3D编译器界面的相关知识。


第2章 游戏雏形和脚本基础∶ 在这一章,我们的主要 目的是通过运用C#或者 JavaScript创建一个简单的游戏雏形,从而向你介绍学习Unity 3D的方法。


第3章 创建环境∶你已经对Unity的使用方法有了初步的认识,在这一章,你将使用地形工具包创造自己的户外环境——一个小岛。


第4章 角色控制器和脚本进阶∶在构建好小岛环境后,我们将分析控制器的脚本,研究Unity 3D中的角色控制器是如何运作的。此外,我们将学习其他的编程概念,因为这是以后继续探索Unity 3D的必要条件。


第5章交互∶在这关键的—章中,我们将向你介绍Unity 3D中3种十分重要的检测碰撞的方法——用物体之间的相互作用检测碰撞,用射线检测物体之间的碰撞,使用触发区域来检测碰撞。


第6章 收集、物品栏和HUD∶ 在介绍了多种检测碰撞的方法后,我们将运用所学的知识为玩家创建一个物品栏,以及可以显示物品栏中有多少物品的图形用户界面。


第7章实例化和刚体; 为 了增加游戏的乐趣,我们将运用Unity 自带的物理引擎,然后学习如何结合动画,最终制作完成—一个迷你射击游戏。


第8章粒子系统;让我们休息—下,暂时把脚本放在—旁,来研究—下如何运用 Unity创造篝火的视觉特效,然后用粒子系统创造出火和烟雾。


第9章 制作菜单∶每一个好的游戏都需要用户界面,所以,在这一章我们将介绍 Unity中2种不同的制作菜单的方法∶ 使用GUITexture组件和GUI脚本类。


第10章 动画基础;为了让Unity游戏看起来更加生动,学习Unity动画系统的运行方式是十分重要的。在这一章,我们将学习如何使用脚本以及Unitv的动画窗口控制动画。


第11章 游戏完善和最后的调整∶当你完成主要游戏方式的制作之后,在把游戏发布出去之前,调整、测试游戏是一个十分重要的步骤。在这一章中,我们将侧重于研究如何使用视觉特效和系统优化,从而使你的游戏运行更加顺畅。


第12章 发布与分享∶为了成为一个游戏开发者,分享你的作品以及收集反馈是十分重要的。在这—章中,我们将学习如何把游戏打包成独立应用程序和网络播放器。


第13章 测试和进一步学习∶在最后的这一章,我们将学习如何从玩家中得到回馈的方法,并且提出—一些能让你在游戏产业中立足的意见。这一章也介绍了一些适合拓展阅读的书籍,这将为你以后成为一名成熟的开发者打下基础。


术 语;术语包含了对本书中常用名词的解释,也可方便查阅。


第1章 进入三维世界


在你开始研究任何的三维软件之前,理解你将面对的开发环境是十分必要的。 Unity是一个以3D为主的开发工具,本书中的很多概念都需要读者对3D游戏开发和游戏引擎有一定程度的了解。在你潜心钻研本书的其他内容之前,理解这些概念是十分必要的。因此,在这一章,我们将在向你介绍Unity操作界面的知识之前,让你对这些重要的3D概念有良好的认识。在本章中,你将学到∶


◆坐标系和向量;


◆三维图形;


◆材质和纹理;


◆动态刚体;


◆碰撞检测;


◆游戏物体和组件;


◆资源和场景;


◆ 预制;


◆Unity编译器的界面。


1.1 了解三维世界


首先,让我们来看一看三维世界中的关键元素,以及怎么使用Unity来开发3D游戏。


坐标系


如果你之前接触过其他的3D软件,你将对z轴的概念感到熟悉。z轴表示的是深度,与之类似的有x轴表示水平方向,y轴表示垂直方向。在3D软件中,你会注意到物体的坐标信息以x,y,z的格式罗列出来——这个方法也就是众所周知的笛卡儿坐标系方法。我们可以用这个方法来描述三维世界中笛卡儿坐标系的维度、旋转的数值和位置。在本书及其他3D软件的帮助文档中,你会发现这些信息放在一对括号中,如(3,5,3)。


这么书写主要是为了使代码整齐,实际上,在程序中这些值一定要这样书写。不管它代表的是什么意思。可以确定的是,它们都以x,y,z的顺序排列,并且相互之间使用逗号隔开。


在图1.1中,—个立方体出现在世界坐标系(3,5,3)的位置,这意味着,它距离原点位置在x轴方向有3个单位的长度,y轴方向有5个单位的长度,z轴方向有3个单位的长度。



本地坐标系和世界坐标系


本地坐标系和世界坐标系是十分重要的概念。在所有的3D软件中,你将接触的是理论上无限的空间,有时候在这样广大的空间中,得知一个物体的位置是十分困难的一件事情。在任何3D世界中,都有一个起点,也可称为世界原点,就像代表它的位置(0,0,0)一样。


所有世界坐标系中的坐标都与这一点有着密切关联。当然,为了在某些情况下方便使用,我们也声明了本地坐标系来表示物体间的相对位置。这样的物体间的关系也被称为父子级关系。在Unity中,你可以简单地通过在层次面板中把一个物体拖到另一个物体上面,以此来建立父子级关系。这样做的结果是使得被拖动的物体成为目标物体的子级。并目使得被拖动物体的坐标系与目标物体坐标系相关联。假设有—个子级物体与父级物体在世界坐标系中处于同一位置,那么我们可以说子级物体在本地坐标系(相对于父级物体而言)中处于(0,0,0)的位置,即使父级物体在世界坐标系中并不是处在(0,0,0)的位置。


本地坐标系假设每个物体都有自己的起点,也就是它所有轴交汇的那一点。通常来说,这一点是物体的中心点。此外,通过在物体间建立关系,我们可以比较物体间的相对位置。这样的关系,我们称之为父子级关系。这意味着,我们可以把父级物体的坐标位置当做新的原点,从而可以使用本地坐标系来计算子级物体之间的距离。


在使用3D模型软件时,这一点尤为重要,你要确保你所创建的模型是放在(0,0, 0)的位置。这样做是为了确保当你导入Unity的时候,坐标系的表现方式是正确的。


因为以上概念在2D和3D中同样适用,我们将在图1.2中展示本地坐标系和世界坐标系的概念。


图1.2(a)中显示了世界坐标系中的2个不同物体∶ 一个位于(3,3)的较大正方形,另一个位于(6,7)的较小正方形。


图1.2(b)中,我们假设小正方形是大正方形的子级,因此,小正方形的坐标位置变成了(3,4),这是因为新的原点(0,0)是父级坐标的位置。



向 量


接下来,我们将探讨坐标系中的三维向量。与二维向量类似,三维向量在三练世界中也有长度和方向。向量可以在坐标系中任意移动,但是本身的长度和方向不会发生变化。向量可以用来计算物体间的距离、物体间的角度、物体所面对的方向,因此,向量在游戏开发中十分有用。


相 机


相机是三维世界中必不可少的组成部分,因为它充当着视口的角色。


相机可以放在坐标系中的任意位置,你也可以为它添加动画,或者根据需要把它附加在一个物体上。在一些特定的场景中,Unity允许多个相机的存在,但是只有一个相机可以渲染出玩家看到的画面。这也是你每创建一个新的场景时,Unity总会自带-个主相机的原因。


投影器的模式——二维和三维对比


相机的投影器在渲染2D(正交相机)和3D(透视相机)时存在区别。在一般的情况下,相机被设置为透视模式的时候,相机拥有金字塔状的视野(Field of View,FOV)。为了在Unity中渲染3D环境,我们通常把相机的投影器模式设置为透视模式。与之相反,为了渲染2D环境,我们将相机的投影器模式设置为正交模式,因为正交模式的视野是长方形的。我们可以把此方法应用在主相机上来创建2D游戏,或者应用在其他副相机上来渲染地图、血条等其他平视显示器(HUD)。


在游戏引擎中,你会注意到为了使得玩家看到的游戏世界更加生动、真实,我们可以添加多种特效,如灯光、运动模糊等效果。你也可以添加一些人眼在日常生活中无法感知的特效,比如当你看太阳时的光晕效果,我们称之为镜头光晕。


目前,大多数3D游戏使用多个相机渲染玩家视野外的游戏世界。在Unity中实现这个方法是十分简单的,Unity允许多个相机存在于同一个场景中,并且,开发者可以通过脚本在游戏的运行过程中,在任何的时间点切换主相机。为了达到优化的目的,多个相机还可以用来有选择性地渲染游戏场景中的物体。比如,我们可以使用层对场景中的物体进行分类,然后设置相机,使得相机只渲染出特定层的物体。这样,我们可以有选择性地渲染游戏场景中的物体。



【下载地址】

链接:https://pan.baidu.com/s/13h3wVCCwORLFQD_bEPPBJA

提取码:t0wj


相关文章


Unity3.x游戏开发经典教程(高清PDF下载)

本书通过从零开始创建一个完整的Unity游戏项目,在对游戏进行一步步创建、完善的过程中向读者详细介绍了如何利用地形系统刷出简易的游戏环境、编


文章热度: 166291
文章数量: 333
推荐阅读

FlashFXP绿色版网盘下载,附激活教程 1840

FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具

Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1608

firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ

navicat for mysql中文绿色版网盘下载 1653

Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq

火车头采集器(旗舰版)绿色版网盘下载 1739

火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA

Photoshop(CS-2015-2023)绿色中文版软件下载 1859

安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64

知之

知之平台是全球领先的知识付费平台。提供各个领域的项目实战经验分享,提供优质的行业解决方案信息,来帮助您的工作和学习

使用指南 建议意见 用户协议 友情链接 隐私政策 Powered by NOOU ©2020 知之