当前位置:首页 > 计算机网络 > 图形图像多媒体 > Unity游戏开发实战
出版社:机械工业出版社
出版日期:2012-4
ISBN:9787111377191
作者:梅纳德
页数:297页
章节摘录
版权页: 插图: 收件箱和电子邮件 温斯顿•丘吉尔曾经说过:“写一本书就是一次冒险。开始的时候,它是一种玩具和消遣;随后,它就变成了一位家庭主妇,然后它变成了你的主人,最后它变成了一位暴君。在最后的阶段,你不甘心再被奴役,你杀死了这个怪物并且将它抛给公众。”我要向这位伟人致敬,论及写书,再没有比这更全面而真实的话了。 那些不为人知的英雄,在寂静的乡村安居,被召唤着踏上冒险的旅途;就像他们一样,我突然收到我以前的导师Brenda Brathwaite的一封E—mail,询问我是否想要写一本书。怀着期待而紧张的心情,带着不可思议的幼稚和愚昧,我欣然同意了。我以前曾经写过100多页的文稿,有一些空闲的时间,这事儿能有多难呢?化犁为笔,我开始了本以为相当轻松愉快的穿越丛林之旅。 可是,我不得不承认,我大错特错了。 最初,本书主要介绍使用Microsoft的Popfly Game Creator作为学习工具开始游戏开发。你和其他人似乎都没听说过这款工具。大约在手稿完成了3/4的时候,我收到了一封来自Popfly开发小组的电子邮件,宣布该站点将会在那个月晚些时候关闭,并且API的所有资源和参考资料也会删除。此时,我喝到嘴里的咖啡禁不住喷了出来,那些不幸早早到了办公室的同事可遭了殃。随后,我联系了我的策划编辑Emi Smith并告诉她这个消息。第一次写书和冒险就这样过早夭折了。你的公主在另外一个城堡里,但是,不幸的人们,我们不知道是哪一个城堡,也没有提示性的小脚印或蘑菇人为你指出正确的方向。游戏结束了。放下游戏操控器并走开吧。你失败了。 即便是我有一点失望(并且确信在那种情况下于事无补),Emi也打算放弃,并且就在第二天,她立即走到白板前,提出了多达6个新想法。依次看下来,似乎没有真正引发我的兴趣(或者说和我的技能相符合)的东西,直到我看到了这个列表的最后一项,也就是Unity。我以前听说过这个引擎,并且阅读过一两篇相关的简短文章,因此,我认为这至少值得快速下载下来并看看。 由此开始了我对这一游戏引擎的强烈爱好,也向世界展示了它是如何改变我对于开发的态度的。花了两年的时间,我最终写完了400页的手稿,还完成了测试项目,整个内容发送到打印机,吹响了无声的号角。放下笔,我回到了山村想要继续在田野里工作,无所事事,并且可能会在整整一个月中第一次在周六睡懒觉。我可能还会养一只猫。 那么,为什么哕唆这些?亲爱的读者,本书花了一年或两年的时间,以及是否更换了主题,这和你有什么关系呢?表面上,可能没有太大的关系。但是,写一本书就像开发一款游戏一样痛苦,特别是,如果你是初次接触这项工作。
内容概要
米歇尔·梅纳德(Michelle Menard)目前在马里兰州猎人谷的Firaxis
Games公司担任作家和设计人员。之前她曾经是自由作家、编辑以及助理制作人等,也曾经短暂地从事过UI程序员、美工以及博物馆服务中心的程序员。工作之余,她喜欢通过骑自行车来锻炼身体,或者玩Pokémon游戏消遣。
米歇尔拥有萨凡纳美术和设计学院游戏设计专业的美术设计硕士学位,还获得了布朗大学应用数学和音乐系的双文学士学位。另外,她还是SCAD硕士研究生课程的开发人员。
书籍目录
译者序
作者简介
第一部分 入门
第1章 序
第2章 前言
2.1 本书主要内容
2.2 本书读者对象
2.3 本书结构
2.4 安装说明
2.4.1 Unity引擎
2.4.2 使用光盘里的内容
2.4.3 可选安装
第3章 Unity引擎概览
3.1 熟悉界面
3.1.1 Project视图
3.1.2 Hierarchy视图
3.1.3 Inspector视图
3.1.4 工具栏
3.1.5 Scene视图
3.1.6 Game视图
3.1.7 Animation视图
3.1.8 控制台和状态栏
3.1.9 性能分析器和资源服务器
3.1.10 定制编辑器
3.2 Unity的基本概念
3.3 可用的Unity许可证
3.4 编辑器小结
第4章 第一款游戏:从哪里开始
4.1 基本设计理论
4.2 找到核心思想
4.2.1 头脑风暴
4.2.2 研究其他的游戏
4.2.3 纸面原型:这并不仅仅适用于商业软件
4.3 进行计划
4.3.1 基本的大纲
4.3.2 一个简单的关卡文档
4.4 开始
第二部分 收集游戏资源
第5章 用地形搭建舞台
5.1 Unity的地形引擎
5.2 定制地形
5.2.1 使用高度图来创建高度
5.2.2 使用笔刷来绘制高度
5.2.3 绘制贴图
5.2.4 放置树木
5.2.5 使用草以及细节网格让场景变得更为散乱
5.2.6 地形设置
5.3 光照和阴影
5.4 添加天空盒和基于距离的雾化效果
5.5 在地形上加入水体
第6章 创建环境:导入基本的定制资源
6.1 先设计,后创建
6.2 导入贴图
6.2.1 关于导入的更多细节
6.2.2 支持的格式
6.2.3 为《Widget》的地形导入贴图
6.3 导入基本网格
6.4 设置简单的着色器和材质
6.4.1 Unity提供的着色器
6.4.2 凹凸贴图、高光贴图、立方环境贴图和细节贴图
6.4.3 指定着色器和材质
6.4.4 创建一种定制的天空盒材质
6.4.5 添加水体
6.5 使用资源时的有用技巧
6.5.1 预制模型
6.5.2 大规模对象选择和分组
6.5.3 根据网格对齐
6.5.4 重做地形
第7章 创建角色
7.1 玩家角色基础101
7.2 导入角色以及其他非静态网格
第三部分 用交互性使道具更逼真
第8章 Unity中的脚本编程
8.1 一个编辑器、三种语言、大量的选择
8.2 选择一个脚本编辑器,你是否想要它实现自动完成
8.3 Unity脚本编程基础
8.4 运算符和比较
8.4.1 运算符
8.4.2 比较
8.5 条件
8.5.1 if语句
8.5.2 if-else语句
8.5.3 switch语句
8.5.4 条件运算符
8.6 循环
8.6.1 for循环
8.6.2 while循环
8.7 函数
8.8 命名约定
第9章 编写角色和状态控制脚本
9.1 计划和设计
9.2 一个简单的第三人称控制器
9.2.1 控制器变量
9.2.2 Unity的MonoBehaviour类
9.2.3 FixedUpdate:让Widget移动
9.3 设置Unity的输入管理器
9.3.1 Input类回顾
9.3.2 轴的命名约定
9.3.3 Xbox风格控制器的设置示例
9.4 连接摄像机
9.5 装配状态控制器
9.5.1 协程
9.5.2 更新角色控制器
9.6 完整的脚本
9.6.1 Widget_Controller.js
9.6.2 Widget_Status.js
9.6.3 Widget_Camera.js
第10章 连接动画
10.1 Unity中的动画
10.2 动画API
10.3 设置玩家控制器的动画
10.3.1 定义问题
10.3.2 更新控制器
10.3.3 创建动画状态管理器
10.4 在Unity内部创建动画
10.4.1 一些基本概念
10.4.2 Animation视图
10.5 设置一段新的动画剪辑
10.5.1 创建定制动画
10.5.2 连接
10.6 添加动画事件
10.7 完整的脚本
10.7.1 Widget_Controller.js更新
10.7.2 Widget_Animation.js
第11章 使用触发器并创建环境交互
11.1 触发器和碰撞
11.2 设置一个简单的触发器对象
11.2.1 为了清晰而使用gizmo
11.2.2 背囊管理
11.3 设置其他类型的触发器
11.3.1 死亡触发器
11.3.2 检查点——避免死亡的触发器
11.4 完成的脚本
11.4.1 PickupItems.js
11.4.2 Widget_Inventory.js
11.4.3 DamageTrigger.js
11.4.4 CheckPoint.js
11.4.5 Widget_Status.js
第12章 创建探险和AI
12.1 人工智能:绝对人工、没多少智能
12.1.1 一些简单的AI指导方针
12.1.2 简单的工作流
12.2 设置一个简单的敌人
12.2.1 AI控制器
12.2.2 为一只简单的小兔子编写的简单的状态管理器
12.3 设置Widget的攻击
12.4 在完成任务后奖励玩家
12.5 产生和优化
12.6 完整代码
12.6.1 EBunny_AIController.js
12.6.2 EBunny_Status.js
12.6.3 Widget_AttackController.js
12.6.4 Enemy_RespawnPoint.js
第13章 设计游戏的GUI
13.1 基本的界面理论
13.1.1 交互的步骤
13.1.2 为用户设计
13.2 Unity的GUI系统
13.2.1 按钮
13.2.2 滑块
13.2.3 标签和框
13.2.4 文本输入
13.2.5 Toggle
13.2.6 工具栏和选择矩阵
13.2.7 窗口
13.3 为Widget制作定制的皮肤
13.3.1 创建GUISkin
13.3.2 定义定制风格
13.3.3 导入新字体
13.4 设置HUD
13.4.1 GUIContent
13.4.2 角色显示
13.4.3 分辨率
13.5 弹出屏幕示例
13.6 添加全屏菜单
13.7 完整和更新的脚本
13.7.1 GUI_CustomControls.js
13.7.2 GUI_HUD.js
13.7.3 Widget_AttackController.js
13.7.4 EBunny_Status.js
13.7.5 GUI_WaypointStore.js
13.7.6 WaypointBehavior.js
13.7.7 GUI_MainMenu.js
第四部分 完善和最后的修饰
第14章 创建光影
14.1 灯光的类型
14.1.1 光源属性
14.1.2 光照基础
14.2 照亮游戏世界
14.3 创建阴影
14.3.1 光照图
14.3.2 使用阴影投射器制作的阴影
14.4 其他光照效果
14.4.1 镜头眩光
14.4.2 遮光
第15章 使用粒子系统
15.1 粒子:从烟到星尘
15.2 设置一个简单的系统
15.2.1 粒子发射器
15.2.2 粒子动画器
15.2.3 粒子渲染器和材质
15.3 高级粒子组件
15.3.1 世界粒子碰撞体
15.3.2 拖尾渲染器
15.3.3 线条渲染器
15.4 Widget的粒子
15.4.1 拾取物品
15.4.2 检查点激活
15.4.3 Widget的攻击
15.4.4 敌人爆炸
15.5 更新的脚本
15.5.1 PickupItems.js
15.5.2 CheckPoint.js
15.5.3 Widget_AttackController.js
15.5.4 EBunny_Status.js
第16章 加入声音和音乐
16.1 反馈和环境
16.2 设置一段简单的声音剪辑
16.2.1 环境音效
16.2.2 通过脚本控制声音
16.2.3 加入背景音乐
16.3 更新的脚本
第五部分 发行和发布版本
第17章 基本的Unity调试和优化
17.1 Unity中的调试
17.1.1 Console
17.1.2 日志文件
17.2 优化
17.2.1 Profiler
17.2.2 基本代码优化
17.2.3 模拟
17.2.4 渲染Statistics页面
17.2.5 压缩文件
17.2.6 优化图形的其他方式
第18章 创建最终版本
18.1 准备版本
18.1.1 设置播放器
18.1.2 设置Application类
18.1.3 版本设置
18.2 其他版本特性
18.2.1 新的资源和DLC
18.2.2 打包资源以便今后使用
18.3 展望
编辑推荐
《Unity游戏开发实战》从创建游戏资源、添加交互性到修饰已完成的游戏并发布它的所有知识,并且为读者提供了使用Unity来创建自己的游戏所需要的所有信息,适合业余游戏制作人、专业开发人员以及计算机专业的学生阅读。
作者简介
《Unity游戏开发实战》结合unity这种多平台的集成引擎和编辑器,介绍如何使用unity创建游戏、添加交互性,以及修饰游戏并发布游戏的所有知识。《Unity游戏开发实战》分为五部分,每一章都介绍一个独立的概念,并且循序渐进地讲述新的概念,还使用一个综合的游戏项目贯穿全书。在《Unity游戏开发实战》中,读者将学到所有重要的界面命令,如何设置和组织项目,以及创建并运行一个3D游戏的所有基础,从角色导入到脚本,再到声音。《Unity游戏开发实战》还将介绍基本的游戏和关卡设计理论与特殊的技巧。
图书封面