详细介绍
unity3d游戏开发由网名为雨松MOMO的宣雨松编纂而成,是一本关于unity开发游戏的学习书籍。互联网和移动设备的快速发展,改变着人们的步伐,游戏行业也随着快速发展,对于各种各样的设备终端。为了解决传统纯代码开发的吃力,由丹麦开发的游戏引擎Unity。提高快额游戏的质量,节省了时间。unity虽然有大量的英文资料但是中文资料非常匮乏。小编特此收集这本宝贵的教材,希望能给大家带来帮助。Unity3D游戏开发通过实例详细介绍了如何使用Unity进行游戏开发,unity3d游戏开发中先简要介绍了Unity环境搭建、编辑器和GUI游戏界面相关的知识,接着介绍了如何使用C#和JavaScript构建游戏脚本,添加树、草、石头等模型以及键盘事件、鼠标事件和3D模型动画相关的内容,然后介绍了持久化数据、音频与视频播放等内容,最后以一款第一人称射击类游戏为原型,向读者详细介绍游戏制作的整个过程。unity3d游戏开发适合具备一些JavaScript与C#语言基础,并且想快速入门Unity3D游戏开发的人员阅读。愿小编分享的这本书籍能给我们大家带来越来越多由unity开发的优秀游戏,小编拭目以待。
对unity开发感兴趣并想深入学习的朋友们欢迎到哎呀吧下载站软件站免费下载并阅读。
unity3d游戏开发官方介绍:
从初学者入门角度讲解Unity游戏开发
让读者快速学会如何使用Unity制作3D游戏
以两种语言去讲解游戏脚本的编写
入门阶段我们使用JavaScript语言介绍,进阶阶段使用C#语言
每章都含有丰富的游戏实例与源代码
最后一章以一个第一人称射击类3D游戏为实例充分介绍游戏实战开发过程
unity3d游戏开发特别备注:
1、unity3d游戏开发来源于网络,仅用于分享知识,学习和交流!请下载完在24小时内删除。
2、unity3d游戏开发禁用于商业用途!如果您喜欢《unity3d游戏开发》,请购买正版,谢谢合作。
3、爱学习,请到哎呀吧下载站软件站查找资源自行下载!
unity3d游戏开发作者简介:
宣雨松,网名雨松MOMO。首款入驻美国苹果店数字体育产品GolfSense.Unity3D主程,CSDN博客专家,51CTO博客之星,51CTO移动开发论坛版主,Unity圣典开发论坛版主,5年以上移动游戏与软件开发经验。曾经领导与参与的游戏项目包括:GolfSense、新少林寺、天降少女、游龙戏凤西门庆等。
unity3d游戏开发目录:
第1章 基础知识
1.1 Unity简介
1.2 下载与安装
1.3 游戏界面对比
1.4 购买许可证
1.5 打包与发布
1.6 本章小结
第2章 编辑器的结构
2.1 游戏工程
2.1.1 创建工程
2.1.2 打开工程
2.2 Project视图
2.3 Hierarchy视图
2.4 Inspector视图
2.4.1 简介
2.4.2 平台设定
2.5 Scene视图
2.5.1 视图介绍
2.5.2 移动视图
2.5.3 场景工具
2.5.4 Scene视图控制条
2.6 Game视图
2.6.1 运行游戏
2.6.2 Game视图控制条
2.6.3 导出与导入
2.7 第一个游戏实例(拓展训练)
2.8 本章小结
第3章 GUI游戏界面
3.1 GUI高级控件
3.1.1 Label控件
3.1.2 Button控件
3.1.3 TextField控件
3.1.4 ToolBar控件
3.1.5 Slider控件
3.1.6 ScrollView控件
3.1.7 群组视图
3.1.8 窗口
3.1.9 GUI Skin
3.1.10 自定义风格组件
3.2 GUILayout游戏界面布局
3.2.1 GUI与GUILayout的区别
3.2.2 GUILayoutOption界面布局设置
3.2.3 线性布局
3.2.4 控件偏移
3.2.5 对齐方式
3.2.6 实例--添加与关闭窗口
3.2.7 设置字体
3.2.8 显示中文
3.3 2D贴图与帧动画
3.3.1 绘制贴图
3.3.2 绘制动画
3.3.3 实例--人物移动
3.3.4 实例--用Unity开发2D游戏
3.4 游戏实例--游戏主菜单
3.5 本章小结
第4章 Unity游戏脚本
4.1 MonoDevelop脚本编辑器
4.1.1 编辑器简介
4.1.2 调试
4.2 Unity脚本的生命周期
4.3 利用脚本来操作游戏对象
4.3.1 创建游戏对象
4.3.2 获取游戏对象
4.3.3 添加组件与修改组件
4.3.4 发送广播与消息
4.3.5 克隆游戏对象
4.3.6 脚本组件
4.4 用脚本来控制对象的变换
4.4.1 改变游戏对象的位置
4.4.2 旋转游戏对象
4.4.3 平移游戏对象
4.4.4 缩放游戏对象
4.5 用C#编写脚本
4.5.1 继承MonoBehaviour类
4.5.2 声明变量
4.5.3 调用方法
4.5.4 JavaScript与C#脚本之间的通信
4.6 工具类
4.6.1 时间
4.6.2 等待
4.6.3 随机数
4.6.4 数学
4.6.5 四元数
4.7 游戏实例--小地图的制作
4.8 本章小结
第5章 游戏元素
5.1 游戏地形
5.1.1 创建地形
5.1.2 地形参数
5.1.3 编辑地形
5.1.4 地形贴图
5.2 地形元素
5.2.1 树元素
5.2.2 草与网格元素
5.2.3 其他设置
5.3 光源
5.3.1 点光源(Point Light)
5.3.2 聚光灯
5.3.3 平行光
5.4 天空盒子
5.4.1 Skybox组件
5.4.2 在场景中添加天空盒子
5.5 常用编辑器组件
5.5.1 摄像机
5.5.2 摄像机的类型
5.5.3 定制导航菜单栏
5.5.4 预设
5.5.5 抗锯齿
5.6 游戏实例--摄像机切换镜头
5.7 本章小结
第6章 物理引擎
6.1 刚体
6.1.1 简单使用
6.1.2 物理管理器
6.1.3 力
6.1.4 碰撞与休眠
6.2 碰撞器
6.2.1 添加碰撞器
6.2.2 物理材质
6.3 角色控制器
6.3.1 第一人称
6.3.2 第三人称
6.3.3 控制组件
6.3.4 移动与飞行
6.3.5 碰撞监测
6.4 射线
6.4.1 射线的原理
6.4.2 碰撞监测
6.5 关节
6.5.1 关节介绍
6.5.2 实例--关节组件
6.6 粒子特效
6.6.1 粒子发射器
6.6.2 粒子动画
6.6.3 粒子渲染器
6.6.4 粒子效果实例
6.6.5 布料
6.6.6 路径渲染
6.7 游戏实例--击垮围墙
6.8 本章小结
第7章 输入与控制
7.1 键盘事件
7.1.1 按下事件
7.1.2 抬起事件
7.1.3 长按事件
7.1.4 任意键事件
7.1.5 实例--组合按键
7.2 鼠标事件
7.2.1 按下事件
7.2.2 抬起事件
7.2.3 长按事件
7.3 自定义按键事件
7.3.1 输入管理器
7.3.2 按键事件
7.3.3 按键轴
7.3.4 实例--观察模型
7.4 模型与动画
7.4.1 模型的载入
7.4.2 设置3D动画
7.4.3 播放3D动画
7.4.4 动画剪辑
7.4.5 动画的帧
7.5 GL图像库
7.5.1 绘制线
7.5.2 实例--绘制曲线
7.5.3 绘制四边形
7.5.4 绘制三角形
7.5.5 绘制3D几何图形
7.5.6 线渲染器
7.5.7 网格渲染
7.6 游戏实例--控制人物移动
7.7 本章小结
第8章 持久化数据
8.1 PlayerPrefs类
8.1.1 保存与读取数据
8.1.2 删除数据
8.1.3 实例--注册界面
8.2 自定义文件
8.2.1 文件的创建与写入
8.2.2 文件的读取
8.2.3 实例--读取笑话
8.3 应用程序
8.3.1 创建关卡
8.3.2 切换关卡
8.3.3 截屏
8.3.4 打开网页
8.3.5 退出游戏
8.4 资源数据库
8.4.1 加载资源
8.4.2 创建资源
8.4.3 创建文件夹
8.4.4 移动与复制
8.4.5 删除与刷新
8.4.6 实例--鼠标拖动模型
8.4.7 实例--鼠标拣选
8.5 游戏实例--接受任务
8.6 本章小结
第9章 多媒体与网络
9.1 游戏音频
9.1.1 音频介绍
9.1.2 添加音频
9.1.3 播放音频
9.2 游戏视频
9.2.1 创建视频
9.2.2 播放视频
9.2.3 GUI播放视频
9.3 网络
9.3.1 下载文件
9.3.2 自定义资源包
9.3.3 下载资源包
9.3.4 创建本地服务器
9.3.5 客户端连接服务器
9.3.6 实例--多人聊天服务器端
9.3.7 实例--多人聊天客户端
9.4 游戏实例--简单的网络游戏9.5 本章小结
第10章 游戏实例--突出重围
10.1 游戏状态机
10.2 游戏界面
10.2.1 游戏主菜单
10.2.2 制作角色血条
10.2.3 制作图片数字
10.3 游戏逻辑
10.3.1 发射子弹与击打目标
10.3.2 敌人的AI
10.3.3 增加敌人预设
10.4 完整的游戏
10.5 本章小结
unity3d游戏开发前言
近年来,游戏行业出现了前所未有的震荡期,各种平台的涌现使得行业内部的竞争愈演愈烈。前几年,要想制作好的游戏,肯定就需要强大硬件的支持,所以大部分3D游戏都出现在PC或PS3、Xbox等专业游戏主机上,其他平台则由于受硬件条件的限制而无法制作出较好的游戏。
目前基于iOS、Android、Windows.Phone7等移动平台的智能手机迅速崛起,它们的硬件配置已经得到大幅提升,目前的硬件条件已经达到了几年前的水平,在移动平台上制作3D游戏已不再是梦想。此外,Flash与HTML5也开始对网页中的图形加速渲染,这也使得网页游戏得到了迅速发展。在这场浩浩荡荡的战争中,鹿死谁手迄今无人可知,套用游戏玩家的一句老话“没有最强的职业,只有最强的玩家”,一切我们只好拭目以待。
由于平台之间激烈的竞争,游戏开发商在制作游戏时非常头大,因为不知道选择从哪种平台入手。平台的不同就意味着开发方式也截然不同,所以“跨平台游戏开发”这样的字眼近年来也慢慢出现在我们的视野当中。跨平台开发的好处是一次编码多平台适用,只需要花人力、物力和财力制作一遍,就可适用全部游戏平台,这样将大大节约开发成本。
目前市面上的跨平台游戏引擎已经有好几款,其中最专业、最稳定、效率最高并且支持游戏平台最多的就是Unity。目前它的最新版本为Unity3.5,可横跨9种主要游戏平台,包括Web平台、PC平台、Mac平台、iOS平台、Flash平台、Android平台、Xbox360平台、PS3平台和Wii平台。无论是电脑游戏、网游游戏、手机游戏、主机游戏、单机游戏还是网络游戏,都可以使用Unity轻松实现跨平台游戏开发。
现在网络游戏已不局限于电脑终端,手机与网页终端的网络游戏也迅速走进玩家的世界。分析师预测,未来的网络游戏肯定是跨平台网游,玩家不仅可以在电脑上,还可以在手机或者网页甚至在掌机中去玩游戏,这是多么酷的一件事啊,所以Unity将肩负重任。
本书主要从初学者入门的角度去讲解Unity游戏开发,无论读者是转行学习也好,入门学习也罢,甚至是毫无任何编程经验的人员,都可以阅读本书,并且可以让读者快速学会如何使用Unity制作3D游戏。本书将以两种语言去讲解游戏脚本的编写,由于JavaScript语言更适合初学者,所以入门阶段我们将使用JavaScript语言介绍,而在进阶阶段将使用C#语言。为方便读者学习,书中每一章都含有丰富的游戏实例与源代码。最后一章以一个第一人称射击类3D游戏为实例充分向读者介绍游戏实战开发的过程。
阅读本书
书中所有例子的源代码都可以在图灵网站本书主页免费注册下载,并且下载的源码按章编号,如图0-1所示。查看源码前,请确保Unity已经安装在本机当中,安装无误后按照图中所示找到章节源码对应的游戏场景文件,双击该场景文件即可打开游戏工程,继而查看阅读。
图0-1 查看源码
由于Unity自带的脚本编辑器MonoDevelop无法正常显示中文,编辑器Unitron虽然可以显示中文,但是需要修改编码格式,而它无法修改默认打开时采用的编码格式,所以使用脚本编辑器直接打开脚本文件,都会出现中文乱码的情况。为了解决这个问题,读者可以先以记事本格式打开示例游戏中的脚本,然后复制至Unity自带的另一款编辑器Unitron当中查看,接着在Unitron中修改编码格式。在用JavaScript语言编写的脚本中,请使用UTF-8编码格式,而在C#语言编写的脚本中,请使用UTF-16编码格式。
由于本书是在Mac.OS下讲解Unity开发,如果读者采用Windows操作系统的话,查看源码的方式会与Mac.OS有点区别,并且按照上述的方法是无法查看源码的。为了方便读者在Windows操作系统下查看游戏源码,笔者已将游戏工程封装成自定义游戏包放置在工程根目录下,读者只需导入工程对应的游戏包即可查看源码。首先打开Windows下对应的Unity,在导航菜单栏中选择“Assets”→“Import.Package”→“Custom.Package”菜单项,如图0-2所示。在源码的根目录中寻找需要导入的自定义游戏包,如图0-3所示,该游戏包的文件名后缀为unitypackage,选择后打开即可。此外,读者也可将游戏包拖曳到其他目录(比如桌面)当中,然后选择该游戏包,双击它也可导入工程。
图0-2 导入程序包
图0-3 寻找需要导入的自定义程序包
如图0-4所示,自定义游戏包中的资源已经出现在列表当中,点击右下角的“Import”按钮即可完成导入,然后运行游戏即可看到效果。
图0-4 资源出现在列表当中
致谢
我从事移动终端开发已有5个年头,从早期的第一代诺基亚智能手机到Android和iOS,从软件开发到游戏开发,从2D游戏到3D游戏,这对一个程序员来说,说短不短说长也不长。在这期间,我首先需要感谢一个人,他就是我的师父王嘉鑫,这些年来他让我从一名刚毕业的学生磨练成为一名真正的工程师,滴水之恩我将涌泉相报;第二个需要感谢的就是一名大姐姐王璐,她在我迷茫的时候为我指了一条路,正是因为她我才有机会走进了游戏行业;第三个需要感谢的就是我的女友和家人,正是他们的理解与支持,我才取得今天的成绩;还要感谢公司里一起经常通宵加班的好同事、好兄弟,希望我们大家今后能继续一如既往地好好工作,为了人生的理想一起奋斗!
此外,我必须感谢图灵公司的杨海玲与小花,正是因为她们的鼓励,我才有动力去写这本书,感谢她们教会了我很多写作技巧与一些重要的写作建议,感谢她们仔细审阅了我的书稿,确保这本书的整体质量;还要感谢我的同事孙磊和张尧为本书制作了很多好看的美术资源。最后,祝图灵公司越做越好,为祖国的IT人才培养贡献出伟大的力量。
2012年2月29日
宣雨松
unity3d游戏开发精彩文摘
基础知识
Unity是一款3D跨平台次世代游戏引擎,“Unity”一词的中文解释为“团结”,好比集合所有人的力量一起来完成一件伟大的巨作一般,这款游戏引擎以其强大的跨平台特性与绚丽的3D渲染效果而闻名出众。该款游戏引擎的开发商是大名鼎鼎的Unity.Technologies,近年来该公司处于飞速发展当中。起初Unity的版本为1.0.0,它只可部署在Mac.OS下并且只能制作iPhone中的游戏。随着它不断发展与壮大,目前Unity的版本已经升级至3.5,可同时部署在Mac.OS与Windows两种操作系统之上,横跨的主流游戏平台高达9种。而且其3D渲染效果也得到了大幅度提升。
目前全球的Unity注册用户已经超过6000万,国内首款Unity.3D.PC网游《将魂》已震撼面市,开启了网络游戏的新纪元。此外,大量的Unity.3D网页游戏也涌现在我们的视线当中。在移动方面,苹果的App.Store中有1500多款游戏是使用Unity进行开发的,Android平台中也有不少Unity制作的优秀游戏。总之,Unity近几年的蓬勃发展已经让它在游戏业内站稳脚跟,让越来越多的好游戏脱颖而出。未来,Unity还会融合更多炫酷的功能并且横跨更多的游戏平台,请大家拭目以待。
1.1 Unity简介
Unity是一款标准的商业游戏引擎,而商业引擎的主要特点有收费、封闭源码和功能强大。
关于收费情况,Unity的使用费用非常昂贵,最便宜的普通版许可证也需要400美元,加强版本为1500美元。当然许可证的版本不同,引擎支持的功能也就截然不同。具有加强版许可证的引擎的很多强大功能是有普通版许可证的引擎所不具备的。但是从学习的角度来说,无须购买许可证同样可以进行,因为许可证更大的用处在于游戏制作完成后的打包与发布,不购买许可证制作的游戏是无法发售的,不过,单就学习而言,我们完全无须购买许可证,选择免费的Unity即可。游戏引擎的开源与闭源是两种主要的趋势,它们之间各有利弊。如果采取开源形式,那么为了学习与钻研引擎,使用人数肯定会大幅度提高,缺点是因为已经将源代码赤裸裸地发放,所以第三方对源码加以修改,容易造成不劳而获的情况。而封闭源码则可以让引擎更加安全,并且有效地保护引擎的知识产权。Unity就是采取完全封闭源码的形式。
Unity引擎的功能非常强大,其中一个显著特点就是跨平台游戏开发。跨平台开发无疑为开发者节省了大量时间。平台之间的差异会直接影响到开发进度,比如屏幕尺寸、操作方式、硬件条件等的不同会给开发者造成巨大的麻烦,因为在不同的平台中开发者需要花更多时间去做平台之间的移植开发,而将大量时间浪费在这上面并不值得。Unity几乎为开发者完美地解决了这一难题,将大幅度减少移植过程中一些不必要的麻烦,但使用它后也并非一点麻烦都不会产生。因为各平台的硬件条件是不同的,比如PC的硬件条件肯定会强于移动平台,所以开发者还需要针对不同的平台做一番取舍。
介绍完Unity的主要特点后,下面简要介绍一下开发环境。Unity可部署在Mac.OS或Windows操作系统中,在这两种操作系统中,除了客户端操作习惯与界面有些差异以外,引擎自身的功能没有任何区别。学习Unity之前,请读者选择适合自己的操作系统。
1.2 下载与安装
在撰写本书之时,Unity官方的最新版本为Unity3.5,所以书中将主要以Unity3.5进行讲解。后续如果Unity版本进行了升级,读者亦可在Unity官网下载最新版本并结合本书进行学习。因为Unity支持向下兼容,所以在新版本中同样可以运行书中的所有游戏例子,这点请读者放心。
首先我们登录Unity官网的下载地址开始下载Unity3.5的安装包。打开Unity官方下载网页(如图1-1所示)后,点击右侧的Download.Unity.3.5按钮,开始下载Unity的程序安装包。下载时,官网会检测下载此安装包所使用的操作系统从而进入对应的下载页面,比如读者使用Mac.OS操作系统,下载Unity时下载页面就是Mac.OS版本,使用Windows操作系统时,下载Unity时下载页面就是Windows版本。当然,也可自行选择下载的Unity程序包,在图中右下方点击“Developing on Windows”链接可切换到Windows版本的下载页面,点击“Developing on Mac OS X”链接可切换到Mac OS版本的下载页面。
如图1-1所示,在Download Unity 3.5按钮下方,还有3个比较重要的链接,其含义如下所示。
System Requirements:系统需求,开发环境的硬件需求。
License Comparison:许可证对比,许可证版本之间的区别。
Release Notes:版本发布说明,这里包含Unity所有历史版本的发布说明以及它们的下载地址。
图1-1 Unity下载页面
目前Unity支持在Mac OS与Windows两种操作系统下编写游戏,本节我们将向读者详细介绍如何在这两种操作系统下搭建Unity开发环境。下面我们先介绍如何在Mac OS中搭建Unity开发环境。
1. 在Mac OS下安装Unity
下载完毕后,可以看到Unity3.5的安装包,双击它后即可进行Unity的安装。这里需要说明的是,在首次安装Unity时需要联网注册,只有注册成功后才可以使用Unity。启动Unity3.5安装包后,程序将弹出Unity的注册向导界面,如图1-2所示。
图1-2 注册向导界面
在页面下方点击”Register“按钮后,此时将进入Unity激活界面,如图1-3所示。在激活界面中,首先需要选择激活方式。激活方式有联网激活(Internet.activation)与手动激活(Manual.activation)两种。联网激活适用于未购买Unity许可证的用户,而手动激活适用于已购买许可证的用户,这里我们选择”Internet activation“进行联网激活。
图1-3 Unity激活页面
点击”Next“按钮,程序会自动帮我们打开Unity联网激活的页面,如图1-4所示。为了完成激活,读者需要按照提示正确填写注册的相关信息,它们包括开发者邮箱与公司地址。内容填写完毕后,直接点击”Free“按钮免费激活Unity。
这里需要说明一下,Unity的试用期只有30天。我们知道Unity的许可证可分为普通版与加强版两种,普通版本只具备Unity的基本功能,而加强版本更为强大,比如增强了3D特效、特殊的光影效果、3D渲染特效等。然而30天的使用期限是针对于加强版本的,30天后将无法继续免费使用加强版本中的功能,需要缴费购买许可证,但是普通版本的功能仍然可以继续使用。关于普通版本与加强版本两者的详细区别,读者可点击”License Comparison“按钮进行查看。
图1-4 联网激活页面
点击”Free“按钮后,程序将打开注册完成界面,如图1-5所示,这表示Unity的 Mac OS版本已经彻底在本机中注册完毕,然后在界面中点击下方的”Finish“按钮,开始我们Unity学习之旅。
图1-5 注册完成
需要说明的是,Unity注册向导只会在本机第一次安装Unity时出现,注册完毕即表示安装成功。后续如果读者需要覆盖安装或者升级,只需打开Unity程序安装包,根据提示点击下一步即可。
2. 在Windows下安装Unity
在Windows下安装Unity与在Mac OS下安装有细微的差别。首先下载Unity 3.5 Windows版本,然后打开它开始安装。
在Windows中首次安装Unity同样需要注册,由于注册方法与Mac.OS完全一样,这里就不再赘述。但是在Windows下注册完毕后,需要进行安装,具体操作如下:首先按照Mac.OS中的注册方法在本机完成注册,然后程序将弹出安装Unity界面,如图1-6所示。
点击”Next“按钮,将进入安装说明界面,如图1-7所示。
安装前,请仔细阅读安装说明,确保无误后点击 “I Agree” 按钮继续安装,此时将进入Unity选择安装界面,如图1-8所示。除了安装Unity主程序外,还可选择性安装一些插件或工具。下面简单介绍一下这些安装组件。
Unity:主程序,必须安装。
Example Project:示例程序,可供用户参考。
Unity Development Web Player:Web开发者安装包。
MonoDevelop:脚本编辑器,强烈建议安装。
图1-6 开始安装
图1-7 安装说明界面
图1-8 选择安装界面
选择完插件与工具后,点击”Next“按钮,将打开确认安装界面,如图1-9所示,点击”Browse…“按钮,可设定Unity程序的安装路径。
图1-9 确认安装界面
选择安装路径后,点击”Install“按钮,程序将开始自动安装。此时需要耐心等待一会儿,安装完毕后,程序将进入最后的安装完成界面,如图1-10所示,然后点击”Finish“按钮,将彻底完成Unity的安装。如果在界面中勾选”Run Unity 3.5.0f5“复选框,安装完毕后Unity将自动被打开。
图1-10 完成安装
1.3 游戏界面对比
安装完Unity后,我们来打开它,首先映入我们眼帘的就是Unity的编辑器界面。在Mac.OS与Windows下,Unity的界面非常相似,并且它们之间的功能也都完全一样,包括制作游戏的方法、脚本的编写以及打包的过程等。它们之间唯一的一点小区别就是导航菜单栏的位置不太一样,但是导航菜单栏中的选项与功能都是完全一样的。所以说,无论在Mac OS中使用Unity还是在Windows中使用Unity,其开发过程完全一样。下面我们首先在Mac OS下打开Unity的界面。
1. Mac OS下的Unity界面
根据Mac.OS操作系统自身的习惯,Unity的导航菜单栏位于屏幕顶部,如图1-11所示,其优点是它不会因为鼠标拖动下方引擎界面而发生位置的改变。导航菜单栏中包括Unity非常重要的一些功能,后面会向读者详细介绍其中的含义。
图1-11 导航菜单栏
首次进入Unity时会弹出欢迎窗口(如图1-12所示),如果不设置关闭,每次打开Unity时都会自动打开这个窗口,其有一些选项可以帮助我们学习Unity,下面介绍一些这些选项的具体含义。
Video Tutorials:视频学习教程,这些都是Unity官方推荐的视频教程,它们非常全面,只可惜都是英文的。
Unity Basics:使用事项,涵盖引擎自身的一些配置参数以及对电脑硬件的需求等。
Unity Answers:问题与回答,读者可在这里与世界各地的朋友一起讨论Unity游戏开发。
Unity Forum:Unity官方创建的开发者论坛。
Unity Asset Store:资源商店,这里聚集着很多游戏开发所需的资源,有免费的也有收费的。
图1-12 Mac OS下的Unity界面
2. Windows下的Unity界面
图1-13为Windows下进入Unity的主界面效果图。和Mac OS下基本相同,只是界面的颜色与导航菜单栏的位置有点小小的区别,在Windows下Unity导航菜单栏可随窗口移动,而在Mac OS中,它则位于屏幕顶部。
图1-13 Windows下的Unity界面
1.4 购买许可证
Unity是一款收费的游戏引擎,读者可登录官网查看Unity许可证的购买地址与方式。
目前,可使用欧元、美元和日元购买Unity的许可证。如图1-14所示,打开Unity的购买网址,在”Store“的子页面标题中选择”Products“页面,在下方Unity版本中选择一个需要购买的版本,左侧为普通版本,右侧为加强版本,然后在右侧的下拉列表中选择购买Unity的币种。
图1-14 选择购买版本
选择完购买版本后,可以继续购买Unity配置插件。插件可以更好地帮助Unity开发游戏,目前配置插件只包括移动开发的Android平台与iOS平台,分为普通插件与加强插件。Team License为团队许可证,多台电脑可使用Team License同时进行开发。如图1-15所示,其中已经列出了详细的购买参数。
图1-15 选择配置插件
选择完合适的版本与插件后,点击右下角的”Add.to.Cart“按钮,将弹出确认购买页面,如图1-16所示,其中将出现之前选择购买的Unity版本与配置插件。确认无误后,点击”Check.Out“按钮开始购买,系统将调出信用卡支付界面,根据提示即可完成购买。
图1-16 确认购买页面
这里需要说明的是,购买时需要登录自己的Unity账号,如果之前没有注册账号,系统会提示你注册,或者自己登录官网注册,注册Unity的网址如下:https://store.unity3d.com/users/new。
如果已经购买过Unity许可证,比如之前购买的许可证是普通版本,既可以继续购买新版本,也可以为许可证进行加强版升级。不过升级也需要付款,支付金额与升级选项均与已有版本相关。如图1-17所示,在”Store“的子页面中选择”My Licenses“页面,登录Unity,然后就可以继续购买或升级自己的许可证。
图1-17 升级
许可证购买成功后,会得到Unity提供的一串序列号,这串序列号需要在Unity程序中进行激活。在Unity导航菜单栏中选择”Unity“→”Enter Serial Number“菜单项,如图1-18所示,接着输入购买的许可证序列号即可完成激活。
图1-18 输入序列号
然后在导航菜单栏中选择”Unity“→”About Unity“菜单项,将弹出”About Unity“页面,如图1-19所示,许可证类型与序列号出现在界面的右下角。
图1-19 “About Unity”界面
1.5 打包与发布
首先我们需要找一个游戏工程来学习如何打包与运行游戏,在Unity官网中有很多可免费下载的示例程序,这是相当珍贵的学习资料。
下面我们介绍如何打包与发布游戏。首先选择一个比较完整的游戏示例来进行讲解,根据上述的下载地址将游戏工程“AngryBots”下载至本地。启动Unity,在导航菜单栏中选择“File”→“Open.Project”菜单项,打开一个现有的游戏工程,这里我们选择打开刚才下载的“AngryBots”游戏工程。
默认情况下,打开游戏工程后,场景视图与游戏视图中是不存在任何游戏资源的,需要打开当前游戏对应的某个场景文件。如图1-20所示,我们打开“AngryBots”这个场景文件,此时场景视图与游戏视图中出现了该场景文件中游戏的所有资源。不同场景对应的游戏资源也会不一样,所以直接打开对应的场景文件即可。
如图1-20所示,在Unity界面右上角的下拉列表用于设置Unity界面的整体布局,默认布局为“Wide”,我习惯使用“2 by 3”布局,读者也可根据自己的喜好选择适当的界面布局。
游戏制作完毕后,需要进行平台打包才能最终发布。由于我已经购买了iOS平台的Unity许可证,所以本节将以iOS平台打包为例向读者介绍打包过程。
首先在Unity导航菜单栏中选择“File”→“Build.Settings”菜单项,打开“Build.Settings”窗口,如图1-21所示,在打包平台中选择iOS,然后点击右下角的“Build.And.Run”按钮,此时Unity将帮我们自动生成对应iOS平台的Xcode游戏工程。其他平台的游戏包制作方法与iOS平台完全一样。只需选择对应的打包平台,Unity遍可轻松实现跨平台游戏打包与发布。
注意 Xcode是苹果公司免费向开发人员提供的集成开发环境,用于开发Mac OS X应用程序。Xcode从3.1开始附带iOS SDK。
图1-20 界面布局
图1-21 “Build Settings”窗口
构建完iOS工程后,Unity会自动生成对应的Xcode游戏工程,其中包括运行在iOS平台下的所有Objective-C代码。使用Xcode打开Unity生成的游戏工程后,点击运行游戏按钮,构建的游戏工程与运行效果图将出现在我们面前,如图1-22所示。
图1-22 运行效果
在Windows下打包与运行的方式与Mac下完全一样,同样是在Unity导航菜单栏中选择“File”→“Build.Settings”菜单项,此时打开Build.Settings对话框,如图1-23所示,在打包游戏平台中选择Unity3.5版本最新支持的Flash.Player格式(目前免费),因为Flash Player格式需要Java虚拟机的支持,所以在构建项目之前请确保电脑中配置了Java环境。确保无误后,点击右下角的“Build and Run”按钮,即可在Windows下创建自己的项目。
图1-23 在Windows下打包与运行
项目构建完毕后,Unity会将Flash文件生成在指定路径当中。找到生成的Flash文件,打开它即可在Windows下运行该Flash游戏,如图1-24所示。怎么样?跨平台开发很酷吧。
图1-24 打包与运行
上面我们介绍了Unity在iOS平台下的打包过程。Unity在iOS平台下打包后,会将整个Xcode工程提供给开发者,而其他平台不会像iOS那样将源代码提供给开发者,而仅提供一个可运行的文件,比如在Android平台中打包后将生成一个.apk包,PC and Mac平台下打包后生成对应的.exe与mac应用程序,Flash Player平台下打包后生成.swf格式的运行程序,WebPlayer平台下打包后生成网页格式的运行程序。
实际开发中可以通过消息传递或者插件的形式将游戏平台的相关代码加入到Unity工程中。例如,在Android平台下,Unity中无法使用Android系统提供的高级控件,可以将Android下的Java代码以插件的形式放在Unity工程中,最终通过传递消息的形式通知插件调用Android高级控件的方法。
1.6 本章小结
本章主要向读者介绍了学习Unity的基础知识,开发Unity.3D游戏之前的一切准备工作。首先介绍了Unity这款商业游戏引擎的特点,之后分别以Mac.OS和Windows平台为例,简明扼要地介绍了这两种操作系统下Unity引擎的环境搭建以及它们之间的一些区别。然后介绍了Unity这款商业引擎的购买方式,学习了如何购买Unity及其相关配置插件。最后介绍Unity跨平台打包与运行的过程,以Mac.OS下iOS平台与Windows下Flash平台为例向读者展示了完整的打包与制作方法。作为Unity学习的基础,希望读者们认真学习本章内容,为后续章节的学习做好铺垫。
下载说明:
方法一:
1、下载并解压,得出pdf文件
2、如果打不开本文件,别着急,这时候请务必在哎呀吧下载站软件站选择一款阅读器下载哦
3、安装后,再打开解压得出的pdf文件
4、以上都完成后,接下来双击进行阅读就可以啦,朋友们开启你们的阅读之旅吧。
方法二:
1、可以在手机里下载哎呀吧下载站软件站中的阅读器和百度网盘
2、接下来直接将pdf传输到百度网盘
3、用阅读器打开即可阅读