封面图
目录
- 关于作者
- 前言
- 致谢
- 第一部分写在最开始
- 第1章Unity引擎概述2
- 1.1了解Unity界面2
- 1.1.1项目视图3
- 1.1.2层级视图6
- 1.1.3审查器7
- 1.1.4工具栏8
- 1.1.5场景视图9
- 1.1.6游戏视图16
- 1.1.7动画和动画器视图19
- 1.1.8分析器和版本控制19
- 1.1.9自定义编辑器20
- 1.2Unity的基础概念20
- 1.3Unity可用的授权21
- 第2章你的第一个游戏:从哪里开始23
- 2.1基础设计理论23
- 2.2找到核心想法26
- 2.2.1头脑风暴26
- 2.2.2研究其他游戏27
- 2.2.3纸上原型:这并不是商业软件独有的28
- 2.3制订计划29
- 2.3.1基础大纲29
- 2.3.2一个简单的层级文档31
- 2.4开始32
- 第二部分准备游戏资源
- 第3章设置舞台地形36
- 3.1Unity的地形引擎36
- 3.2自定义地形40
- 3.2.1使用高度图来创建高度40
- 3.2.2用画笔绘制高度41
- 3.2.3绘制纹理44
- 3.2.4摆放树木47
- 3.2.5用草和细节网格把它弄乱一点50
- 3.2.6地形设置54
- 3.3光照和阴影55
- 3.4添加天空盒和距离雾57
- 3.5给地形添加水57
- 第4章创建你的环境:导入基础自定义资源59
- 4.1先设计再创建59
- 4.1.1导入纹理60
- 4.1.2更多关于导入61
- 4.1.3支持的格式64
- 4.2给Widget的地形导入纹理64
- 4.3导入基础网格70
- 4.4设置简单着色器和材料73
- 4.4.1Unity提供的着色器73
- 4.4.2凸凹、高光、立方和细节75
- 4.4.3指定着色器和材料77
- 4.4.4制作自定义天空盒材料81
- 4.4.5添加水81
- 4.5使用资源小贴士83
- 4.5.1预制件83
- 4.5.2多选和组织分组84
- 4.5.3对齐网格85
- 4.5.4返修地形85
- 第5章创建角色87
- 5.1基础游戏角色10187
- 5.2Unity中的角色能力88
- 5.3导入角色和其他非静态网格88
- 第三部分通过交互给你的道具赋予生命
- 第6章Unity脚本98
- 6.1一个编辑器、三种语言、许多选择98
- 6.2选择一个脚本编辑器——或者“你是否需要自动补全?”100
- 6.3Unity脚本基础101
- 6.3.1两个有用的东西102
- 6.3.2变量102
- 6.3.3运算符和比较运算符111
- 6.3.4条件语句114
- 6.3.5循环117
- 6.3.6函数118
- 6.3.7变量作用域120
- 6.3.8命名约定121
- 第7章编写角色和状态控制器脚本122
- 7.1开始和布局122
- 7.2简单的第三人称控制器123
- 7.2.1控制器变量124
- 7.2.2Unity的MonoBehaviour类125
- 7.2.3设置Unity的输入管理器130
- 7.2.4连接镜头134
- 7.2.5更新角色控制器141
- 7.3完整的脚本142
- 第8章连接动画148
- 8.1Unity中的动画148
- 8.2动画API148
- 8.2.1Mecanim动画系统149
- 8.2.2Animation类149
- 8.3设置玩家角色的动画151
- 8.3.1定义清楚问题151
- 8.3.2更新控制器151
- 8.3.3创建动画状态管理器152
- 8.4在Unity中创建动画156
- 8.4.1一些基础概念156
- 8.4.2动画视图156
- 8.4.3设置一个新的动画剪辑157
- 8.4.4连接动画161
- 8.4.5添加动画事件162
- 8.5完整脚本163
- 第9章使用触发器和创建环境交互168
- 9.1触发器和碰撞器168
- 9.1.1设置一个基础触发器对象169
- 9.1.2设置其他类型的触发器175
- 9.2完整脚本179
- 第10章创建敌人和人工智能184
- 10.1人工智能:主要是人工,其实没多少智能184
- 10.1.1一些简单的AI指南185
- 10.1.2简单的工作流程186
- 10.2设置一个简单的敌人186
- 10.2.1AI控制器188
- 10.2.2兔子的简单状态管理器193
- 10.3绑定Widget的攻击194
- 10.4获胜之后给玩家一些奖励196
- 10.5繁衍和优化197
- 10.6完整脚本199
- 第11章设计游戏的GUI205
- 11.1基础界面理论205
- 11.1.1交互的步骤205
- 11.1.2为用户而设计206
- 11.2Unity的GUI系统207
- 11.2.1按钮208
- 11.2.2滑块208
- 11.2.3标签和块209
- 11.2.4文本输入209
- 11.2.5开关210
- 11.2.6工具栏和选择网格210
- 11.2.7窗口210
- 11.3Widget的自定义皮肤212
- 11.3.1创建GUISkin212
- 11.3.2定义自定义样式213
- 11.3.3导入新字体213
- 11.4设置游戏状态显示214
- 11.4.1GUIContent()215
- 11.4.2角色展示218
- 11.4.3Widget的角色展示218
- 11.4.4敌人的显示面板220
- 11.4.5分辨率222
- 11.5简单弹出框223
- 11.6添加全屏菜单226
- 11.7完整脚本228
- 第四部分打磨和收尾工作
- 第12章创建光线和阴影238
- 12.1光照类型238
- 12.1.1光照属性239
- 12.1.2光照基础241
- 12.2照亮游戏世界242
- 12.3创建阴影244
- 12.3.1光照图244
- 12.3.2投射阴影245
- 12.4其他光照效果247
- 12.4.1镜头光斑247
- 12.4.2遮挡247
- 第13章使用粒子系统249
- 13.1粒子:从烟到星尘249
- 13.2做一个简单的系统250
- 13.2.1粒子系统251
- 13.2.2高级粒子系统254
- 13.3Widget的粒子系统255
- 13.3.1可拾取物品255
- 13.3.2关卡激活256
- 13.3.3Widget的攻击257
- 13.4完整脚本260
- 第14章添加音效和音乐265
- 14.1反馈和环境265
- 14.2设置一个简单音频剪辑266
- 14.2.1环境音效268
- 14.2.2通过脚本控制声音269
- 14.2.3添加背景音乐270
- 14.2.4整体效果比各个部分的总效果还要好270
- 14.3完整脚本271
- 第五部分发布游戏
- 第15章Unity基础调试和优化274
- 15.1Unity中的调试274
- 15.1.1控制台275
- 15.1.2日志文件275
- 15.2优化277
- 15.2.1分析器277
- 15.2.2代码优化277
- 15.2.3仿真278
- 15.2.4渲染统计页面279
- 15.2.5缩小文件大小280
- 15.2.6其他优化图像的方式280
- 第16章创建最终的构建282
- 16.1准备构建282
- 16.1.1设置玩家282
- 16.1.2最后的Application类284
- 16.1.3构建设置285
- 16.2其他构建功能286
- 16.2.1资源包286
- 16.2.2资源文件夹286
- 16.2.3打包资源以备后用287
- 16.3路的尽头288
- 第六部分附录及其他资源
- 附录A快捷键和热键290
- 附录B通用类292
- 附录C继续前进296
- 附录D资源和参考资料299