书籍详情
Unity43D开发实战详解
作者:吴亚峰,杜化美,张月霞 等著 百纳科技 校
出版社:人民邮电出版社
出版时间:2013-12-01
ISBN:9787115329233
定价:¥79.00
购买这本书可以去
内容简介
随着Unity 3D的迅猛发展,该游戏引擎通过不断优化与改进已经升级到4.0。在Unity 4.0中增加了许多新的特性,如全新的动画系统、支持移动平台的实时阴影、最新的状态机技术等。《Unity 4 3D开发实战详解》随着游戏引擎的升级加入了许多新的内容,主要内容如下。第1章 Unity 3D基础以及开发环境的搭建,简要介绍了Unity 3D开发环境的搭建及其运行机制;第2章 Unity集成开发环境详解,主要对Unity集成开发环境进行详细介绍;第3章 Unity 3D开发脚本简介,讲解了特定于Unity的JavaScript脚本和C#脚本编写的语法和技巧;第4章 Unity 3D图形用户界面基础及常用对象,主要对Unity开发过程中经常使用的图形用户界面控件及对象进行详细介绍;第5章 Unity 3D第三方2D组件库——NGUI,介绍了游戏开发中非常流行的第三方UI界面开发组件库——NGUI的知识;第6章 物理引擎,介绍了Unity开发平台的完整的物理引擎体系,包括刚体、碰撞器、粒子系统及关节等开发技术;第7章 3D游戏开发技术,介绍了天空盒、虚拟按钮与摇杆、声音、光源、地形引擎、角色动画,以及角色控制器等常用技术;第8章 着色器——Shaders,介绍了Unity中的着色器和着色器语言——ShaderLab,为各种高级特效的开发打下良好的基础;第9章杂项,介绍了PlayerPrefs类、Network Class(网络类)、加速度传感器的使用、视频贴图等开发技巧;第10章 综合案例——火力篮球,详细介绍了火力篮球项目的开发过程及用到的各种相关技术;第11章 综合案例——3D保龄球,详细介绍了3D保龄球项目的开发过程及用到的各种相关技术。《Unity 4 3D开发实战详解》适合游戏开发的读者学习,也适合程序员学习用书,以及各院校相关专业师生的学习用书和培训学校的教材。
作者简介
吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有十多年的Java开发与培训经验,是最早关注Android开发的人员,并开发出一系列优秀的Android应用程序与游戏。主要的研究方向为OpenGLES、手机游戏、Java EE、搜索引擎,同时为手机游戏、JavaEE独立软件开发工程师,并兼任百纳科技Java培训中心首席培训师。近10年来为数十家著名企业培养了上千名软件开发人员,曾编写过《Java程序员职场全攻略—从小工到专家》、《Android2.0游戏开发实战宝典》、《Android核心技术与实例详解》、《Android3D游戏开发—技术详解与典型案例》、《Android应用案例开发大全》和《Android游戏开发大全》等多本畅销书籍。
目录
第1章 Unity 3D基础以及开发环境的搭建
1.1 Unity 3D基础知识概览
1.1.1 初识Unity 3D
1.1.2 Unity的诞生及发展
1.1.3 Unity 3D广阔的市场前景
1.1.4 独具特色的Unity 3D
1.2 开发环境的搭建
1.2.1 Unity集成开发环境的安装
1.2.2 目标平台的SDK与Unity 3D的集成
1.3 第一个Unity 3D程序
1.4 导入案例项目
1.5 本章小结
第2章 Unity集成开发环境详解
2.1 Unity集成开发环境的整体布局
2.1.1 Unity集成开发环境的整体布局
2.1.2 标题栏
2.1.3 菜单栏
2.1.4 工具栏
2.1.5 场景设计面板
2.1.6 游戏预览面板
2.1.7 游戏组成对象列表
2.1.8 项目资源列表
2.1.9 属性查看器
2.1.10 状态栏与控制台
2.1.11 动画视图
2.2 菜单栏
2.2.1 文件(File)
2.2.2 编辑(Edit)
2.2.3 资源(Assets)
2.2.4 游戏对象(GameObject)
2.2.5 组件(Component)
2.2.6 地形(Terrain)
2.2.7 窗口(Window)
2.2.8 帮助(Help)
2.3 本章小结
第3章 Unity 3D脚本程序开发
3.1 Unity脚本概述
3.2 Unity中专用JavaScript与通用JavaScript的区别
3.2.1 在运行过程中性能的差异
3.2.2 在语法上的区别
3.3 使用C#脚本的注意事项
3.4 Unity脚本的基本语法
3.4.1 常用操作
3.4.2 记录时间
3.4.3 访问其他组件
3.4.4 访问其他游戏对象
3.4.5 向量
3.4.6 成员变量和全局变量
3.4.7 实例化
3.4.8 协同程序和中断
3.4.9 一些重要的类
3.4.10 性能优化
3.4.11 脚本编译
3.4.12 泛化方法
3.5 JavaScript脚本综合案例
3.5.1 球转场景实现
3.5.2 球走场景实现
3.6 C#脚本综合案例
3.6.1 立方体旋转场景实现
3.6.2 球走场景实现
3.7 本章小结
第4章 Unity 3D图形用户界面基础及常用对象
4.1 图形用户界面组件
4.1.1 图形用户界面组件的变量
4.1.2 图形用户界面中的常用控件
4.1.3 图形用户界面控件综合案例
4.2 预制件prefab资源的应用
4.2.1 预制件prefab资源的创建
4.2.2 通过prefab资源进而实例化对象
4.3 常用的输入对象
4.3.1 Touch输入对象
4.3.2 Input输入对象
4.4 与销毁相关的方法
4.4.1 Object.Destroy方法
4.4.2 Network.Destroy方法
4.4.3 EditorWindow.OnDestroy方法
4.4.4 MonoBehaviour.OnDestory方法
4.4.5 ScriptableObject.OnDestory方法
4.4.6 Object.DestoryImmediate方法
4.5 本章小结
第5章 Unity 3D第三方2D组件库——NGUI
5.1 初识NGUI
5.1.1 NGUI背景概述
5.1.2 NGUI的导入
5.1.3 NGUI菜单
5.1.4 UI层简介
5.2 控件工具的使用
5.2.1 文本标签——Label
5.2.2 图片精灵——Sprite
5.2.3 按钮——Button
5.2.4 复选框——Checkbox
5.2.5 滑块——Slider
5.2.6 文本输入框——Input
5.2.7 弹出列表——Popup List
5.3 杂项
5.3.1 Atlas图集制作
5.3.2 中文字体制作
5.3.3 法线贴图与动画曲线编辑
5.4 一个NGUI的综合案例
5.4.1 制作布局界面
5.4.2 实现窗口的拖曳和动态效果
5.4.3 制作灯光效果
5.5 本章小结
第6章 物理引擎
6.1 刚体
6.1.1 刚体特性
6.1.2 物理管理器
6.1.3 碰撞与休眠
6.2 碰撞器
6.2.1 碰撞器的添加
6.2.2 碰撞过滤
6.2.3 物理材质
6.3 粒子系统
6.3.1 粒子系统的简介
6.3.2 粒子系统的特性
6.3.3 粒子系统的组合使用
6.4 关节
6.4.1 铰链关节的特性
6.4.2 铰链关节的创建
6.4.3 固定关节的特性
6.4.4 固定关节的创建
6.4.5 弹簧关节的特性
6.4.6 弹簧关节的创建
6.4.7 角色关节的特性
6.4.8 角色关节的创建
6.4.9 可配置关节的特性
6.4.10 可配置关节的创建
6.4.11 关节综合案例——机械手
6.5 交通工具
6.6 布料
6.6.1 布料特性
6.6.2 布料的简单案例
6.7 物理引擎综合案例
6.8 本章小结
第7章 3D游戏开发的常用技术
7.1 天空盒的应用
7.1.1 Unity内置的天空盒资源
7.1.2 开发实际需要的天空盒
7.2 虚拟按钮与摇杆使用
7.2.1 Unity内置的虚拟按钮与摇杆资源
7.2.2 虚拟按钮与摇杆使用的案例
7.3 声音
7.3.1 音频管理器(AudioManager)
7.3.2 音频监听器(Audio Listener)
7.3.3 音频源(Audio Source)
7.3.4 音频效果(Audio Effects)
7.3.5 音频混响区(Audio Reverb Zones)
7.3.6 简单的声音控制案例
7.4 光源
7.4.1 点光源(Point light)
7.4.2 平行光光源(Directional light)
7.4.3 聚光灯光源(Spotlight)
7.4.4 区域光光源(Area Light)
7.4.5 光照过滤
7.5 3D拾取技术
7.6 地形引擎
7.6.1 创建地形
7.6.2 编辑地形
7.6.3 添加树木和草
7.6.4 添加水
7.6.5 地形参数
7.7 角色动画
7.7.1 导入角色动画
7.7.2 动画脚本
7.7.3 状态机动画系统(Mecanim)
7.8 角色控制器
7.8.1 添加角色控制器
7.8.2 角色控制器的使用
7.8.3 角色导入案例
7.9 实时阴影技术
7.10 本章小结
第8章 着色器——Shaders
8.1 着色器概述
8.2 ShaderLab语法基础
8.2.1 Shader
8.2.2 Properties
8.2.3 SubShader
8.2.4 SubShader Tags
8.2.5 Pass
8.2.6 Fallback
8.2.7 Category
8.3 通道渲染命令(ShaderLab)
8.3.1 颜色、材质和光照
8.3.2 剪裁和深度测试
8.3.3 纹理处理
8.3.4 雾
8.3.5 Alpha测试
8.3.6 混合
8.3.7 通道标签
8.3.8 绑定通道
8.4 表面着色器的基础知识
8.5 通过表面着色器实施顶点变换
8.5.1 二维变形
8.5.2 扭扭糖
8.5.3 吹气膨胀效果
8.6 通过表面着色器实施片元变换
8.6.1 沙滩球
8.6.2 砖块球
8.7 顶点片元着色器
8.7.1 顶点片元着色器的基础知识
8.7.2 带光照的沙滩球
8.8 本章小结
第9章 杂项
9.1 PlayerPrefs类
9.2 网络——Network
9.2.1 消息发送——Messages Sent
9.2.2 类变量——Class Variables
9.2.3 类方法——Class Functions
9.3 加速度传感器
9.4 模型导入
9.5 动态字体
9.6 视频贴图
9.6.1 基础知识
9.6.2 案例
9.7 本章小结
第10章 综合案例——火力篮球
10.1 火力蓝球游戏背景以及功能概述
10.1.1 火力蓝球游戏背景概述
10.1.2 火力蓝球功能简介
10.2 游戏的策划及准备工作
10.2.1 游戏的策划
10.2.2 使用Unity开发游戏前的准备工作
10.3 游戏的架构
10.3.1 各个场景的简要介绍
10.3.2 游戏架构简介
10.4 主菜单界面
10.5 游戏界面
10.5.1 场景搭建
10.5.2 篮球及其脚本
10.5.3 计分触发器开发
10.5.4 主摄像机设置及脚本开发
10.6 设置界面
10.7 关于界面
10.8 帮助界面
10.8.1 场景搭建
10.8.2 篮球脚本开发
10.8.3 计分触发器的脚本开发
10.8.4 主摄像机脚本开发
10.9 记录界面
10.10 游戏结束界面
10.11 游戏的优化与改进
第11章 综合案例——3D保龄球
11.1 3D保龄球游戏背景及功能概述
11.1.1 3D保龄球背景概述
11.1.2 3D保龄球功能简介
11.2 游戏的策划及准备工作
11.2.1 游戏的策划
11.2.2 使用Unity开发游戏前的准备工作
11.3 游戏的架构
11.3.1 各个场景的简要介绍
11.3.2 游戏架构简介
11.4 主菜单界面
1.5 游戏界面
11.5.1 场景搭建
11.5.2 保龄球瓶及其脚本
11.5.3 初始化与得分计算
11.5.4 瓶子碰撞体的组装
11.5.5 得分的绘制,储存和返回键的开发
11.5.6 瓶子下降和下降台控制
11.6 设置界面
11.7 统计界面
11.8 帮助界面
11.9 游戏结束界面
11.10 游戏的优化与改进
1.1 Unity 3D基础知识概览
1.1.1 初识Unity 3D
1.1.2 Unity的诞生及发展
1.1.3 Unity 3D广阔的市场前景
1.1.4 独具特色的Unity 3D
1.2 开发环境的搭建
1.2.1 Unity集成开发环境的安装
1.2.2 目标平台的SDK与Unity 3D的集成
1.3 第一个Unity 3D程序
1.4 导入案例项目
1.5 本章小结
第2章 Unity集成开发环境详解
2.1 Unity集成开发环境的整体布局
2.1.1 Unity集成开发环境的整体布局
2.1.2 标题栏
2.1.3 菜单栏
2.1.4 工具栏
2.1.5 场景设计面板
2.1.6 游戏预览面板
2.1.7 游戏组成对象列表
2.1.8 项目资源列表
2.1.9 属性查看器
2.1.10 状态栏与控制台
2.1.11 动画视图
2.2 菜单栏
2.2.1 文件(File)
2.2.2 编辑(Edit)
2.2.3 资源(Assets)
2.2.4 游戏对象(GameObject)
2.2.5 组件(Component)
2.2.6 地形(Terrain)
2.2.7 窗口(Window)
2.2.8 帮助(Help)
2.3 本章小结
第3章 Unity 3D脚本程序开发
3.1 Unity脚本概述
3.2 Unity中专用JavaScript与通用JavaScript的区别
3.2.1 在运行过程中性能的差异
3.2.2 在语法上的区别
3.3 使用C#脚本的注意事项
3.4 Unity脚本的基本语法
3.4.1 常用操作
3.4.2 记录时间
3.4.3 访问其他组件
3.4.4 访问其他游戏对象
3.4.5 向量
3.4.6 成员变量和全局变量
3.4.7 实例化
3.4.8 协同程序和中断
3.4.9 一些重要的类
3.4.10 性能优化
3.4.11 脚本编译
3.4.12 泛化方法
3.5 JavaScript脚本综合案例
3.5.1 球转场景实现
3.5.2 球走场景实现
3.6 C#脚本综合案例
3.6.1 立方体旋转场景实现
3.6.2 球走场景实现
3.7 本章小结
第4章 Unity 3D图形用户界面基础及常用对象
4.1 图形用户界面组件
4.1.1 图形用户界面组件的变量
4.1.2 图形用户界面中的常用控件
4.1.3 图形用户界面控件综合案例
4.2 预制件prefab资源的应用
4.2.1 预制件prefab资源的创建
4.2.2 通过prefab资源进而实例化对象
4.3 常用的输入对象
4.3.1 Touch输入对象
4.3.2 Input输入对象
4.4 与销毁相关的方法
4.4.1 Object.Destroy方法
4.4.2 Network.Destroy方法
4.4.3 EditorWindow.OnDestroy方法
4.4.4 MonoBehaviour.OnDestory方法
4.4.5 ScriptableObject.OnDestory方法
4.4.6 Object.DestoryImmediate方法
4.5 本章小结
第5章 Unity 3D第三方2D组件库——NGUI
5.1 初识NGUI
5.1.1 NGUI背景概述
5.1.2 NGUI的导入
5.1.3 NGUI菜单
5.1.4 UI层简介
5.2 控件工具的使用
5.2.1 文本标签——Label
5.2.2 图片精灵——Sprite
5.2.3 按钮——Button
5.2.4 复选框——Checkbox
5.2.5 滑块——Slider
5.2.6 文本输入框——Input
5.2.7 弹出列表——Popup List
5.3 杂项
5.3.1 Atlas图集制作
5.3.2 中文字体制作
5.3.3 法线贴图与动画曲线编辑
5.4 一个NGUI的综合案例
5.4.1 制作布局界面
5.4.2 实现窗口的拖曳和动态效果
5.4.3 制作灯光效果
5.5 本章小结
第6章 物理引擎
6.1 刚体
6.1.1 刚体特性
6.1.2 物理管理器
6.1.3 碰撞与休眠
6.2 碰撞器
6.2.1 碰撞器的添加
6.2.2 碰撞过滤
6.2.3 物理材质
6.3 粒子系统
6.3.1 粒子系统的简介
6.3.2 粒子系统的特性
6.3.3 粒子系统的组合使用
6.4 关节
6.4.1 铰链关节的特性
6.4.2 铰链关节的创建
6.4.3 固定关节的特性
6.4.4 固定关节的创建
6.4.5 弹簧关节的特性
6.4.6 弹簧关节的创建
6.4.7 角色关节的特性
6.4.8 角色关节的创建
6.4.9 可配置关节的特性
6.4.10 可配置关节的创建
6.4.11 关节综合案例——机械手
6.5 交通工具
6.6 布料
6.6.1 布料特性
6.6.2 布料的简单案例
6.7 物理引擎综合案例
6.8 本章小结
第7章 3D游戏开发的常用技术
7.1 天空盒的应用
7.1.1 Unity内置的天空盒资源
7.1.2 开发实际需要的天空盒
7.2 虚拟按钮与摇杆使用
7.2.1 Unity内置的虚拟按钮与摇杆资源
7.2.2 虚拟按钮与摇杆使用的案例
7.3 声音
7.3.1 音频管理器(AudioManager)
7.3.2 音频监听器(Audio Listener)
7.3.3 音频源(Audio Source)
7.3.4 音频效果(Audio Effects)
7.3.5 音频混响区(Audio Reverb Zones)
7.3.6 简单的声音控制案例
7.4 光源
7.4.1 点光源(Point light)
7.4.2 平行光光源(Directional light)
7.4.3 聚光灯光源(Spotlight)
7.4.4 区域光光源(Area Light)
7.4.5 光照过滤
7.5 3D拾取技术
7.6 地形引擎
7.6.1 创建地形
7.6.2 编辑地形
7.6.3 添加树木和草
7.6.4 添加水
7.6.5 地形参数
7.7 角色动画
7.7.1 导入角色动画
7.7.2 动画脚本
7.7.3 状态机动画系统(Mecanim)
7.8 角色控制器
7.8.1 添加角色控制器
7.8.2 角色控制器的使用
7.8.3 角色导入案例
7.9 实时阴影技术
7.10 本章小结
第8章 着色器——Shaders
8.1 着色器概述
8.2 ShaderLab语法基础
8.2.1 Shader
8.2.2 Properties
8.2.3 SubShader
8.2.4 SubShader Tags
8.2.5 Pass
8.2.6 Fallback
8.2.7 Category
8.3 通道渲染命令(ShaderLab)
8.3.1 颜色、材质和光照
8.3.2 剪裁和深度测试
8.3.3 纹理处理
8.3.4 雾
8.3.5 Alpha测试
8.3.6 混合
8.3.7 通道标签
8.3.8 绑定通道
8.4 表面着色器的基础知识
8.5 通过表面着色器实施顶点变换
8.5.1 二维变形
8.5.2 扭扭糖
8.5.3 吹气膨胀效果
8.6 通过表面着色器实施片元变换
8.6.1 沙滩球
8.6.2 砖块球
8.7 顶点片元着色器
8.7.1 顶点片元着色器的基础知识
8.7.2 带光照的沙滩球
8.8 本章小结
第9章 杂项
9.1 PlayerPrefs类
9.2 网络——Network
9.2.1 消息发送——Messages Sent
9.2.2 类变量——Class Variables
9.2.3 类方法——Class Functions
9.3 加速度传感器
9.4 模型导入
9.5 动态字体
9.6 视频贴图
9.6.1 基础知识
9.6.2 案例
9.7 本章小结
第10章 综合案例——火力篮球
10.1 火力蓝球游戏背景以及功能概述
10.1.1 火力蓝球游戏背景概述
10.1.2 火力蓝球功能简介
10.2 游戏的策划及准备工作
10.2.1 游戏的策划
10.2.2 使用Unity开发游戏前的准备工作
10.3 游戏的架构
10.3.1 各个场景的简要介绍
10.3.2 游戏架构简介
10.4 主菜单界面
10.5 游戏界面
10.5.1 场景搭建
10.5.2 篮球及其脚本
10.5.3 计分触发器开发
10.5.4 主摄像机设置及脚本开发
10.6 设置界面
10.7 关于界面
10.8 帮助界面
10.8.1 场景搭建
10.8.2 篮球脚本开发
10.8.3 计分触发器的脚本开发
10.8.4 主摄像机脚本开发
10.9 记录界面
10.10 游戏结束界面
10.11 游戏的优化与改进
第11章 综合案例——3D保龄球
11.1 3D保龄球游戏背景及功能概述
11.1.1 3D保龄球背景概述
11.1.2 3D保龄球功能简介
11.2 游戏的策划及准备工作
11.2.1 游戏的策划
11.2.2 使用Unity开发游戏前的准备工作
11.3 游戏的架构
11.3.1 各个场景的简要介绍
11.3.2 游戏架构简介
11.4 主菜单界面
1.5 游戏界面
11.5.1 场景搭建
11.5.2 保龄球瓶及其脚本
11.5.3 初始化与得分计算
11.5.4 瓶子碰撞体的组装
11.5.5 得分的绘制,储存和返回键的开发
11.5.6 瓶子下降和下降台控制
11.6 设置界面
11.7 统计界面
11.8 帮助界面
11.9 游戏结束界面
11.10 游戏的优化与改进
猜您喜欢