计算机
类型
可以朗读
语音朗读
235千字
字数
2019-01-01
发行日期
展开全部
主编推荐语
Unity游戏开发实战及跨平台技巧
内容简介
本书Unity游戏开发实战为主线,详尽介绍了太空射击游戏、第一人称射击游戏、塔防游戏和2D游戏开发的开发技巧,此外还介绍了跨平台游戏开发的移植方法,可以将游戏移值到HTML5\IOS\Android平台,还介绍了Unity的流行插件行为树和PlayMaker。新GUI,新版中更是增加了网络多人游戏开发,AR\VR开发,向量和数学知识,UnityShader开发。
目录
- 封面页
- 书名页
- 版权页
- 作者简介
- 内容简介
- 前言
- 编写本书的目的
- 本书主要内容
- 读者对象
- 代码下载
- 目录
- 第1章 Unity基础
- 1.1 初识游戏引擎和Unity
- 1.2 运行Unity
- 1.2.1 Unity的版本
- 1.2.2 下载并安装Unity
- 1.2.3 在线激活Unity
- 1.2.4 运行示例工程
- 1.3 创建一个Hello World程序
- 1.3.1 安装Visual Studio
- 1.3.2 编写脚本
- 1.3.3 编译输出
- 1.4 调试程序
- 1.4.1 显示Log
- 1.4.2 在Visual Studio中设置断点
- 1.5 Unity脚本基础
- 1.5.1 Script(脚本)组件
- 1.5.2 脚本的执行顺序
- 1.5.3 脚本的序列化
- 1.5.4 组件式编程
- 1.5.5 协程编程
- 1.6 预置文件Prefab和资源管理
- 1.6.1 创建Prefab
- 1.6.2 Unity资源包
- 1.6.3 管理Unity插件
- 1.7 读取资源和实例化
- 1.7.1 在脚本中创建一个Game Object
- 1.7.2 通过序列化方式引用资源
- 1.7.3 通过IO方式读取资源
- 1.8 保存工程
- 1.9 时间和动画
- 1.10 小结
- 第2章 太空射击游戏
- 2.1 游戏介绍
- 2.1.1 游戏操作
- 2.1.2 主角和敌人
- 2.1.3 游戏UI
- 2.2 导入美术资源
- 2.3 创建场景
- 2.3.1 创建火星背景和星空动画
- 2.3.2 设置摄像机和灯光
- 2.4 创建主角
- 2.4.1 创建脚本
- 2.4.2 控制飞船移动
- 2.4.3 创建子弹
- 2.4.4 创建子弹Prefab
- 2.4.5 发射子弹
- 2.5 创建敌人
- 2.6 物理碰撞
- 2.6.1 添加碰撞体
- 2.6.2 触发碰撞
- 2.7 高级敌人
- 2.7.1 创建敌人
- 2.7.2 发射子弹
- 2.8 声音与特效
- 2.9 敌人生成器
- 2.10 游戏UI和战斗管理
- 2.10.1 创建显示得分的UI界面
- 2.10.2 创建显示游戏失败的UI界面
- 2.10.3 编写脚本
- 2.11 关卡跳转
- 2.12 用鼠标控制主角
- 2.13 精确的碰撞检测
- 2.14 自动创建Prefab
- 2.15 发布游戏
- 2.16 使用PoolManager创建对象池
- 2.17 小结
- 第3章 第一人称射击游戏
- 3.1 策划
- 3.1.1 游戏介绍
- 3.1.2 UI界面
- 3.1.3 主角
- 3.1.4 敌人
- 3.2 游戏场景
- 3.3 主角
- 3.3.1 角色控制器
- 3.3.2 摄像机
- 3.3.3 武器
- 3.4 敌人
- 3.4.1 寻路
- 3.4.2 设置动画
- 3.4.3 行为
- 3.5 UI界面
- 3.6 交互
- 3.6.1 主角的射击
- 3.6.2 敌人的进攻与死亡
- 3.7 出生点
- 3.8 小地图
- 3.9 小结
- 第4章 塔防游戏
- 4.1 策划
- 4.1.1 场景
- 4.1.2 摄像机
- 4.1.3 胜负判定
- 4.1.4 敌人
- 4.1.5 防守单位
- 4.1.6 UI界面
- 4.2 地图编辑器
- 4.2.1 “格子”数据
- 4.2.2 在Inspector窗口添加自定义UI控件
- 4.2.3 创建一个自定义窗口
- 4.3 游戏场景
- 4.4 制作UI
- 4.5 创建游戏管理器
- 4.6 摄像机
- 4.7 路点
- 4.8 敌人
- 4.9 敌人生成器
- 4.9.1 创建敌人生成器
- 4.9.2 遍历敌人
- 4.10 防守单位
- 4.11 生命条
- 4.12 小结
- 第5章 2D游戏
- 5.1 Unity 2D系统简介
- 5.2 创建Sprite
- 5.2.1 使用SpriteEditor创建Sprite
- 5.2.2 使用SpritePacker创建Sprite
- 5.2.3 图层排序
- 5.2.4 Sprite边框和重复显示
- 5.3 动画制作
- 5.3.1 序列帧动画
- 5.3.2 使用脚本实现序列帧动画
- 5.3.3 骨骼动画
- 5.4 2D物理
- 5.5 捕鱼游戏
- 5.5.1 游戏玩法
- 5.5.2 准备2D资源
- 5.5.3 创建鱼
- 5.5.4 创建鱼群生成器
- 5.5.5 创建子弹和大炮
- 5.5.6 物理碰撞
- 5.6 2D材质
- 5.6.1 修改Sprite颜色
- 5.6.2 自定义的黑白效果材质
- 5.7 小结
- 第6章 与Web服务器的交互
- 6.1 Web服务器简介
- 6.2 在Windows上安装部署Apache
- 6.2.1 安装Apache
- 6.2.2 Apache常用命令
- 6.2.3 安装MySQL
- 6.2.4 安装PHP
- 6.2.5 安装Redis
- 6.3 PHP开发环境
- 6.3.1 第一个PHP程序
- 6.3.2 调试PHP代码
- 6.3.3 PHP基本语法
- 6.4 WWW基本应用
- 6.4.1 创建简单的UI界面
- 6.4.2 GET请求
- 6.4.3 POST请求
- 6.4.4 上传下载图片
- 6.4.5 下载声音文件
- 6.5 分数排行榜
- 6.5.1 创建数据库
- 6.5.2 创建PHP脚本
- 6.5.3 上传下载分数
- 6.5.4 使用Redis缓存数据
- 6.6 MD5验证
- 6.7 小结
- 第7章 TCP UDP实例
- 7.1 网络开发简介
- 7.2 简单的网络通信程序
- 7.2.1 简单的TCP程序
- 7.2.2 简单的UDP程序
- 7.3 异步TCP网络通信
- 7.3.1 创建数据包对象
- 7.3.2 逻辑处理
- 7.3.3 核心TCP网络功能
- 7.3.4 创建聊天协议
- 7.4 Unity聊天客户端
- 7.5 聊天服务器端
- 7.6 JSON.NET简介
- 7.7 小结
- 第8章 HTML5(WebGL)游戏移植
- 8.1 关于HTML5和WebGL
- 8.2 导出Unity游戏到WebGL平台
- 8.2.1 导出WebGL游戏
- 8.2.2 设置WebGL模板
- 8.2.3 默认的index.html
- 8.2.4 文件访问
- 8.3 自定义Loading页面
- 8.4 编写WebGL游戏插件
- 8.4.1 访问JavaScript示例一
- 8.4.2 访问JavaScript示例二
- 8.5 在网页上保存游戏记录
- 8.6 小结
- 第9章 iOS游戏移植
- 9.1 iOS简介
- 9.2 软件安装
- 9.3 申请开发权限
- 9.4 设置iOS开发环境
- 9.5 测试iOS游戏
- 9.6 发布iOS游戏
- 9.7 对接iOS原生语言
- 9.7.1 在Xcode中创建Objectiv-C代码
- 9.7.2 在Unity中引用Objectiv-C代码
- 9.8 内消费
- 9.9 本地存储位置
- 9.10 使用命令行编译Xcode工程
- 9.10.1 编译Xcode工程
- 9.10.2 打包.ipa文件
- 9.11 小结
- 第10章 Android游戏移植
- 10.1 Android简介
- 10.2 安装Android SDK
- 10.3 运行Android游戏
- 10.3.1 准备测试环境
- 10.3.2 设置Android游戏工程
- 10.3.3 测试Android游戏
- 10.3.4 发布Android游戏
- 10.3.5 Obb数据包
- 10.4 使用Android Studio
- 10.4.1 Android Studio简介
- 10.4.2 配置Android Studio
- 10.4.3 创建Hello world程序
- 10.5 从Unity到Android Studio
- 10.5.1 创建Unity工程
- 10.5.2 创建Android Studio工程
- 10.5.3 查看Log
- 10.5.4 发布程序
- 10.6 使用脚本编译游戏
- 10.6.1 在Unity中使用脚本导出Android工程
- 10.6.2 使用Python脚本访问Unity命令行
- 10.6.3 使用命令行编译Android Studio工程
- 10.7 获得签名证书的sha1值
- 10.8 导入库文件
- 10.9 Plugins目录
- 10.10 代码混淆
- 10.11 百度地图实例
- 10.11.1 导入百度地图SDK
- 10.11.2 实现百度地图控件
- 10.12 触屏操作
- 10.13 AssetBundle
- 10.13.1 创建AssetBundle资源
- 10.13.2 下载、实例化AssetBundle资源
- 10.13.3 批量创建AssetBundle
- 10.14 小结
- 第11章 Unity新GUI完全攻略
- 11.1 Unity的GUI系统
- 11.2 Canvas(画布)
- 11.2.1 创建Canvas
- 11.2.2 设置Canvas
- 11.2.3 Canvas的屏幕适应模式
- 11.2.4 Canvas层级内UI控件的排序
- 11.2.5 Canvas的隐藏和显示
- 11.2.6 查找UI层级下的子控件
- 11.3 UI坐标对齐方式
- 11.4 Text(文字)
- 11.5 自定义字体
- 11.5.1 创建字体贴图
- 11.5.2 创建Shader
- 11.6 Image(图像)
- 11.6.1 创建Image控件
- 11.6.2 设置Alpha
- 11.6.3 设置Raycast Target
- 11.6.4 设置UI图像为Sliced类型
- 11.6.5 设置UI图像为Tiled类型
- 11.6.6 设置UI图像为Filled类型
- 11.6.7 Mask(蒙版)
- 11.7 Button(按钮)控件
- 11.7.1 创建按钮
- 11.7.2 设置按钮状态变化
- 11.7.3 在编辑器中设置按钮触发事件
- 11.7.4 在脚本中定义按钮单击事件
- 11.7.5 判断按压按钮事件
- 11.8 Toggle(开关)控件
- 11.8.1 创建Toggle控件
- 11.8.2 Toggle组
- 11.8.3 Toggle控件的脚本
- 11.9 Raw Image控件
- 11.10 Slider(滑块)控件
- 11.10.1 创建Slider控件
- 11.10.2 改变滑块大小
- 11.10.3 使用脚本控制滑块
- 11.11 Input Field(文本输入)控件
- 11.12 Scroll View(卷轴视图)控件
- 11.13 Dropdown(下拉列表)控件
- 11.14 实用UI功能
- 11.14.1 判断是否单击了UI
- 11.14.2 拖动UI控件方法1
- 11.14.3 拖动UI控件方法2
- 11.14.4 在UI前面显示粒子特效
- 11.15 使用插件DOTween制作动画
- 11.15.1 在编辑器中设置DOTween动画
- 11.15.2 在脚本中设置DOTween动画
- 11.16 使用插件EnhancedScroller优化卷轴视图
- 11.16.1 创建数据模型
- 11.16.2 创建UI视图控制脚本
- 11.16.3 创建控制器
- 11.16.4 创建卷轴视图UI
- 11.17 小结
- 第12章 游戏开发中的美术工作流程
- 12.1 Unity和艺术家
- 12.2 视图操作捕捉
- 12.3 光照和渲染系统
- 12.3.1 光源类型
- 12.3.2 渲染管道
- 12.3.3 质量设置
- 12.3.4 实时阴影
- 12.3.5 环境光
- 12.3.6 Fog(雾)
- 12.3.7 直接照明与间接照明
- 12.3.8 Lightmapping(光照贴图)
- 12.3.9 环境反射采样
- 12.3.10 光照采样
- 12.4 色彩空间
- 12.5 物理材质
- 12.6 摄像机
- 12.7 地形
- 12.8 粒子特效
- 12.9 物理设置
- 12.10 游戏资源
- 12.10.1 贴图
- 12.10.2 在3ds Max中创建法线贴图
- 12.10.3 3ds Max静态模型导出
- 12.10.4 3ds Max动画导出
- 12.10.5 Maya模型导出
- 12.11 Unity两足动画系统
- 12.11.1 修改3ds Max两足动画骨骼
- 12.11.2 导入3ds Max两足角色到Unity
- 12.11.3 导入角色动画到Unity
- 12.11.4 表情动画
- 12.11.5 动画控制器
- 12.12 动画插件Skele
- 12.13 电影片段制作
- 12.14 美术资源的优化
- 12.15 小结
- 第13章 Behavior Designer——行为树AI
- 13.1 行为树和AI
- 13.1.1 行为树插件的安装
- 13.1.2 简单的AI处理方式
- 13.1.3 状态机AI处理方式
- 13.1.4 Behavior Designer的行为树AI处理方式
- 13.2 行为树任务
- 13.2.1 任务返回值
- 13.2.2 Action(动作)
- 13.2.3 Composite(组合)
- 13.2.4 Conditional(条件)
- 13.2.5 Decorator(修饰)
- 13.3 行为树实例
- 13.3.1 主角的行为树
- 13.3.2 游荡的敌人
- 13.3.3 行为树的交互
- 13.4 行为树系统扩展
- 13.4.1 外部行为树
- 13.4.2 自定义任务
- 13.4.3 自定义共享数据类型
- 13.4.4 在脚本中设置行为树
- 13.4.5 在脚本中发送事件
- 13.5 优化
- 13.6 小结
- 第14章 玩转PlayMaker
- 14.1 关于PlayMaker
- 14.1.1 优点和缺点
- 14.1.2 安装
- 14.2 PlayMaker的模块和工作机制
- 14.2.1 有限状态机
- 14.2.2 创建PlayMaker状态机
- 14.2.3 State(状态)
- 14.2.4 Event(事件)
- 14.2.5 Action(动作)
- 14.2.6 变量
- 14.2.7 发送事件
- 14.3 自定义Action
- 14.4 小结
- 第15章 VR虚拟现实开发
- 15.1 VR简介
- 15.2 设置HTC Vive开发环境
- 15.3 VR操作示例
- 15.3.1 创建VR场景
- 15.3.2 手柄控制器
- 15.4 小结
- 第16章 AR增强现实开发
- 16.1 AR和Vuforia
- 16.2 创建Vuforia工程
- 16.3 准备AR参考目标
- 16.4 设置AR参考目标
- 16.5 小结
- 第17章 Shader编程与后期特效
- 17.1 Shader简介
- 17.2 渲染管线
- 17.3 ShaderLab语言
- 17.4 CG语言简介
- 17.5 Vertex and Fragment Shader示例
- 17.5.1 显示纹理和色彩
- 17.5.2 使用通道表现多个纹理
- 17.5.3 添加基本光照
- 17.5.4 UV动画效果
- 17.5.5 黑白效果
- 17.5.6 简单描边效果
- 17.5.7 Alpha透明效果
- 17.6 屏幕特效示例
- 17.7 后期特效
- 17.8 小结
- 第18章 动态编程和Lua
- 18.1 动态语言简介
- 18.2 动态读取程序集实现热更新
- 18.2.1 创建.dll文件
- 18.2.2 测试热更新.dll文件
- 18.2.3 通过反射访问.dll文件
- 18.3 Lua语言快速教程
- 18.3.1 MoonSharp和Lua开发环境的安装
- 18.3.2 Lua提供的类型
- 18.3.3 Lua的判断和循环语句
- 18.3.4 Lua的函数
- 18.3.5 Lua的IO操作
- 18.3.6 Lua的数组操作
- 18.3.7 Lua的字符串操作
- 18.3.8 Lua的协程
- 18.4 Lua与Unity的交互
- 18.4.1 在Unity中读取Lua代码
- 18.4.2 将Unity功能导入到Lua中
- 18.5 Lua脚本的热更新
- 18.6 小结
- 附录A C#语言
- A.1 C#基础
- A.1.1 C#简介
- A.1.2 运行控制台程序
- A.1.3 类型
- A.1.4 内置类型
- A.1.5 标识符
- A.1.6 语句和表达式
- A.1.7 变量和常量
- A.1.8 枚举
- A.1.9 数学操作符
- A.1.10 关系操作符
- A.1.11 逻辑操作符
- A.1.12 操作符优先级
- A.1.13 方法
- A.1.14 递归
- A.1.15 条件分支语句
- A.1.16 循环语句
- A.1.17 三元操作符
- A.1.18 预处理
- A.2 面向对象编程
- A.2.1 类
- A.2.2 this关键字
- A.2.3 封装
- A.2.4 继承与多态
- A.2.5 静态成员
- A.2.6 异常处理
- A.3 字符串
- A.4 数组
- A.4.1 创建数组
- A.4.2 遍历数组和迭代器
- A.5 基本I/O操作
- A.5.1 写文件
- A.5.2 读文件
- A.5.3 删除文件
- A.5.4 二进制读写
- A.6 泛型
- A.6.1 实现泛型的基本语法
- A.6.2 List的常见操作
- A.6.3 List的排序
- A.7 委托
- A.7.1 委托
- A.7.2 Lambda表达式
- A.7.3 泛型委托
- A.7.4 Action和Func
- A.8 反射和特性
- A.8.1 反射
- A.8.2 特性
- A.9 小结
- 附录B 特殊文件夹
- 附录C Unity编辑器菜单中英文对照
展开全部
出版方
清华大学出版社
清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。