展开全部

主编推荐语

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月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。