展开全部

主编推荐语

本书涵盖了Unity 3D实际应用中的各类功能,全方面讲解了其运行原理。

内容简介

Unity是一款市场占有率非常高的商业游戏引擎,横跨25个主流游戏平台。本书基于Unity 2018,结合2D游戏开发和3D游戏开发的案例,详细介绍了它的方方面面,内容涉及编辑器、游戏脚本、UGUI 游戏界面、动画系统、持久化数据、静态对象、多媒体、资源加载与优化、自动化与打包等。

目录

  • 版权信息
  • 序一
  • 序二
  • 推荐语
  • 前言
  • 第1章 基础知识
  • 1.1 Unity简介
  • 1.2 跨平台与多工种协作
  • 1.3 Unity版本
  • 1.4 Unity内置资源或拓展资源
  • 1.5 示例项目打包与发布
  • 1.6 Unity服务
  • 1.7 小结
  • 第2章 编辑器的结构
  • 2.1 游戏项目
  • 2.1.1 创建项目
  • 2.1.2 打开项目
  • 2.1.3 版本管理
  • 2.1.4 安装多个版本的Unity
  • 2.2 Project视图
  • 2.2.1 创建资源
  • 2.2.2 搜索资源
  • 2.2.3 搜索标签
  • 2.3 Hierarchy视图
  • 2.3.1 创建游戏对象
  • 2.3.2 搜索游戏对象
  • 2.4 Inspector视图
  • 2.4.1 标题栏
  • 2.4.2 组件栏
  • 2.5 Scene视图
  • 2.5.1 导航栏
  • 2.5.2 标题栏
  • 2.5.3 坐标系控制器
  • 2.5.4 视图预览
  • 2.6 Game视图
  • 2.6.1 标题栏
  • 2.6.2 视图预览
  • 2.7 导航栏视图
  • 2.8 其他功能
  • 2.8.1 小锁头
  • 2.8.2 窗口菜单
  • 2.8.3 保存组件参数
  • 2.8.4 Package Manager
  • 2.9 小结
  • 第3章 拓展编辑器
  • 3.1 拓展Project视图
  • 3.1.1 拓展右键菜单
  • 3.1.2 创建菜单
  • 3.1.3 拓展布局
  • 3.1.4 监听事件
  • 3.2 拓展Hierarchy视图
  • 3.2.1 拓展菜单
  • 3.2.2 拓展布局
  • 3.2.3 重写菜单
  • 3.3 拓展Inspector视图
  • 3.3.1 拓展源生组件
  • 3.3.2 拓展继承组件
  • 3.3.3 组件不可编辑
  • 3.3.4 Context菜单
  • 3.4 拓展Scene视图
  • 3.4.1 辅助元素
  • 3.4.2 辅助UI
  • 3.4.3 常驻辅助UI
  • 3.4.4 禁用选中对象
  • 3.5 拓展Game视图
  • 3.6 MenuItem菜单
  • 3.6.1 覆盖系统菜单
  • 3.6.2 自定义菜单
  • 3.6.3 源生自定义菜单
  • 3.6.4 拓展全局自定义快捷键
  • 3.7 面板拓展
  • 3.7.1 Inspector面板
  • 3.7.2 EditorWindows窗口
  • 3.7.3 EditorWindows下拉菜单
  • 3.7.4 预览窗口
  • 3.7.5 获取预览信息
  • 3.8 Unity编辑器的源码
  • 3.8.1 查看DLL
  • 3.8.2 清空控制台日志
  • 3.8.3 获取EditorStyles样式
  • 3.8.4 获取内置图标样式
  • 3.8.5 拓展默认面板
  • 3.8.6 例子:查找ManagedStaticReferences()静态引用
  • 3.8.7 UIElements
  • 3.8.8 查询系统窗口
  • 3.8.9 自定义资源导入类型
  • 3.9 小结
  • 第4章 游戏脚本
  • 4.1 创建脚本
  • 4.1.1 脚本模板
  • 4.1.2 拓展脚本模板
  • 4.2 脚本的生命周期
  • 4.2.1 脚本绑定事件
  • 4.2.2 脚本初始化和销毁
  • 4.2.3 脚本更新与协程任务
  • 4.2.4 停止协程任务
  • 4.2.5 使用OnGUI显示FPS
  • 4.3 多脚本管理
  • 4.3.1 脚本的执行顺序
  • 4.3.2 多脚本优化
  • 4.4 脚本序列化
  • 4.4.1 查看数据
  • 4.4.2 私有序列化数据
  • 4.4.3 serializedObject
  • 4.4.4 监听部分元素修改事件
  • 4.4.5 序列化/反序列化监听
  • 4.4.6 ScriptableObject
  • 4.4.7 脚本的Attributes特性
  • 4.4.8 单例脚本
  • 4.4.9 定时器
  • 4.4.10 CustomYieldInstruction
  • 4.4.11 工作线程
  • 4.5 脚本编译
  • 4.5.1 编译规则
  • 4.5.2 优化编译
  • 4.5.3 编译DLL
  • 4.5.4 脚本跨平台
  • 4.5.5 程序集定义
  • 4.5.6 日志
  • 4.6 脚本调试
  • 4.7 小结
  • 第5章 UGUI游戏界面
  • 5.1 基础元素
  • 5.1.1 Text
  • 5.1.2 描边和阴影
  • 5.1.3 动态字体
  • 5.1.4 字体花屏
  • 5.1.5 Image组件
  • 5.1.6 Raw Image组件
  • 5.1.7 Button组件
  • 5.1.8 Toggle组件
  • 5.1.9 Slider组件
  • 5.1.10 Scrollbar & ScrollView组件
  • 5.1.11 使用ScrollRect组件制作游戏摇杆
  • 5.2 事件系统
  • 5.2.1 UI事件
  • 5.2.2 UI事件管理
  • 5.2.3 UnityAction和UnityEvent
  • 5.2.4 RaycastTarget优化
  • 5.2.5 渗透UI事件
  • 5.2.6 例子——新手引导聚合动画
  • 5.3 Canvas组件
  • 5.3.1 自适应屏幕
  • 5.3.2 锚点对齐方式
  • 5.3.3 背景图全屏
  • 5.3.4 布局组件
  • 5.3.5 Canvas优化
  • 5.4 Atlas
  • 5.4.1 创建Atlas
  • 5.4.2 读取Atlas
  • 5.4.3 Variant
  • 5.4.4 多图集管理
  • 5.5 UGUI实例
  • 5.5.1 置灰
  • 5.5.2 粒子特效与UI的排序
  • 5.5.3 Mask & RectMask2D裁切
  • 5.5.4 粒子的裁切
  • 5.5.5 粒子自适应
  • 5.5.6 滑动列表嵌套
  • 5.5.7 UI模板嵌套
  • 5.5.8 UI特效与界面分离
  • 5.5.9 输入事件
  • 5.5.10 按钮不规则点击区域
  • 5.5.11 更换默认Shader
  • 5.5.12 小地图优化
  • 5.5.13 查看UGUI源码
  • 5.6 小结
  • 第6章 2D游戏开发
  • 6.1 Sprite
  • 6.1.1 2D摄像机与分辨率自适应
  • 6.1.2 Sprite Renderer排序
  • 6.1.3 裁切
  • 6.2 Sprite动画
  • 6.2.1 创建2D动画
  • 6.2.2 2D动画控制器
  • 6.3 Tile地图
  • 6.3.1 创建Tile
  • 6.3.2 Tile Palette
  • 6.3.3 编辑Tile
  • 6.3.4 多Tile编辑与排序
  • 6.3.5 拓展Tile Palette
  • 6.3.6 拓展Tile
  • 6.3.7 更新Tile
  • 6.4 2D碰撞检测
  • 6.4.1 Collider 2D
  • 6.4.2 Rigidbody 2D
  • 6.4.3 碰撞事件
  • 6.4.4 碰撞方向
  • 6.4.5 触发器监听
  • 6.4.6 Effectors 2D
  • 6.4.7 优化
  • 6.4.8 计算区域
  • 6.5 小结
  • 第7章 动画系统
  • 7.1 模型
  • 7.1.1 Mesh Filter
  • 7.1.2 Mesh Renderer
  • 7.1.3 Prefab
  • 7.2 动画编辑器
  • 7.2.1 编辑器面板
  • 7.2.2 在编辑器中添加事件
  • 7.3 导入类动画
  • 7.3.1 人形重定向动画
  • 7.3.2 通用动画
  • 7.3.3 老版动画
  • 7.3.4 导入类动画事件
  • 7.4 动画控制器
  • 7.4.1 系统状态
  • 7.4.2 切换条件
  • 7.4.3 状态机脚本
  • 7.4.4 IK动画
  • 7.4.5 Root Motion
  • 7.4.6 Avatar Mask
  • 7.4.7 层
  • 7.4.8 Blend Tree
  • 7.4.9 非运行播放动画
  • 7.4.10 Animator Override Controller
  • 7.4.11 RuntimeAnimatorController
  • 7.5 TimeLine编辑器
  • 7.5.1 创建Timeline
  • 7.5.2 Activation Track
  • 7.5.3 Animation Track
  • 7.5.4 Audio Track
  • 7.5.5 Control Track
  • 7.5.6 Playable Track
  • 7.5.7 自定义 Track
  • 7.6 Playables
  • 7.6.1 播放动画
  • 7.6.2 动画混合
  • 7.6.3 音频混合
  • 7.6.4 自定义脚本
  • 7.7 Constraint
  • 7.7.1 Aim Constraint
  • 7.7.2 Parent Constraint
  • 7.7.3 脚本控制约束
  • 7.8 小结
  • 第8章 持久化数据
  • 8.1 Excel
  • 8.1.1 EPPlus
  • 8.1.2 读取Excel
  • 8.1.3 写入Excel
  • 8.1.4 JSON
  • 8.1.5 JSON支持字典
  • 8.2 文件读取与写入
  • 8.2.1 PlayerPrefs
  • 8.2.2 EditorPrefs
  • 8.2.3 PlayerPrefs保存复杂结构
  • 8.2.4 TextAsset
  • 8.2.5 读写文本
  • 8.2.6 运行期读写文本
  • 8.2.7 PersistentDataPath目录
  • 8.2.8 游戏存档
  • 8.3 XML
  • 8.3.1 创建XML
  • 8.3.2 读取与修改
  • 8.3.3 XML文件
  • 8.4 YAML
  • 8.4.1 YamlDotNet
  • 8.4.2 序列化和反序列化
  • 8.4.3 读取配置
  • 8.5 小结
  • 第9章 静态对象
  • 9.1 Lightmap
  • 9.1.1 设置烘焙贴图
  • 9.1.2 实时光和焙贴光共存
  • 9.1.3 灯光管理
  • 9.1.4 运行时更换烘焙贴图
  • 9.1.5 动态更换游戏对象
  • 9.1.6 复制游戏对象
  • 9.2 遮挡剔除
  • 9.2.1 遮挡与被遮挡
  • 9.2.2 遮挡与被遮挡事件
  • 9.2.3 动态剔除
  • 9.2.4 自定义遮挡剔除
  • 9.3 Batching(静态合批)
  • 9.3.1 设置静态合批
  • 9.3.2 脚本静态合批
  • 9.3.3 动态合批
  • 9.3.4 静态合批的隐患
  • 9.4 寻路网格
  • 9.4.1 设置寻路
  • 9.4.2 连接两点
  • 9.4.3 获取寻路路径
  • 9.4.4 动态阻挡
  • 9.4.5 导出寻路网格信息
  • 9.5 反射探头
  • 9.6 小结
  • 第10章 多媒体
  • 10.1 音频
  • 10.1.1 音频文件
  • 10.1.2 Audio Source
  • 10.1.3 3D音频
  • 10.1.4 代码控制播放
  • 10.1.5 混音区
  • 10.1.6 Audio Mixer
  • 10.1.7 录音
  • 10.1.8 声音进度
  • 10.2 视频
  • 10.2.1 视频文件
  • 10.2.2 视频渲染模式
  • 10.2.3 视频自适应
  • 10.2.4 UI盖在视频之上
  • 10.2.5 视频渲染在材质上
  • 10.2.6 视频Render Texture
  • 10.2.7 播放工程外视频
  • 10.2.8 自定义视频显示
  • 10.2.9 视频进度
  • 10.3 小结
  • 第11章 资源加载与优化
  • 11.1 编辑模式
  • 11.1.1 加载资源
  • 11.1.2 实例化Prefab
  • 11.1.3 创建Prefab
  • 11.1.4 更新Prefab
  • 11.1.5 卸载资源
  • 11.1.6 游戏对象与资源的关系
  • 11.2 版本管理
  • 11.2.1 .meta文件
  • 11.2.2 多工程
  • 11.2.3 同步文件
  • 11.2.4 SVN外链
  • 11.3 运行模式
  • 11.3.1 引用资源
  • 11.3.2 Resources
  • 11.3.3 删除对象
  • 11.3.4 删除资源
  • 11.3.5 GC
  • 11.4 AssetBundle
  • 11.4.1 设置AssetBundle
  • 11.4.2 依赖关系
  • 11.4.3 通过脚本设置依赖关系
  • 11.4.4 压缩格式
  • 11.4.5 加载包体内的AssetBundle
  • 11.4.6 下载AssetBundle
  • 11.4.7 加载场景
  • 11.4.8 卸载AssetBundle
  • 11.5 游戏对象
  • 11.5.1 创建游戏对象
  • 11.5.2 Transform设置排序
  • 11.5.3 删除节点
  • 11.5.4 获取游戏对象
  • 11.5.5 管理游戏组件
  • 11.6 优化工具
  • 11.6.1 重复无用资源
  • 11.6.2 查看内存
  • 11.6.3 查看CPU效率
  • 11.6.4 自定义观察区间
  • 11.6.5 Profiler信息的导出与导入
  • 11.6.6 Frame Debugger
  • 11.7 资源管理实例
  • 11.7.1 特殊内置的文件夹
  • 11.7.2 隐藏文件夹
  • 11.7.3 Resources与AssetBundle无缝切换
  • 11.7.4 资源加载策略
  • 11.7.5 资源更新
  • 11.7.6 资源引用关系
  • 11.7.7 系统资源修改
  • 11.7.8 AssetBundle里的脚本
  • 11.7.9 热更新代码
  • 11.8 小结
  • 第12章 自动化与打包
  • 12.1 资源导入
  • 12.1.1 监听导入事件
  • 12.1.2 自动设置贴图压缩格式
  • 12.1.3 自动设置模型
  • 12.1.4 禁止模型生成材质文件
  • 12.1.5 删除移动资源事件
  • 12.1.6 选择性自动设置
  • 12.1.7 主动设置
  • 12.1.8 待保存状态
  • 12.1.9 自动执行MenuItem
  • 12.2 配置错误
  • 12.2.1 主动检查工具
  • 12.2.2 被动检查工具
  • 12.2.3 导出类检查工具
  • 12.2.4 导出UI
  • 12.2.5 生成UI代码
  • 12.2.6 导出模型
  • 12.2.7 不参与保存对象
  • 12.2.8 导出场景
  • 12.2.9 过滤无用场景
  • 12.3 自动打包
  • 12.3.1 打包前后事件
  • 12.3.2 打包后自动压缩
  • 12.3.3 用C# 调用shell脚本
  • 12.3.4 等待shell结束
  • 12.3.5 shell脚本调用C
  • 12.3.6 shell脚本自动打包
  • 12.3.7 彻底解放程序员的双手
  • 12.4 自动构建图集与压缩
  • 12.4.1 UI图集的压缩
  • 12.4.2 非UI图集压缩
  • 12.5 小结
  • 第13章 3D游戏开发
  • 13.1 Shader
  • 13.1.1 固定渲染管线
  • 13.1.2 可编程渲染管线
  • 13.1.3 可编程渲染管线的表面着色器
  • 13.1.4 深度排序
  • 13.1.5 透明
  • 13.1.6 裁切
  • 13.1.7 着色器变体采集
  • 13.2 摄像机
  • 13.2.1 3D坐标转换屏幕坐标
  • 13.2.2 3D坐标转换UI坐标
  • 13.2.3 主摄像机
  • 13.2.4 在UI上显示模型
  • 13.2.5 Render Texture
  • 13.2.6 在Render Texture上显示带特效的模型
  • 13.2.7 LOD Group
  • 13.3 场景管理
  • 13.3.1 切换场景
  • 13.3.2 DontDestroyOnLoad
  • 13.3.3 异步加载场景以及进度
  • 13.3.4 多场景
  • 13.3.5 多场景游戏对象管理
  • 13.3.6 场景切换事件
  • 13.3.7 多场景烘焙
  • 13.4 输入事件
  • 13.4.1 全局事件
  • 13.4.2 射线
  • 13.4.3 点选3D模型
  • 13.4.4 通过点击控制人物移动
  • 13.5 物理碰撞
  • 13.5.1 碰撞器
  • 13.5.2 角色控制器
  • 13.5.3 碰撞区域
  • 13.5.4 碰撞检测
  • 13.5.5 碰撞触发器
  • 13.5.6 物理调试器
  • 13.6 实战技巧
  • 13.6.1 3D头顶文字
  • 13.6.2 图文混排
  • 13.6.3 图片数字
  • 13.6.4 游戏对象缓存池
  • 13.6.5 游戏资源缓存池
  • 13.6.6 运行时合并网格
  • 13.6.7 运行时合并贴图
  • 13.7 小结
  • 作者简介
展开全部

评分及书评

评分不足
1个评分

出版方

人民邮电出版社

人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。