人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
微信扫描二维码,访问我们的微信店铺
你可以使用微信联系我们,随时随地的购物、客服咨询、查询订单和物流...

Unity 3D脚本编程与游戏开发

59.90
运费: ¥ 0.00-20.00
Unity 3D脚本编程与游戏开发  商品图0
Unity 3D脚本编程与游戏开发  商品缩略图0

商品详情

书名:Unity 3D脚本编程与游戏开发  
定价:79.9  
ISBN:9787115558756  
作者:马遥 沈琰  
版次:第1版  
出版时间:2021-05  

内容提要:  
本书以游戏开发为主要线索,全面讲解Unity 3D的编程技术,涵盖Unity 3D引擎的各个系统与模块。全书从帮助读者迅速建立脚本编程和游戏开发的框架思路开始讲起,逐步阐述Unity 3D游戏开发的核心概念,以及对游戏开发到关重要的物理系统和3D数学基础等技术基础。然后针对游戏中的界面、动画、特效与音频等Unity 3D各个常用模块的使用方法进行讲解,并详细介绍游戏开发中数据管理与资源管理相关的知识。随后通过潜入型游戏的完整案例将本书所讲知识融会贯通。*后,讲解游戏人工智能开发技术,以及对象池等*级编程技术,帮助读者提升应对实际工作的能力。 本书内容全面,讲解细致,适合游戏开发的初学者入门,也适合相关培训机构作为教材。  



作者简介:  
马遥,从高中时代起就与游戏开发结下不解之缘。平时喜欢研究动态语言和算法,擅长讲解复杂的算法和概念。曾在北京像素软件公司任职,开发大型网络游戏《寻仙》,创业时期主持过多款手游和HTML5游戏的开发,后专注于高性能游戏服务器设计。目前从事游戏开发教育工作,希望带领更多人走进游戏开发的世界。 曾编著图书《Unity 3D完全自学教程》(电子工业出版社),翻译图书《游戏AI开发实用指南》(机械工业出版社)。 沈琰,狂热的游戏玩家和独立游戏*发者,长期活跃于游戏开发论坛与社区。业余时间致力于学习和分享*秀的国外教程,翻译整理的长篇系列教程Hex Map获得游戏*发者广泛赞誉。 在游戏开发的实践中积累了不少精彩有趣的游戏Demo,他重新整理了一些*秀的实例,在本书中与读者分享。  

目录:  
第 1章 Unity脚本概览 9  
1.1 控制物体的运动 10  
1.1.1 新建脚本 10  
1.1.2 Start和Update事件 11  
1.1.3 修改物体位置 13  
1.1.4 读取和处理输入 14  
1.1.5 实例:实现一个移动的小球 15  
1.2 触发器事件 16  
1.2.1 创建触发器 16  
1.2.2 触发器事件函数 17  
1.2.3 实例:吃金币 18  
1.3 制作第 一个游戏:3D滚球跑酷 20  
1.3.1 游戏设计 20  
1.3.2 功能实现 21  
1.3.3 游戏机制 22  
1.3.4 完成和完善游戏 24  

第 2章 Unity基本概念与脚本编程 27  
2.1 Unity基本概念 28  
2.1.1 游戏物体和组件 28  
2.1.2 变换组件 31  
2.1.3 “父子关系”详解 33  
2.1.4 物体的标签和层 36  
2.1.5 常用组件 36  
2.2 用脚本获取物体和组件 38  
2.2.1 物体、组件和对象 38  
2.2.2 获取组件的方法 39  
2.2.3 获取物体的方法 40  
2.2.4 在物体和组件之间任意遨游 42  
2.2.5 利用公开变量引用物体和组件 46  
2.3 用脚本创建物体 49  
2.3.1 预制体 49  
2.3.2 创建物体 50  
2.3.3 创建组件 52  
2.3.4 销毁物体或组件 53  
2.3.5 定时创建和销毁物体 54  
2.4 脚本的生命周期 55  
2.4.1 理解脚本的生命周期 56  
2.4.2 常见的事件方法 56  
2.4.3 实例:跟随主角的摄像机 58  
2.4.4 触发器事件 59  
2.5 协程入门 61  
2.6 实例:3D射击游戏 63  
2.6.1 游戏总体设计 63  
2.6.2 游戏的实现要点 63  
2.6.3 创建主角 64  
2.6.4 调整摄像机 66  
2.6.5 实现武器系统和子弹 66  
2.6.6 实现敌人角色 71  
2.6.7 子弹击中的逻辑 73  
2.6.8 完善游戏 75  
2.6.9 测试和改进 76  

第3章 物理系统 77  
3.1 物理系统基本概念 78  
3.1.1 刚体 78  
3.1.2 休眠 78  
3.1.3 碰撞体 79  
3.1.4 物理材质 80  
3.1.5 触发器 80  
3.1.6 碰撞体的分类 81  
3.1.7 碰撞事件表 82  
3.1.8 层 83  
3.1.9 物理关节 83  
3.1.10 射线检测 84  
3.1.11 角色控制器与物理系统 84  
3.1.12 3D物理系统与2D物理系统 85  
3.2 物理系统脚本编程 86  
3.2.1 获取刚体组件 86  
3.2.2 施加作用力 86  
3.2.3 修改速度 87  
3.2.4 射线的使用方法 88  
3.2.5 层和层遮罩 90  
3.2.6 射线编程详解 90  
3.2.7 修改物理材质 93  
3.2.8 FixedUpdate详解 94  
3.2.9 修改角速度 96  
3.2.10 质心 96  
3.2.11 更多施加力的方式 97  
3.2.12 刚体约束 98  
3.3 实例:基于物理系统的2D平台闯关游戏 99  
3.3.1 游戏设计 99  
3.3.2 功能实现 99  
3.3.3 游戏机制 100  
3.3.4 完成和完善游戏 103  

第4章 游戏开发数学基础 107  
4.1 数学对游戏的重要性 108  
4.2 坐标系 109  
4.2.1 世界坐标系 109  
4.2.2 左手坐标系与右手坐标系 109  
4.2.3 局部坐标系 110  
4.2.4 屏幕坐标系 112  
4.3 向量 112  
4.3.1 向量加法 113  
4.3.2 向量减法 113  
4.3.3 向量的数乘 114  
4.3.4 向量的点积 114  
4.3.5 向量的叉积 115  
4.3.6 Vector3结构体 116  
4.3.7 位置与向量的关联 117  
4.3.8 向量坐标系的转换 118  
4.4 矩阵简介 119  
4.4.1 常用矩阵介绍 119  
4.4.2 齐次坐标 120  
4.5 四元数 120  
4.5.1 万向节锁定 120  
4.5.2 四元数的概念 121  
4.5.3 Quaternion结构体 122  
4.5.4 理解和运用四元数 123  
4.5.5 四元数的插值 125  
4.5.6 朝向与向量 125  
4.6 实例:第 一人称视角的角色控制器 127  
4.6.1 搭建简单场景 127  
4.6.2 创建主角物体 127  
4.6.3 编写控制脚本——移动部分 128  
4.6.4 编写控制脚本——旋转部分 129  
4.6.5 隐藏并锁定鼠标指针 131  
4.6.6 整理和完善 131  

第5章 脚本与UI系统 133  
5.1 用脚本操作常用UI控件 134  
5.1.1 创建游戏界面 134  
5.1.2 矩形变换(Rect Transform)组件 135  
5.1.3 图片(Image)组件 137  
5.1.4 文本(Text)组件 138  
5.1.5 按钮(Button)组件 139  
5.1.6 单选框(Toggle)组件 141  
5.1.7 滑动条(Slider)组件 142  
5.1.8 输入框(Input Field)组件 143  
5.1.9 滚动区域(Scroll Rect)组件 144  
5.2 脚本与事件系统 146  
5.2.1 常用输入事件 147  
5.2.2 常用输入事件的参数 150  
5.2.3 动态添加事件响应方法 151  
5.2.4 事件触发器(Event Trigger) 152  
5.2.5 动态绑定事件的*级技巧 153  
5.3 实例:界面制作与适配 155  
5.3.1 设置UI画布 156  
5.3.2 制作游戏界面的准备 159  
5.3.3 制作游戏界面 161  
5.3.4 制作背包界面 163  
5.3.5 利用进度条制作血条 164  

第6章 脚本与动画系统 165  
6.1 动画系统基本概念 166  
6.1.1 动画的基本概念 166  
6.1.2 动画融合 167  
6.1.3 动画状态机 168  
6.1.4 根骨骼动画 170  
6.2 2D动画实例分析 171  
6.2.1 准备工作 171  
6.2.2 角色与控制的制作步骤 173  
6.2.3 动画的制作步骤 175  
6.2.4 创建动画变量 176  
6.2.5 设置动画过渡 177  
6.2.6 用脚本修改动画变量 178  
6.2.7 脚本编程重点提示 179  
6.2.8 总结和拓展 180  
6.3 三维模型与动画的导入 181  
6.3.1 导入示例 181  
6.3.2 三维模型资源设置 181  
6.3.3 三维动画资源设置 183  
6.3.4 模型骨骼与动画骨骼的关系 185  
6.4 动画进阶技术实例分析 187  
6.4.1 动画融合树 187  
6.4.2 第三人称角色控制的脚本分析 189  
6.4.3 根骨骼动画的运用 193  
6.4.4 动画遮罩 195  
6.4.5 动画层 196  
6.4.6 动画帧事件 197  
6.4.7 反向动力学(IK) 198  

第7章 脚本与特效 201  
7.1 特效总览 202  
7.1.1 粒子 202  
7.1.2 动画 202  
7.1.3 动效 202  
7.1.4 贴花 203  
7.1.5 拖尾 203  
7.1.6 后期处理 203  
7.2 特效的使用方法 204  
7.2.1 各种特效的基本使用方法 204  
7.2.2 动效与缓动动画 208  
7.2.3 DOTween插件使用方法简介 209  
7.2.4 拖尾特效 214  
7.2.5 后期处理举例 216  

第8章 脚本与音频 219  
8.1 音频基础概念 220  
8.1.1 音源与音频侦听器 220  
8.1.2 音源组件详解 220  
8.2 脚本与音乐、音效 221  
8.2.1 用脚本控制音乐播放 222  
8.2.2 添加音效实例 223  
8.2.3 音频管理器 225  

第9章 脚本与资源管理 229  
9.1 工程与资源 230  
9.1.1 Unity项目的文件夹结构 230  
9.1.2 META文件 231  
9.1.3 动态加载和释放资源 232  
9.2 资产包与热更新 233  
9.2.1 资产包(Asset Bundles) 234  
9.2.2 资源的常用路径 236  
9.2.3 资产的依赖关系 237  
9.2.4 从网络加载资源 238  
9.2.5 热更新浅析 239  

第 10章 数据的保存与加载 243  
10.1 脚本与序列化 244  
10.1.1 序列化的概念 244  
10.1.2 简单存储PlayerPrefs 244  
10.2 脚本与JSON 246  
10.2.1 JSON简介 246  
10.2.2 安装LitJSON库 249  
10.2.3 读取JSON 252  
10.2.4 保存JSON 255  
10.2.5 在网络中使用JSON 257  
10.3 其他序列化方法 258  
10.3.1 C#的序列化库 258  
10.3.2 二进制序列化实例 259  
10.3.3 序列化与Unity编辑器的联系 261  

第 11章 脚本与游戏AI 263  
11.1 游戏AI综述 264  
11.1.1 游戏AI的特点 264  
11.1.2 常用AI技术 265  
11.1.3 AI的层次 265  
11.2 脚本与导航系统 266  
11.2.1 导航系统相关组件 266  
11.2.2 构建导航网格 266  
11.2.3 创建导航代理 268  
11.2.4 导航障碍物 270  
11.2.5 导航链接 272  
11.2.6 导航系统补充说明 273  
11.2.7 导航综合实例 274  
11.3 游戏AI的编程方法 277  
11.3.1 有限状态机的概念 277  
11.3.2 模拟AI视觉 280  
11.3.3 游戏AI实例 285  
11.3.4 扩展AI状态机 289  
11.3.5 其他AI编程技术 291  

第 12章 综合实例——秘密敢死队 293  
12.1 游戏设计 294  
12.1.1 潜行类游戏简介 294  
12.1.2 游戏总体设计 294  
12.2 素材导入和场景搭建 295  
12.2.1 下载并导入素材 295  
12.2.2 布置场景 295  
12.3 游戏主角的制作 296  
12.3.1 创建角色 296  
12.3.2 创建动画 296  
12.3.3 实现角色移动 297  
12.3.4 切换武器和道具 301  
12.3.5 添加武器挂点 302  
12.3.6 实现武器和道具的基本功能 303  
12.3.7 武器和道具的控制 308  
12.3.8 完善主角动画 311  
12.3.9 完善主角游戏逻辑 312  
12.3.10 实现抛物线指示器 312  
12.4 敌人角色的制作 314  
12.4.1 创建敌人角色和动画 314  
12.4.2 敌人角色脚本框架 315  
12.4.3 实现巡逻逻辑 319  
12.4.4 实现视觉感知 320  
12.4.5 实现追击功能 322  
12.4.6 实现攻击功能 323  
12.4.7 组合并实现完整的AI角色 324  
12.4.8 敌人的参数设置 326  
12.5 搭建关卡并完善游戏 327  
12.5.1 关卡设计的示例 327  
12.5.2 添加成功和失败的逻辑 328  

第 13章 进阶编程技术 329  
13.1 对象池 330  
13.1.1 为什么要使用对象池 330  
13.1.2 简易对象池实例 330  
13.1.3 对象池测试方法 332  
13.1.4 性能分析器 334  
13.1.5 支持多种物体的对象池 335  
13.2 Unity协程详解 339  
13.2.1 熟悉而陌生的协程 339  
13.2.2 迭代器 340  
13.2.3 协程的延时执行原理 341  
13.2.4 协程与递归 344  
13.3 Unity事件详解 346  
13.3.1 Unity事件实例 346  
13.3.2 Unity事件的多参数形式 348  
13.3.3 Unity事件与委托 350  


人民邮电出版社有限公司店铺主页二维码
人民邮电出版社有限公司 微信公众号认证
人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
扫描二维码,访问我们的微信店铺
随时随地的购物、客服咨询、查询订单和物流...

Unity 3D脚本编程与游戏开发

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

打开微信,扫一扫

或搜索微信号:renyoushe
人民邮电出版社官方微信公众号

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏