第1章 一个游戏是如何制作的1
1.1 开发团队的组成 2
1.1.1 游戏策划 2
1.1.2 游戏美术设计师 5
1.1.3 游戏编程 9
1.2 核心玩法的设定10
1.2.1 射击类游戏10
1.2.2 动作类游戏13
1.2.3 即时战略类游戏15
1.2.4 竞速类游戏17
1.3 整体美术风格设定19
1.3.1 幻想类风格19
1.3.2 现实类风格20
1.3.3 科幻类风格21
第2章 使用unreal(虚幻)引擎制作 第一个关卡 23
2.1 unreal(虚幻)引擎概述24
2.1.1 如何获得unreal(虚幻)引擎25
2.1.2 unreal(虚幻)引擎的作品赏析27
2.2 使用csg模式创建模型30
.2.2.1 使用csg创建地面模型30
2.2.2 建立墙体模型 35
2.2.3 建立天花板模型40
2.2.4 利用布尔运算制作门41
2.3 为csg模型指定材质43
2.3.1 在unreal中指定材质43
2.3.2 给地面赋予金属方格材质45
2.3.3 为墙体指定石质材质45
2.3.4 调节墙体uv对位材质46
2.3.5 为天花板指定材质47
2.4 添加游戏开始程序集47
2.5 为场景设定简单灯光49
2.6 烘焙场景,运行游戏52
2.7 使用unreal资源包完成场景53
2.7.1 添加金属铁门53
2.7.2 建立金属墙柱54
2.7.3 为天花板放置吸顶灯54
2.7.4 完成室内a的其他物件56
2.7.5 在室内b中放置铁架及楼梯61
2.7.6 完成室内b的其他物品放置62
2.8 为场景加入light mass光能传递65
2.8.1 在unreal中灯光是怎样运作的65
2.8.2 添加light mass光能传递67
2.8.3 烘培场景理解什么是light mass70
2.9 为场景添加终极光照71
2.10 导入武器更换系统,开始游戏76
第3章 利用maya+photoshop从零创建 游戏场景 79
3.1 三维软件maya概述80
3.2 设定场景风格83
3.3 使用maya创建场景模型84
3.3.1 建立场景地面84
3.3.2 创建场景主楼模型87
3.3.3 建立辅助楼体模型88
3.4 模型uv的建立与导出93
3.4.1 使用planar map功能展开主楼uv93
3.4.2 使用planar map功能展开辅楼uv97
3.4.3 利用snapshot功能导出主楼与辅楼的 uv 101
3.5 绘制楼体贴图 103
3.5.1 使用photoshop处理导出的uv 文件 103
3.5.2 为主楼选定贴图的照片 106
3.5.3 利用照片完成主楼贴图的绘制 107
3.5.4 绘制辅楼的贴图 119
3.5.5 导出绘制好的贴图 126
3.6 在maya中创建材质并贴入贴图 128
3.6.1 用材质编辑器创建lambert材质 128
3.6.2 为材质贴入主楼的贴图 130
3.6.3 为辅楼建立材质并贴入贴图 132
3.7 根据贴图建立完整模型 135
3.7.1 完成主楼模型的创建 135
3.7.2 完成辅楼模型的创建 141
3.8 绘制楼体的法线及高光贴图 143
3.8.1 绘制并输出主楼的法线及高光贴图143
3.8.2 绘制并输出辅楼的法线及高光贴图145
3.9 在maya中贴入法线贴图 146
第4章 导入模型到unreal(虚幻)引擎 制作一个游戏149
4.1 将模型从maya中导出 150
4.2 导入游戏资源到unreal 152
4.2.1 导入在maya中制作的模型 152
4.2.2 将绘制的贴图导入unreal 158
4.2.3 将资源保存到unreal 159
4.3 使用unreal材质系统建立材质 160
4.3.1 如何在unreal中创建材质 160
4.3.2 为主楼及辅楼建立的材质 161
4.4 将绘制好的贴图贴入材质 162
4.4.1 为主楼的材质贴入贴图 162
4.4.2 为辅楼的材质贴入贴图 169
4.5 将材质赋予主楼及辅楼模型 170
4.6 将模型放入世界中 173
4.6.1 将maya中制作的模型放入世界 173
4.6.2 利用csg建立地面模型并赋予材质180
4.7 使用unreal资源包充实场景 182
4.7.1 添加树木及其他模型 182
4.7.2 为场景添加护栏 186
4.7.3 加入科幻物 187
4.8 使用unreal建立天空环境 189
4.8.1 为场景添加天空球 189
4.8.2 放入方向光模拟太阳方向 190
4.8.3 加入sky light模拟环境 193
4.8.4 为方向光添加太阳光辉效果 195
4.8.5 添加light mass完善场景 196
4.8.6 添加后期特效实时处理系统 198
4.9 烘培场景开始游戏! 200
第5章 利用unreal 3与maya 2012创建大型中世纪风格场景203
5.1 使用maya创建场景模型 204
5.1.1 建立场景地面 204
5.1.2 创建连体楼a的模型 205
5.1.3 建立屋顶的模型 211
5.1.4 建立连体塔楼的模型 214
5.1.5 复制屋顶与完成制作 216
5.2 模型uv的建立与导出 218
5.2.1 展开连体楼a的uv 218
5.2.2 展开连体塔楼的uv 225
5.2.3 利用snapshot功能导出所有楼体的uv 227
5.3 绘制楼体贴图 229
5.3.1 使用photoshop打开导出的 uv文件 229
5.3.2 为所有楼体选定贴图的照片 229
5.3.3 利用照片完成连体楼a的贴图绘制230
5.3.4 预览屋顶的贴图 238
5.3.5 导出绘制好的贴图 239
5.4 在maya中创建材质并贴入贴图 239
5.4.1 打开材质编辑器创建lambert材质239
5.4.2 为材质贴入连体楼的贴图 240
5.5 让所有楼体使用同一张贴图 241
5.5.1 为连体楼a模型指定材质 241
5.5.2 修改连体楼a的uv完成贴图 242
5.5.3 创建屋顶的材质并指定 244
5.5.4 为连体塔楼指定同一材质 245
5.5.5 修改连体塔楼的uv并完成贴图 246
5.6 根据贴图建立完整模型 249
5.6.1 完成连体楼a模型的创建 249
5.6.2 完成连体塔楼模型的创建 252
5.7 绘制楼体的法线及高光贴图 252
5.7.1 绘制并导出楼体的法线及高光贴图252
5.7.2 绘制并导出屋顶的法线及高光贴图255
5.8 在maya中贴入法线贴图并进行预览 257
5.9 【练习】利用所学方法自主创建简单 路基模型 259
第6章 利用unreal 3与maya 2012创建大型中世纪风格场景261
6.1 将模型从maya中导出 262
6.1.1 导出连体楼a 262
6.1.2 导出连体塔楼 262
6.1.3 导出所有屋顶 263
6.1.4 导出路基 263
6.2 导入游戏资源到unreal 264
6.2.1 导入在maya中制作的模型 264
6.2.2 将绘制的贴图导入unreal 267
6.3 使用unreal材质系统建立材质 270
6.3.1 为连体楼建立新的材质 270
6.3.2 为屋顶建立材质 270
6.4 将绘制好的贴图贴入材质 271
6.4.1 为连体楼材质贴入贴图 271
6.4.2 为屋顶材质贴入贴图 275
6.5 将材质赋予连体楼及屋顶模型 276
6.6 将模型放入世界中 279
6.6.1 将路基模型放入世界 279
6.6.2 将模型连体楼a与屋顶放入世界 279
6.6.3 将连体塔楼与屋顶放入世界 283
6.6.4 根据路基模型摆放所有模型 284
6.6.5 利用csg建立地面模型并赋予材质285
6.6 使用unreal资源包充实场景 287
6.7 使用unreal建立天空环境 291
6.7.1 为场景添加天空球 291
6.7.2 放入方向光模拟太阳方向 292
6.7.3 加入sky light模拟环境 294
6.7.4 为方向光添加太阳光辉效果 295
6.7.5 添加light mass完善场景 296
6.8 烘培场景 297
6.9 添加游戏开始事件 298
6.9.1 添加玩家事件 298
6.9.2 为关卡添加武器更换系统 298
6.9.3 为关卡添加可控制车辆系统 300
6.10 开始游戏! 300
近几年游戏行业的发展可谓是日新月异,记得在2004年,游戏开发人员只需做几个简单模型就能够在知名游戏开发公司任职。现在虽然游戏开发公司天天招聘,但是有能力的应聘者已是寥寥无几,高端游戏开发人员紧缺。看看书店里的教材,明显感觉到高端游戏开发的书籍几乎绝迹,讲解世界第一大游戏引擎Unreal的教材居然只有几本理论型书籍,怎样制作游戏关卡一句话也没提。这种情形使得从业人员只能自己摸索学习。
没有合适的书籍教材仅仅靠自己摸索,这样的过程是痛苦的。这本书是我制作实战经验的集合,它会让没有实际工作经验的读者学会怎样从零开始制作高端游戏关卡。
现在国内的游戏美术人员,大多都是学院派出身,缺少多方面的锻炼和成长机会,当然,作为游戏美术人员不一定要上知天文、下知地理,但博学总是有好处的,特别是要多学习游戏相关的知识。美术人员最好从建模到引擎整合无一不通,这看起来很难,实际上完全可以实现的,只要运用合理的流程谁都可以制作出高端的游戏。
本书的两个商业案例都是从建模、贴图到引擎整合,在学习过程中大家会掌握到合理的流程和游戏开发经验。
游戏往事
我是2008年开始接触Unreal的,因为公司有一些国外的游戏外包,其中场景类需要使用Unreal进行整合。这是我第一次接触到Unreal这款引擎,现在国内的游戏公司大多数都使用这款引擎。给游戏公司做事就不得不提“效率”二字,记得当初公司接了一个任务——制作一个场景,这个场景的规模差不多是一个小型城市,要求制作完成并在引擎中整合所有建筑,需要绘制高光、法线及颜色贴图,制作时限一个星期。
看到制作时限,着实把我吓得不轻,一个星期怎么能把这么大的场景做完?况且国外的外包通常制作一个人物都能给7~15天时间,幸好有几个国外的同行朋友帮忙,最后好歹是完成了。其实效率跟制作思路是直接挂钩的,虽然说“条条大路通罗马”,但是如果没有合理的制作思路,那一周的制作时间可能会变成一个月甚至更长的时间,这对于游戏开发是致命的。
游戏的制作思路意味着成败,举个例子。
近期本人开发苹果平台的IOS游戏,在一个论坛上偶然看到一个游戏制作团队用了8个月的时间做了一个游戏,看到这个游戏的质量不禁叹息,8个月就开发了这么个玩意,还要抱怨苹果平台的竞争激烈。
接着看完整篇的网文,感觉这个团队的确尽力了,他们的效率已经最大化发挥了,但是这样的效率没有任何竞争能力,其根本原因是制作思路有误,就像当年我接到一周制作一个城市建筑的外包时是一样的。因此我希望大家在学习本书的时候,注意书中所述案例的制作思路,这样对于大家以后独立制作会有较大的帮助。
第1章 一个游戏是如何制作的1
1.1 开发团队的组成 2
1.1.1 游戏策划 2
1.1.2 游戏美术设计师 5
1.1.3 游戏编程 9
1.2 核心玩法的设定10
1.2.1 射击类游戏10
1.2.2 动作类游戏13
1.2.3 即时战略类游戏15
1.2.4 竞速类游戏17
1.3 整体美术风格设定19
1.3.1 幻想类风格19
1.3.2 现实类风格20
1.3.3 科幻类风格21
第2章 使用unreal(虚幻)引擎制作 第一个关卡 23
2.1 unreal(虚幻)引擎概述24
2.1.1 如何获得unreal(虚幻)引擎25
2.1.2 unreal(虚幻)引擎的作品赏析27
2.2 使用csg模式创建模型30
.2.2.1 使用csg创建地面模型30
2.2.2 建立墙体模型 35
2.2.3 建立天花板模型40
2.2.4 利用布尔运算制作门41
2.3 为csg模型指定材质43
2.3.1 在unreal中指定材质43
2.3.2 给地面赋予金属方格材质45
2.3.3 为墙体指定石质材质45
2.3.4 调节墙体uv对位材质46
2.3.5 为天花板指定材质47
2.4 添加游戏开始程序集47
2.5 为场景设定简单灯光49
2.6 烘焙场景,运行游戏52
2.7 使用unreal资源包完成场景53
2.7.1 添加金属铁门53
2.7.2 建立金属墙柱54
2.7.3 为天花板放置吸顶灯54
2.7.4 完成室内a的其他物件56
2.7.5 在室内b中放置铁架及楼梯61
2.7.6 完成室内b的其他物品放置62
2.8 为场景加入light mass光能传递65
2.8.1 在unreal中灯光是怎样运作的65
2.8.2 添加light mass光能传递67
2.8.3 烘培场景理解什么是light mass70
2.9 为场景添加终极光照71
2.10 导入武器更换系统,开始游戏76
第3章 利用maya+photoshop从零创建 游戏场景 79
3.1 三维软件maya概述80
3.2 设定场景风格83
3.3 使用maya创建场景模型84
3.3.1 建立场景地面84
3.3.2 创建场景主楼模型87
3.3.3 建立辅助楼体模型88
3.4 模型uv的建立与导出93
3.4.1 使用planar map功能展开主楼uv93
3.4.2 使用planar map功能展开辅楼uv97
3.4.3 利用snapshot功能导出主楼与辅楼的 uv 101
3.5 绘制楼体贴图 103
3.5.1 使用photoshop处理导出的uv 文件 103
3.5.2 为主楼选定贴图的照片 106
3.5.3 利用照片完成主楼贴图的绘制 107
3.5.4 绘制辅楼的贴图 119
3.5.5 导出绘制好的贴图 126
3.6 在maya中创建材质并贴入贴图 128
3.6.1 用材质编辑器创建lambert材质 128
3.6.2 为材质贴入主楼的贴图 130
3.6.3 为辅楼建立材质并贴入贴图 132
3.7 根据贴图建立完整模型 135
3.7.1 完成主楼模型的创建 135
3.7.2 完成辅楼模型的创建 141
3.8 绘制楼体的法线及高光贴图 143
3.8.1 绘制并输出主楼的法线及高光贴图143
3.8.2 绘制并输出辅楼的法线及高光贴图145
3.9 在maya中贴入法线贴图 146
第4章 导入模型到unreal(虚幻)引擎 制作一个游戏149
4.1 将模型从maya中导出 150
4.2 导入游戏资源到unreal 152
4.2.1 导入在maya中制作的模型 152
4.2.2 将绘制的贴图导入unreal 158
4.2.3 将资源保存到unreal 159
4.3 使用unreal材质系统建立材质 160
4.3.1 如何在unreal中创建材质 160
4.3.2 为主楼及辅楼建立的材质 161
4.4 将绘制好的贴图贴入材质 162
4.4.1 为主楼的材质贴入贴图 162
4.4.2 为辅楼的材质贴入贴图 169
4.5 将材质赋予主楼及辅楼模型 170
4.6 将模型放入世界中 173
4.6.1 将maya中制作的模型放入世界 173
4.6.2 利用csg建立地面模型并赋予材质180
4.7 使用unreal资源包充实场景 182
4.7.1 添加树木及其他模型 182
4.7.2 为场景添加护栏 186
4.7.3 加入科幻物 187
4.8 使用unreal建立天空环境 189
4.8.1 为场景添加天空球 189
4.8.2 放入方向光模拟太阳方向 190
4.8.3 加入sky light模拟环境 193
4.8.4 为方向光添加太阳光辉效果 195
4.8.5 添加light mass完善场景 196
4.8.6 添加后期特效实时处理系统 198
4.9 烘培场景开始游戏! 200
第5章 利用unreal 3与maya 2012创建大型中世纪风格场景203
5.1 使用maya创建场景模型 204
5.1.1 建立场景地面 204
5.1.2 创建连体楼a的模型 205
5.1.3 建立屋顶的模型 211
5.1.4 建立连体塔楼的模型 214
5.1.5 复制屋顶与完成制作 216
5.2 模型uv的建立与导出 218
5.2.1 展开连体楼a的uv 218
5.2.2 展开连体塔楼的uv 225
5.2.3 利用snapshot功能导出所有楼体的uv 227
5.3 绘制楼体贴图 229
5.3.1 使用photoshop打开导出的 uv文件 229
5.3.2 为所有楼体选定贴图的照片 229
5.3.3 利用照片完成连体楼a的贴图绘制230
5.3.4 预览屋顶的贴图 238
5.3.5 导出绘制好的贴图 239
5.4 在maya中创建材质并贴入贴图 239
5.4.1 打开材质编辑器创建lambert材质239
5.4.2 为材质贴入连体楼的贴图 240
5.5 让所有楼体使用同一张贴图 241
5.5.1 为连体楼a模型指定材质 241
5.5.2 修改连体楼a的uv完成贴图 242
5.5.3 创建屋顶的材质并指定 244
5.5.4 为连体塔楼指定同一材质 245
5.5.5 修改连体塔楼的uv并完成贴图 246
5.6 根据贴图建立完整模型 249
5.6.1 完成连体楼a模型的创建 249
5.6.2 完成连体塔楼模型的创建 252
5.7 绘制楼体的法线及高光贴图 252
5.7.1 绘制并导出楼体的法线及高光贴图252
5.7.2 绘制并导出屋顶的法线及高光贴图255
5.8 在maya中贴入法线贴图并进行预览 257
5.9 【练习】利用所学方法自主创建简单 路基模型 259
第6章 利用unreal 3与maya 2012创建大型中世纪风格场景261
6.1 将模型从maya中导出 262
6.1.1 导出连体楼a 262
6.1.2 导出连体塔楼 262
6.1.3 导出所有屋顶 263
6.1.4 导出路基 263
6.2 导入游戏资源到unreal 264
6.2.1 导入在maya中制作的模型 264
6.2.2 将绘制的贴图导入unreal 267
6.3 使用unreal材质系统建立材质 270
6.3.1 为连体楼建立新的材质 270
6.3.2 为屋顶建立材质 270
6.4 将绘制好的贴图贴入材质 271
6.4.1 为连体楼材质贴入贴图 271
6.4.2 为屋顶材质贴入贴图 275
6.5 将材质赋予连体楼及屋顶模型 276
6.6 将模型放入世界中 279
6.6.1 将路基模型放入世界 279
6.6.2 将模型连体楼a与屋顶放入世界 279
6.6.3 将连体塔楼与屋顶放入世界 283
6.6.4 根据路基模型摆放所有模型 284
6.6.5 利用csg建立地面模型并赋予材质285
6.6 使用unreal资源包充实场景 287
6.7 使用unreal建立天空环境 291
6.7.1 为场景添加天空球 291
6.7.2 放入方向光模拟太阳方向 292
6.7.3 加入sky light模拟环境 294
6.7.4 为方向光添加太阳光辉效果 295
6.7.5 添加light mass完善场景 296
6.8 烘培场景 297
6.9 添加游戏开始事件 298
6.9.1 添加玩家事件 298
6.9.2 为关卡添加武器更换系统 298
6.9.3 为关卡添加可控制车辆系统 300
6.10 开始游戏! 300