Unity 4.x 2D游戏开发基础教程

来源:互联网 发布:科比最后一场比赛数据 编辑:程序博客网 时间:2024/05/16 04:59


淘宝网店购买地址:http://item.taobao.com/item.htm?spm=686.1000925.1000774.13.0Il2aP&id=39546154468

试读文档下载

第一章下载地址:http://pan.baidu.com/s/1mgp3hZq

第二章下载地址:http://pan.baidu.com/s/1hqmn5i8

第十章下载地址:http://pan.baidu.com/s/1qWLjfWw

合订本下载地址:http://pan.baidu.com/s/1i3GDEjb




Unity是一款综合性的游戏开发工具,也是一款全面整合的专业游戏引擎。它可以运行在Windows和Mac OS X下,并提供交互的图形化开发环境为首要操作方式。使用Unity开发的游戏,可以部署到所有的主流游戏平台,而无需任何修改。这些平台包括Windows、Linux、Mac OS X、iOS、Android、Xbox 360、PS3、WiiU和Wed等。开发者无需过多考虑平台之间的差异,只需把精力集中到制作高质量的游戏即可,真正做到“一次开发,到处部署”。

据权威机构统计,国内53.1%的人使用Unity进行游戏开发;有80%的手机游戏是使用Unity开发的;苹果应用商店中,有超过1500款游戏使用Unity开发。

网上有为数众多的2D和3D游戏。稍微关注一下,就会发现2D游戏才是主流,如植物大战僵尸、愤怒的小鸟、打飞机、2048等。而且,问问身边的人让他们印象深刻的游戏是什么,你会惊讶的发现,大部分游戏同样是2D的。

基于以上不可忽略的事实,本书决定着眼于讲解使用Unity开发2D游戏的基础知识,且书中包含了两个生动的2D游戏示例,相信读者会喜欢它们的。

学习所需的系统和软件
•安装Windows 7操作系统
•安装Unity 4.5.1

目录

第1章  Unity及其组成的介绍

1.1  Unity概述

1.2  项目、资源和场景

1.2.1  项目

1.2.2  资源

1.2.3  场景

1.3  场景视图的操作

1.3.1  使用快捷键操作场景视图

1.3.2  使用Gizmo操作场景视图

1.4  游戏对象和组件

1.5  脚本与脚本编辑器

1.5.1  创建脚本

1.5.2  脚本编辑器

1.6  脚本的调试

1.6.1  调试方法一

1.6.2  调试方法二

第2章  材质和纹理

2.1  材质和纹理的使用

2.1.1  使用材质

2.1.2  不同的材料类型——着色器

2.1.3  使用纹理

2.2  应用于2D游戏的材质

2.2.1  缘由

2.2.2  技巧一:使用白色的环境光

2.2.3  技巧二:使用光不敏感着色器

2.3  纹理使用规则

2.3.1  规则1:分辨率是2的次方

2.3.2  规则2:保证“质量”

2.3.3  规则3:增加阿尔法通道(Alpha Channel)

2.4  导入纹理

2.4.1  导入纹理时默认设置介绍

2.4.2  含有透明信息的纹理

第3章  着手开发一个简单的2D游戏

3.1  开始开发2D游戏

3.1.1  导入纹理资源

3.1.2  新建材质资源

3.1.3  修改场景的环境光以及游戏时的屏幕尺寸

3.2  为场景添加游戏对象

3.2.1  调整游戏对象的角度

3.2.2  改变游戏对象的位置

3.2.3  游戏对象的“碰撞”组件

3.3  让飞船动起来

3.4  让飞船发射子弹

3.4.1  在场景中添加子弹

3.4.2  游戏时,让子弹在场景中移动

3.4.3  生成子弹的预设

3.4.4  设置子弹的发射位置

3.4.5  在恰当的时机发射子弹

3.5  让外星飞船动起来

3.5.1  编写脚本

3.5.2  设置外星飞船的触发器

3.5.3  为子弹预设添加刚体组件

3.6  为游戏添加背景

第4章  使用编辑器类自定义编辑器

4.1  编辑器类

4.2  开始使用编辑器类编写工具

4.2.1  为项目添加脚本

4.2.2  创建指定名称的文件夹

4.3  把工具添加到菜单

4.3.1  CreateWizard函数

4.3.2  测试脚本的实现效果

4.4  读取场景中选择的对象

4.4.1  在脚本中使用Selection类

4.4.2  测试脚本的实现效果

4.5  为工具窗口添加用户输入框

4.6  完成工具的所有功能

第5章  图片与几何图形对象

5.1  2D游戏常用的图片

5.1.1  精灵

5.1.2  图块集

5.1.3  图形绘制中的问题

5.1.4  设想

5.2  开始编写编辑器工具

5.3  设置四边形的轴点

5.4  指定四边形资源的存放路径

5.5  生成四边形

5.5.1  阶段一:创建构成四边形的顶点、UV和三角形

5.5.2  阶段二:在资源面板中生成四边形

5.5.3  阶段三:在场景中实例化一个四边形

5.6  使用四边形生成工具

第6章  生成纹理图集

6.1  为什么要使用纹理图集

6.1.1  降低绘制调用的次数

6.1.2  便于灵活的使用纹理

6.1.3  便于管理纹理

6.2  开始编写生成纹理图集的工具

6.3  添加组成纹理图集的纹理

6.4  UV对纹理图集的重要性

6.5  生成纹理图集

6.5.1  步骤一:优化输入的纹理

6.5.2  步骤二:构建纹理图集

6.5.3  步骤三:保存图集的预置

6.6  脚本文件TexturePacker代码汇总

6.7  测试工具的使用效果

第7章  UV和动画

7.1  生成一个可停靠的编辑器

7.2  编辑工具窗口的界面

7.2.1  添加预置资源选择区域

7.2.2  添加纹理选择区域

7.2.3  添加纹理选择的两种方式

7.2.4  编写用于修改网格对象UV坐标的函数

7.2.5  添加应用所有设置的按钮

7.3  工具脚本代码的汇总与使用

7.4  一个播放动画的平面对象

第8章  益于2D游戏的摄像机与场景设置

8.1  摄像机类型:透视与正交

8.2  世界单元与像素

8.3  世界单元与像素的转换

8.3.1  添加纹理和四边形对象

8.3.2  调整四边形与摄像机的位置

8.3.3  世界单元:像素 = 1:1

8.3.4  对齐屏幕和场景坐标的原点

8.4  纹理图片的完美显示

8.5  其它有用的设置技巧

8.5.1  调节深度

8.5.2  合成视图

第9章  获取玩家对2D游戏的输入

9.1  自动检测鼠标单击事件

9.2  手动检测鼠标单击事件

9.2.1  鼠标按下的键及其位置

9.2.2  鼠标点击的第一个对象

9.2.3  鼠标点击的所有对象

9.3  修改游戏中的鼠标图标

9.3.1  准备所需的资源,并做适当设置

9.3.2  编写脚本

9.3.3  两个坐标系导致的问题

9.3.4  查看游戏视图中的效果

9.4  使用键盘控制鼠标移动

9.5  对输入的抽象——输入轴

9.5.1  了解输入轴

9.5.2  输入轴在输入过程中的应用

9.6  来自移动设备的输入

9.6.1  检测移动设备上的触摸操作

9.6.2  把触摸操作当作鼠标操作

9.6.3  有选择的编译代码

第10章  2D卡片游戏——记忆大作战

10.1  游戏设计文档

10.2  开始着手创建游戏

10.2.1  在资源面板创建文件夹

10.2.2  创建一个纹理图集

10.2.3  创建四边形对象

10.2.4  修改四边形的材质和UV

10.2.5  设置摄像机和游戏视图的分辨率

10.3  设置场景中的卡片

10.3.1  设置卡片的属性

10.3.2  定位卡片的位置

10.3.3  编写控制卡片行为的脚本

10.3.4  补全场景中其余的卡片

10.4  游戏管理类

10.4.1  重置卡片

10.4.2  处理玩家输入

10.4.3  响应玩家输入

10.4.4  游戏管理类代码汇总

10.5  完善并运行游戏

10.5.1  替换系统鼠标图标

10.5.2  游戏运行效果展示

第11章  可联机玩的游戏——记忆大作战

11.1  网络连接

11.2  建立服务器端

11.3  建立客户端

11.4  测试网络连接的功能

11.5  网络视图组件

11.6  构建授权服务器

11.7  建立游戏输入操作的秩序

11.7.1  游戏启动时,禁止输入操作

11.7.2  连接建立后,允许服务器端的输入操作

11.7.3  服务器端远程调用客户端上的函数

11.7.4  客户端远程调用服务器端上的函数

11.8  修改游戏管理类脚本

11.9  游戏运行效果展示

11.10  为游戏添加分数记录

第12章  优化游戏的方法

12.1  最优化,如你所想吗?

12.2  减少顶点的数目

12.3  减少材质

12.4  减少UV接缝

12.5  不同平台下,纹理的不同设置

12.6  对象缓存组件

12.7  避免频繁使用Update()函数

12.8  合理使用Collider组件

12.9  避免使用OnGUI()和GUI类

12.10  使用静态批处理

12.11  使用天空盒子

0 0