搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Unity 3D游戏开发技术详解与典型案例
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115292933
  • 作      者:
    吴亚峰, 于复兴编著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2012
收藏
内容介绍
     《Unity 3D游戏开发技术详解与典型案例》对Unity 3D集成开发环境界面、脚本的编写和众多高级特效的实现进行了详细的介绍,内容深入浅出,是一本适合不同需求、不同开发水平读者的技术宝典。
     全书共分10章。第1章主要介绍了Unity 3D的诞生、特点、开发环境的搭建以及运行机制;第2章对Unity 3D集成开发环境进行了详细的介绍;第3章介绍了Unity 3D中脚本的编写;第4章主要对Unity 3D开发过程中经常使用的组件及对象进行了详细的介绍; 第5章介绍了Unity开发平台的完整的物理引擎体系;第6章介绍了天空盒、虚拟按钮与摇杆、声音、光源、地形引擎、角色动画,以及角色控制器等开发常用的技术;第7章介绍了Unity 3D中的着色器和着色器语言——ShaderLab;第8章介绍了PlayerPrefs类、Network Class(网络类),以及加速度传感器的使用;第9章介绍了完整的大型3D游戏案例——3D保龄球;第10章介绍了完整的大型3D游戏案例——火力篮球。同时为了便于读者的学习,本书附赠的光盘中包含了书中所有案例的完整源代码,最大限度地帮助读者快速掌握开发技术。
     《Unity 3D游戏开发技术详解与典型案例》适合从事游戏开发的编程人员学习。
展开
精彩书摘
  第3章 Unity 3D的脚本概述 
  通过前面的学习,读者应该了解了Unity中一些基本物体的创建,接下来,将介绍Unity中脚本的编写。本书的脚本以JavaScript为主,因此,本章主要讲解JavaScript脚本编写的语法和技巧,具有C#和B00编程基础或是没有编程基础的读者可参考JavaScript入门教材。 
  3.1 Unity脚本概述 
  Unity中的脚本由自定义的脚本附加到项目中的游戏对象上构成,这又可以叫作行为。不同的函数或者方法在特定的事件下被调用,实现特定的功能,下面是最常用的。Update方法:这个方法在运行一帧之前被调用,大部分游戏代码在这里面执行,除了物理代码部分。 
  FixUpdate方法:这个方法会在固定的物理时间步调调用一次。这里也是基本物理行为代码执行的地方。 
  方法外部代码:方法外部的代码在物体加载时运行,这可以用于初始化脚本状态。 
  同时,读者也可以使用事件处理程序,这些方法的名称前面都是On(类似于OnCollisionEnter碰撞检测),这些事件都继承自MonoBehaviour类。 
  3.2 Unity中专用JavaScript与通用JavaScript的区别 
  虽然用于网页开发的JavaScript完全符合ECMAScript标准,但是Unity中的JavaScript语言却和ECMAScript标准相去甚远,比如用于网页的JavaScript库的绝大部分都无法在Unity中使用。本书将说明Unity中专用JavaScript与通用(ECMAScript)JavaScript的区别。 
  3.2.1 在运行过程中性能的差异 
  Unity中专用JavaScript在运行过程中存在着很多特点,其不仅比JavaScript(ECMAScript)速度快,而且性能也更加优异,下面将分别讲解。 
  速度更快 
  Unity中的JavaScript已经编译过,其比动态的JSP更快。理论上,在Unity中JavaScript、C#和Boo没有速度上的差异,而且就算在Squirrelfish Extreme模式下,Unity的JavaScript比“真正”的JavaScript还要快。 
  性能更优异 
  JavaScript很重要的优化是使用静态类型替代动态类型。Unity使用一种技术叫做类型推理的技术来自动转换JavaScript为静态类型脚本。即Unity通过#pragma strict禁用脚本的动态类型,强制使用静态类型,并且加入了严格的变量检查机制,如果有未知类型的变量,Unity就会报告编译错误。 
  3.2.2 在语法上的区别 
  Unity中专用JavaScript在语法上也做了很多的改进,分别对类的定义与使用,继承的实现,数据类型与变量的声明,Mono(.Net)技术的调用以及调试的改进等,接下来将逐个进行讲解。 
  1.类的定义与使用 
  Unity中一个.js脚本文件就是一个类。读者可以声明一个和本脚本名字相同的类,如果在脚本中没有声明类,则Unity就以本脚本名自动命名一个类,脚本中的所有声明的对象将变为这个类的成员。
  ……
展开
目录
第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 本章小结

第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 Unity的基本语法
3.3.1 常用操作
3.3.2 记录时间
3.3.3 访问其他组件
3.3.4 访问其他游戏对象
3.3.5 向量
3.3.6 成员变量和全局变量
3.3.7 实例化
3.3.8 协同程序和中断
3.3.9 一些重要的类
3.3.10 性能优化
3.3.11 脚本编译
3.3.12 泛化方法
3.4 一个简单的案例
3.4.1 球转场景实现
3.4.2 球走场景实现
3.5 本章小结

第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章 物理引擎
5.1 刚体
5.1.1 刚体特性
5.1.2 物理管理器
5.1.3 碰撞与休眠
5.2 碰撞器
5.2.1 碰撞器的添加
5.2.2 碰撞过滤
5.2.3 物理材质
5.3 粒子系统
5.3.1 粒子系统的创建
5.3.2 粒子系统的特性
5.3.3 粒子系统的组合使用
5.4 关节
5.4.1 铰链关节
5.4.2 固定关节
5.4.3 弹簧关节
5.4.4 角色关节
5.4.5 可配置关节
5.4.6 关节综合案例--机械手
5.5 游戏实例--摧毁立方体
5.6 本章小结

第6章 3D游戏开发的常用技术
6.1 天空盒的应用
6.1.1 Unity内置的天空盒资源
6.1.2 开发实际需要的天空盒
6.2 虚拟按钮与摇杆使用
6.2.1 Unity内置的虚拟按钮与摇杆资源
6.2.2 虚拟按钮与摇杆使用的案例
6.3 声音
6.3.1 音频管理器(Audio Manager)
6.3.2 音频监听器(Audio Listener)
6.3.3 音频源(Audio Source)
6.3.4 音频效果(Audio Effects)
6.3.5 音频混响区(Audio Reverb Zones)
6.3.6 简单的声音控制案例
6.4 光源
6.4.1 点光源(Point light)
6.4.2 平行光光源(Directional light)
6.4.3 聚光灯光源(Spotlight)
6.4.4 区域光光源(Area Light)
6.4.5 光照过滤
6.5 3D拾取技术
6.6 地形引擎
6.6.1 创建地形
6.6.2 编辑地形
6.6.3 添加树木和草
6.6.4 添加水
6.6.5 地形参数
6.7 角色动画
6.7.1 导入角色动画
6.7.2 动画脚本
6.8 角色控制器
6.8.1 添加角色控制器
6.8.2 角色控制器的使用
6.9 本章小结

第7章 着色器--Shaders
7.1 着色器概述
7.2 ShaderLab语法基础
7.2.1 Shader
7.2.2 Properties
7.2.3 SubShader
7.2.4 SubShader Tags
7.2.5 Pass
7.2.6 Fallback
7.2.7 Category
7.3 通道渲染命令(ShaderLab)
7.3.1 颜色、材质和光照
7.3.2 剪裁和深度测试
7.3.3 纹理处理
7.3.4 雾
7.3.5 Alpha测试
7.3.6 混合
7.3.7 通道标签
7.3.8 绑定通道
7.4 表面着色器和顶点片元着色器
7.4.1 表面着色器
7.4.2 顶点片元着色器
7.5 本章小结

第8章 杂项
8.1 PlayerPrefs类
8.2 网络--Network
8.2.1 消息发送--Messages Sent
8.2.2 类变量--Class Variables
8.2.3 类方法--Class Functions
8.3 加速度传感器
8.4 本章小结

第9章 综合案例--3D保龄球
9.1 游戏背景以及功能概述
9.1.1 背景概述
9.1.2 功能简介
9.2 游戏的策划及准备工作
9.2.1 游戏的策划
9.2.2 使用Unity开发游戏前的准备工作
9.3 游戏的架构
9.3.1 各个场景的简要介绍
9.3.2 游戏架构简介
9.4 主菜单界面
9.5 游戏界面
9.5.1 场景搭建
9.5.2 保龄球瓶及其脚本
9.5.3 初始化与得分计算
9.5.4 瓶子碰撞体的组装
9.5.5 得分的绘制,储存和返回键的开发
9.5.6 瓶子下降和下降台控制
9.6 设置界面
9.7 统计界面
9.8 帮助界面
9.9 游戏结束界面
9.10 游戏的优化与改进

第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 游戏的优化与改进
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证