具体描述
本书以实例教学为主线,循序渐进地介绍了Unity在游戏开发方面的不同功能。第1章,由零开始,引导读者熟悉Unity编辑器的各个功能模块,这部分内容对Unity程序员、美工和策划都有帮助。第2~4章是3个不同特色的3D游戏实例,让读者对Unity游戏开发有一个较全面的认识。第5章是一个2D游戏实例,全方位地介绍了Unity在2D游戏方面的应用。第6章和第7章,重点介绍了Unity在网络方面的应用。第8~10章介绍了如何将Unity游戏移植到网页、iOS和Android平台。另外,本书最后附有C#语言的快速教程,帮助缺乏程序开发基础的读者快速入门,同时也包括Unity编辑器菜单栏的中英文对照表供读者查阅。
本书还提供了所有实例的源代码与素材文件,供读者上机练习使用,读者可从网上下载本书资源文件。
本书适用于广大游戏开发人员、游戏开发爱好者、软件培训机构,以及计算机专业的学生等。
作者简介
金玺曾:资深游戏开发工程师,拥有近10年游戏开发经验,3D塔防游戏《野人大作战》主要开发者,曾在上海盛大网络及上海爱客士电脑软件有限公司工作并担任开发经理等职,2013年出版《Unity3D手机游戏开发》一书,该书甫一问世,即受到广大游戏开发人员的称赞,并长期占据当当、京东、亚马逊网络书店同类书排行榜第一名,随后出版了繁体版在港澳台地区发行,被数十所院校及培训学校选为教学用书,还被各大Unity游戏开发公司选为员工培训用书,成为Unity开发人员首选的最有价值的精品之作。
目录信息
1.1 Unity简介
1.2 运行Unity
1.2.1 Unity的版本
1.2.2 安装Unity
1.2.3 在线激活Unity
1.2.4 运行示例工程
1.2.5 安装Visual Studio
1.3 创建一个“Hello World”程序
1.4 调试程序
1.4.1 显示Log
1.4.2 设置断点
1.5 光照
1.5.1 光源类型
1.5.2 环境光与雾
1.5.3 Lightmapping
1.5.4 Light Probe
1.6 Terrain
1.7 Skybox
1.8 粒子
1.9 物理
1.10 自定义Shader
1.10.1 自定义字体
1.10.2 创建Shader
1.11 游戏资源
1.11.1 贴图
1.11.2 3ds Max静态模型导出
1.11.3 3ds Max动画导出
1.11.4 Maya模型导出
1.12 Unity动画系统
1.13 美术资源的优化
小结
第2章 太空射击游戏
2.1 浅谈游戏开发
2.1.1 开始一个游戏项目
2.1.2 阶段性成果
2.1.3 策划
2.1.4 编写脚本
2.1.5 美术
2.1.6 QA测试
2.1.7 发布游戏
2.2 游戏策划
2.2.1 游戏介绍
2.2.2 游戏UI
2.2.3 主角
2.2.4 游戏操作
2.2.5 敌人
2.3 导入美术资源
2.4 创建场景
2.4.1 创建火星背景
2.4.2 设置摄像机和灯光
2.5 创建主角
2.5.1 创建脚本
2.5.2 控制飞船移动
2.5.3 创建子弹
2.5.4 创建子弹Prefab
2.5.5 发射子弹
2.6 创建敌人
2.7 物理碰撞
2.7.1 添加碰撞体
2.7.2 触发碰撞
2.8 高级敌人
2.8.1 创建敌人
2.8.2 发射子弹
2.9 声音与特效
2.10 敌人生成器
2.11 游戏管理器
2.12 标题界面
2.13 用鼠标控制主角
2.14 精确的碰撞检测
2.15 自动创建Prefab
2.16 发布游戏
2.17 代码优化
小结
第3章 第一人称射击游戏
3.1 策划
3.1.1 游戏介绍
3.1.2 UI界面
3.1.3 主角
3.1.4 敌人
3.2 游戏场景
3.3 主角
3.3.1 角色控制器
3.3.2 摄像机
3.3.3 武器
3.4 敌人
3.4.1 寻路
3.4.2 设置动画
3.4.3 行为
3.5 UI界面
3.6 交互
3.6.1 主角的射击
3.6.2 敌人的进攻与死亡
3.7 出生点
3.8 小地图
小结
第4章 塔防游戏
4.1 策划
4.1.1 场景
4.1.2 摄像机
4.1.3 胜负判定
4.1.4 敌人
4.1.5 防守单位
4.1.6 UI界面
4.2 游戏场景
4.3 制作UI
4.4 创建游戏管理器
4.5 摄像机
4.6 路点
4.7 敌人
4.8 敌人生成器
4.8.1 在Excel中设置敌人
4.8.2 创建敌人生成器
4.8.3 遍历敌人
4.9 防守单位
4.10 生命条
4.11 地图编辑器
4.11.1 创建一个自定义窗口
4.11.2 绘制多边形
4.11.3 在Inspector窗口添加自定义UI控件
小结
第5章 2D游戏
5.1 Unity 2D系统简介
5.2 创建Sprite
5.2.1 使用SpriteEditor创建Sprite
5.2.2 使用SpritePacker创建Sprite
5.2.3 图层排序
5.3 动画制作
5.3.1 序列帧动画
5.3.2 使用脚本实现序列帧动画
5.3.3 骨骼动画
5.4 2D物理
5.5 捕鱼游戏
5.5.1 游戏玩法
5.5.2 准备2D资源
5.5.3 创建鱼
5.5.4 创建鱼群生成器
5.5.5 创建大炮
5.5.6 物理碰撞
5.6 2D 材质
5.6.1 修改默认材质
5.6.2 自定义的黑白效果材质
小结
第6章 与Web服务器的交互
6.1 建立服务器
6.1.1 安装Apache
6.1.2 安装MySQL
6.1.3 安装PHP
6.1.4 显示PHP信息
6.1.5 调试PHP代码
6.2 WWW基本应用
6.2.1 HTTP协议
6.2.2 GET请求
6.2.3 POST请求
6.2.4 上传下载图片
6.2.5 下载声音文件
6.3 分数排行榜
6.3.1 创建数据库
6.3.2 创建PHP脚本
6.3.3 上传下载分数
6.4 MD5验证
小结
第7章 基于TCP/IP协议的聊天实例
7.1 TCP/IP开发简介
7.2 一个简单的网络程序
7.3 网络引擎
7.3.1 数据包
7.3.2 逻辑处理
7.3.3 网络功能
7.3.4 创建聊天协议
7.4 聊天客户端
7.5 聊天服务器端
7.6 Protobuf简介
小结
第8章 用Unity创建网页游戏
8.1 网页游戏简介
8.2 Unity Web 游戏
8.2.1 Streaming关卡
8.2.2 上传游戏到Kongregate
8.2.3 与网页通信
8.2.4 在网页上记录积分
8.2.5 自定义网页模板
8.2.6 自定义启动画面
8.3 Flash游戏
8.3.1 软件安装
8.3.2 导出Flash游戏
8.3.3 调试Flash游戏
8.3.4 从Flash工程读取Unity 导出的Flash游戏
8.3.5 在Unity内调用AS3代码
8.3.6 Flash版本的太空射击游戏
8.4 AssetBundle
8.4.1 打包资源
8.4.2 下载资源
8.4.3 批量打包AssetBundle
8.4.4 安全策略
小结
第9章 将Unity游戏移植到iOS平台
9.1 iOS简介
9.2 软件安装
9.3 申请开发权限
9.4 设置iOS开发环境
9.5 测试iOS游戏
9.6 发布iOS游戏
9.6.1 申请发布证书
9.6.2 创建新应用
9.6.3 提交审核
9.7 集成Game Center
9.7.1 Xcode到Unity
9.7.2 设置高分榜和成就
9.7.3 实现Game Center功能
9.8 集成内消费系统
9.8.1 设置内消费
9.8.2 实现内消费
9.9 本地存储位置
小结
第10章 将Unity游戏移植到Android平台
10.1 Android简介
10.2 软件安装
10.3 运行Android游戏
10.3.1 设置Android手机
10.3.2 安装驱动程序
10.3.3 设置Android游戏工程
10.3.4 测试Android游戏
10.3.5 发布Android游戏
10.4 触屏操作
10.5 从eclipse到Unity
10.5.1 创建.jar文件
10.5.2 导入.jar到Unity
10.5.3 使用LogCat查看Log
10.6 从Unity到Eclipse
10.6.1 导出eclipse工程
10.6.2 设置导出的eclipse工程
10.6.3 发布程序
10.7 使用脚本编译游戏
10.7.1 使用脚本输出Android工程
10.7.2 使用脚本编译Android工程
小结
附录A C#语言
A.1 C#基础
A.2 面向对象编程
A.3 字符串
A.4 数组和排序
A.5 I/O操作
A.6 委托
小结
附录B 特殊文件夹
附录C Unity编辑器菜单中英文对照
· · · · · · (收起)
读后感
书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已
流水账似的描述第一步第二步点什么。满篇的例子于代码教你这么做,却不说为什么要这么做。 抱歉,你的评论太短了 抱歉,你的评论太短了 抱歉,你的评论太短了 抱歉,你的评论太短了 抱歉,你的评论太短了 抱歉,你的评论太短了 抱歉,你的评论太短了
书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已 书本就是满版的代码而已
老实说,这本书确实很棒,作者对Unity的理解及书中的实例,都堪称一流水平,重要的是与工作实际完全相合,并不是功能菜单的介绍,这与相关图书不同。来自于工作的开发经验,在这本书中体现的非常丰富,尤其适合提升开发水平,做出商业级的游戏。对找到工作帮助也很大。网络部分...
用户评价
这本书的排版和配图风格,给我一种**“功能至上,审美退居二线”**的理工科朴实感。大量的代码示例,通常是**完整的功能模块**,而不是零散的几行代码片段。我注意到,它对**C#语言特性**的利用达到了相当高的水平。例如,在处理异步操作和资源加载时,书中大量运用了`async/await`关键字和LINQ查询,这使得原本复杂的数据处理流程变得简洁明了。当我翻阅到关于**Shader编程入门**的部分时,我原以为会是快速教你如何写一个简单的颜色变化Shader,结果它却是从**图形渲染管线的基础概念**讲起,解释了顶点、片元(Fragment)的生命周期,并用Unity的ShaderLab语法展示了一个**自定义的、带纹理采样的Unlit Shader**。这种深度足以让我对未来扩展自定义渲染效果充满信心,而不是仅仅停留在使用内置Standard Shader打打光影。总的来说,这不是一本“休闲读物”,它更像是**一本需要配着咖啡和记号笔才能啃完的参考手册**,但它提供的知识密度和工程深度是毋庸置疑的。
拿到这本《Unity 3D/2D手机游戏开发(第2版)》的时候,说实话,我期待的是那种能让我立刻上手,跟着敲代码就能做出酷炫效果的“速成宝典”。然而,读完前几章后,我发现它给我的感觉更像是一本扎实的**学术教材**,而不是那种轻飘飘的入门指南。它花了相当大的篇幅来讲解Unity引擎的底层逻辑和面向对象编程的核心概念,这对于一个纯粹想快速做个休闲小游戏的新手来说,可能会有点枯燥和吃力。比如,书中对**脚本生命周期**的剖析,深度远超我预期的“如何写一个移动脚本”的层面,它深入到了`Awake`, `Start`, `Update`,甚至是`FixedUpdate`之间的**执行顺序和适用场景**的细微差别,配图全是流程图和表格,而不是实际的游戏截图。我记得有一节专门讲**资源管理和内存优化**,内容非常理论化,涉及到了垃圾回收机制(GC)和对象池的设计模式,这些内容在很多快速入门教程中都是一笔带过或者直接省略的。对于我这种更偏向**美术或策划背景**,对编程基础了解不深的人来说,前期的阅读体验确实需要极大的耐心去啃下这些硬骨头。但这也许正是它的价值所在,它试图构建一个坚固的理论地基,而不是搭建一个摇摇欲坠的空中楼阁。它更像是在告诉我:想做出**真正稳定、可维护**的游戏,你必须理解这些“为什么”和“如何深层运作”。
这本书的整体叙述风格,我感觉更接近于一位**经验丰富的资深工程师**在给他的初级同事进行**一对一的Code Review和架构指导**。它的重点似乎并不在于堆砌最新的API特性,而是着重于**软件工程的实践和设计哲学**。例如,在讲解UI系统时,它没有直接展示如何拖拽Canvas和Button,而是花了大量篇幅讨论**如何构建一个可扩展的、松耦合的UI架构**,推荐使用MVC或MVP等设计模式来分离数据和视图逻辑。当我尝试去实现一个复杂库存系统时,书中关于**数据持久化**的章节给我带来了巨大的启发。它没有仅仅停留在PlayerPrefs的简单应用上,而是详细对比了JSON、XML以及SQLite数据库在**数据一致性、读取速度和数据结构复杂度**上的优劣,并给出了一个在移动端使用SQLite进行复杂配置存储的完整示例。这种深入到**工程决策层面**的探讨,让我意识到,过去我做的很多“能跑就行”的代码,在项目规模扩大后会成为巨大的维护负担。这本书没有给我“银弹”,但它提供了一套**思考问题的框架**,迫使我停下来,思考我的代码结构是否“健壮”,而不是仅仅“能用”。这种自上而下的设计指导,对于希望从“实现功能”跃升到“设计系统”的开发者来说,是极其宝贵的。
如果非要用一个比喻来形容我阅读这本书后的感受,那就是**从使用地图导航软件,升级为学习如何绘制地图本身**。它的内容组织非常严谨,逻辑链条清晰,但这种严谨性也带来了一种**极度的克制感**。在讲解2D物理系统时,它没有用那些花哨的预设碰撞体来快速演示,反而深入解析了`Rigidbody2D`和`Collider2D`的**内在数学模型**,比如如何手动计算力和扭矩,以及如何调整时间步长(Time Step)来解决不同设备上的物理模拟不一致性。我特别喜欢它对**跨平台适配**的处理方式。在移动端开发中,性能和输入是永恒的痛点。书中专门辟出章节来讨论**触摸输入的多点触控管理**,不仅讲了如何获取触控点,更重要的是,如何**优雅地处理触控事件的穿透、遮挡和优先级排序**,这在很多轻量级教程里是完全缺失的。它教会我如何构建一个能够适应不同屏幕分辨率、不同CPU性能的**鲁棒(Robust)**项目。读完后,我感觉自己对Unity的**“黑盒”部分**有了更深的理解,不再仅仅是API的调用者,而更像是一个能够**微调和优化**这些底层机制的工程师。
最让我印象深刻的是,这本书在处理**项目迭代与版本控制**方面的态度。它不仅仅停留在“如何使用Git”这个层面,而是深入探讨了在**多人协作开发Unity项目时,如何处理二进制资源(如Prefabs和Scenes)的冲突**。书中详细分析了Unity序列化格式的特点,并提出了针对性的**工作流程建议**,比如如何更有效地使用Prefab Variants来管理不同配置的场景对象。这对于一个正在筹备或已经进入团队协作阶段的开发者来说,是**无价的实战经验**。此外,书中对**移动平台特定优化**的讨论也相当到位,比如如何针对iOS和Android的GPU特性来调整渲染批次(Draw Calls),以及如何利用Unity Profiler来**精准定位性能瓶颈**,而不是盲目地猜测是CPU还是GPU在拖后腿。读完之后,我不再是简单地“会做游戏”,而是开始学会“**如何高效、有组织地管理一个正在运行的、需要持续维护和优化的游戏项目**”。这本书,更像是一张通往专业游戏开发领域的**“思维导图”**,而不是一张简单的“新手村地图”。
学习中………
感觉不太适合0基础人群,有一定的基础后,再看这书的每个案例应该会有收获。
新鲜的东西比较少,新手入门的话看官方的教材比看这个要好多了。。
还可以,入门可以看看
Unity 内建 2D 系统、Web 和网络功能、iOS 集成(Game Center 和 IAP)、Android 集成