Unity 3D游戲開發技術詳解與典型案例

所属分类:游戲  
出版时间:2012-11   出版时间:吳亞峰、 于復興 人民郵電出版社 (2012-11出版)   作者:吳亞峰,于復興   页数:434  

内容概要

《Unity 3D游戲開發技術詳解與典型案例》對Unity 3D集成開發環境界面、腳本的編寫和眾多高級特效的實現進行了詳細的介紹,內容深入淺出,是一本適合不同需求、不同開發水平讀者的技術寶典。全書共分10章。第1章主要介紹了Unity 3D的誕生、特點、開發環境的搭建以及運行機制;第2章對Unity 3D集成開發環境進行了詳細的介紹;第3章介紹了Unity 3D中腳本的編寫;第4章主要對Unity 3D開發過程中經常使用的組件及對象進行了詳細的介紹; 第5章介紹了Unity開發平台的完整的物理引擎體系;第6章介紹了天空盒、虛擬按鈕與搖桿、聲音、光源、地形引擎、角色動畫,以及角色控制器等開發常用的技術;第7章介紹了Unity 3D中的著色器和著色器語言——ShaderLab;第8章介紹了PlayerPrefs類、Network Class(網絡類),以及加速度傳感器的使用;第9章介紹了完整的大型3D游戲案例——3D保齡球;第10章介紹了完整的大型3D游戲案例——火力籃球。同時為了便于讀者的學習,本書附贈的光盤中包含了書中所有案例的完整源代碼,最大限度地幫助讀者快速掌握開發技術。《Unity 3D游戲開發技術詳解與典型案例》適合從事游戲開發的編程人員學習。

作者简介

吴亚峰,毕业于北京邮电大学,后留学澳大利亚卧龙岗大学取得硕士学位。1998年开始从事Java应用的开发,有十多年的Java开发与培训经验,是最早关注Android开发的人员,并开发出一系列优秀的Android应用程序与游戏。主要的研究方向为OpenGL ES、手机游戏、Java EE、搜索引擎,同时为手机游戏、Java EE独立软件开发工程师,并兼任百纳科技Java培训中心首席培训师。近10年来为数十家著名企业培养了上千名软件开发人员,曾编写过《Java程序员职场全攻略—从小工到专家》、《Android 2.0游戏开发实战宝典》、《Android核心技术与实例详解》、《Android 3D游戏开发—技术详解与典型案例》、《Android应用案例开发大全》和《Android游戏开发大全》等多本畅销书籍。

书籍目录

第1章 Unity3D基础以及开发环境的搭建 1 1.1 Unity3D基础知识概览 1 1.1.1 初识Unity3D 1 1.1.2 Unity的诞生及发展 1 1.1.3 Unity3D广阔的市场前景 2 1.1.4 独具特色的Unity3D 2 1.2 开发环境的搭建 7 1.2.1 Unity集成开发环境的安装 7 1.2.2 目标平台的SDK与Unity3D的集成 11 1.3 第一个Unity3D程序 16 1.4 本章小结 23 第2章 Unity集成开发环境详解 24 2.1 Unity集成开发环境的整体布局 24 2.1.1 Unity集成开发环境的整体布局 24 2.1.2 标题栏 24 2.1.3 菜单栏 25 2.1.4 工具栏 26 2.1.5 场景设计面板 26 2.1.6 游戏预览面板 31 2.1.7 游戏组成对象列表 32 2.1.8 项目资源列表 34 2.1.9 属性查看器 35 2.1.10 状态栏与控制台 36 2.1.11 动画视图 37 2.2 菜单栏 37 2.2.1 文件(File) 37 2.2.2 编辑(Edit) 40 2.2.3 资源(Assets) 46 2.2.4 游戏对象(GameObject) 56 2.2.5 组件(Component) 65 2.2.6 地形(Terrain) 68 2.2.7 窗口(Window) 70 2.2.8 帮助(Help) 75 2.3 本章小结 79 第3章 Unity3D的脚本概述 80 3.1 Unity脚本概述 80 3.2 Unity中专用JavaScript与通用JavaScript的区别 80 3.2.1 在运行过程中性能的差异 80 3.2.2 在语法上的区别 81 3.3 Unity的基本语法 83 3.3.1 常用操作 83 3.3.2 记录时间 84 3.3.3 访问其他组件 85 3.3.4 访问其他游戏对象 86 3.3.5 向量 89 3.3.6 成员变量和全局变量 89 3.3.7 实例化 90 3.3.8 协同程序和中断 91 3.3.9 一些重要的类 92 3.3.10 性能优化 95 3.3.11 脚本编译 97 3.3.12 泛化方法 98 3.4 一个简单的案例 98 3.4.1 球转场景实现 98 3.4.2 球走场景实现 104 3.5 本章小结 108 第4章 Unity3D的常用组件及对象 109 4.1 图形用户界面组件 109 4.1.1 图形用户界面组件的变量 109 4.1.2 图形用户界面的具体组件 118 4.1.3 图形用户界面组件综合案例 150 4.2 预制件prefab资源的应用 154 4.2.1 预制件prefab资源的创建 155 4.2.2 通过prefab资源进而实例化对象 156 4.3 常用的输入对象 158 4.3.1 Touch输入对象 158 4.3.2 Input输入对象 159 4.4 销毁相关方法 168 4.4.1 Object.Destroy方法 169 4.4.2 Network.Destroy方法 169 4.4.3 EditorWindow.OnDestroy方法 170 4.4.4 MonoBehaviour.OnDestory方法 170 4.4.5 ScriptableObject.OnDestory方法 171 4.4.6 Object.DestoryImmediate方法 171 4.5 本章小结 171 第5章 物理引擎 172 5.1 刚体 172 5.1.1 刚体特性 172 5.1.2 物理管理器 176 5.1.3 碰撞与休眠 180 5.2 碰撞器 181 5.2.1 碰撞器的添加 182 5.2.2 碰撞过滤 186 5.2.3 物理材质 191 5.3 粒子系统 193 5.3.1 粒子系统的创建 194 5.3.2 粒子系统的特性 195 5.3.3 粒子系统的组合使用 198 5.4 关节 201 5.4.1 铰链关节 201 5.4.2 固定关节 206 5.4.3 弹簧关节 207 5.4.4 角色关节 209 5.4.5 可配置关节 211 5.4.6 关节综合案例——机械手 216 5.5 游戏实例——摧毁立方体 223 5.6 本章小结 231 第6章 3D游戏开发的常用技术 232 6.1 天空盒的应用 232 6.1.1 Unity内置的天空盒资源 233 6.1.2 开发实际需要的天空盒 235 6.2 虚拟按钮与摇杆使用 237 6.2.1 Unity内置的虚拟按钮与摇杆资源 237 6.2.2 虚拟按钮与摇杆使用的案例 238 6.3 声音 241 6.3.1 音频管理器(AudioManager) 242 6.3.2 音频监听器(AudioListener) 242 6.3.3 音频源(AudioSource) 243 6.3.4 音频效果(AudioEffects) 245 6.3.5 音频混响区(AudioReverbZones) 249 6.3.6 简单的声音控制案例 250 6.4 光源 252 6.4.1 点光源(Pointlight) 252 6.4.2 平行光光源(Directionallight) 254 6.4.3 聚光灯光源(Spotlight) 255 6.4.4 区域光光源(AreaLight) 257 6.4.5 光照过滤 257 6.5 3D拾取技术 259 6.6 地形引擎 262 6.6.1 创建地形 262 6.6.2 编辑地形 264 6.6.3 添加树木和草 268 6.6.4 添加水 271 6.6.5 地形参数 272 6.7 角色动画 272 6.7.1 导入角色动画 273 6.7.2 动画脚本 274 6.8 角色控制器 275 6.8.1 添加角色控制器 275 6.8.2 角色控制器的使用 276 6.9 本章小结 276 第7章 着色器——Shaders 277 7.1 着色器概述 277 7.2 ShaderLab语法基础 278 7.2.1 Shader 278 7.2.2 Properties 278 7.2.3 SubShader 279 7.2.4 SubShaderTags 280 7.2.5 Pass 281 7.2.6 Fallback 283 7.2.7 Category 283 7.3 通道渲染命令(ShaderLab) 283 7.3.1 颜色、材质和光照 283 7.3.2 剪裁和深度测试 285 7.3.3 纹理处理 287 7.3.4 雾 289 7.3.5 Alpha测试 289 7.3.6 混合 291 7.3.7 通道标签 293 7.3.8 绑定通道 293 7.4 表面着色器和顶点片元着色器 294 7.4.1 表面着色器 294 7.4.2 顶点片元着色器 300 7.5 本章小结 303 第8章 杂项 304 8.1 PlayerPrefs类 304 8.2 网络——Network 306 8.2.1 消息发送——MessagesSent 306 8.2.2 类变量——ClassVariables 310 8.2.3 类方法——ClassFunctions 317 8.3 加速度传感器 326 8.4 本章小结 329 第9章 综合案例——3D保龄球 330 9.1 游戏背景以及功能概述 330 9.1.1 背景概述 330 9.1.2 功能简介 330 9.2 游戏的策划及准备工作 332 9.2.1 游戏的策划 332 9.2.2 使用Unity开发游戏前的准备工作 333 9.3 游戏的架构 336 9.3.1 各个场景的简要介绍 336 9.3.2 游戏架构简介 337 9.4 主菜单界面 338 9.5 游戏界面 346 9.5.1 场景搭建 346 9.5.2 保龄球瓶及其脚本 350 9.5.3 初始化与得分计算 354 9.5.4 瓶子碰撞体的组装 361 9.5.5 得分的绘制,储存和返回键的开发 365 9.5.6 瓶子下降和下降台控制 368 9.6 设置界面 370 9.7 统计界面 373 9.8 帮助界面 379 9.9 游戏结束界面 382 9.10 游戏的优化与改进 385 第10章 综合案例——火力篮球 386 10.1 游戏背景以及功能概述 386 10.1.1 游戏背景概述 386 10.1.2 功能简介 386 10.2 游戏的策划及准备工作 388 10.2.1 游戏的策划 388 10.2.2 使用Unity开发游戏前的准备工作 388 10.3 游戏的架构 391 10.3.1 各个场景的简要介绍 391 10.3.2 游戏架构简介 392 10.4 主菜单界面 393 10.5 游戏界面 398 10.5.1 场景搭建 399 10.5.2 篮球及其脚本 406 10.5.3 计分触发器开发 410 10.5.4 主摄像机设置以及脚本开发 414 10.6 设置界面 416 10.7 关于界面 418 10.8 帮助界面 420 10.8.1 场景搭建 420 10.8.2 篮球脚本开发 421 10.8.3 计分触发器的脚本开发 423 10.8.4 主摄像机脚本开发 425 10.9 记录界面 427 10.10 游戏结束界面 433 10.11 游戏的优化与改进 434

章节摘录

版權頁︰   插圖︰   第3章 Unity 3D的腳本概述 通過前面的學習,讀者應該了解了Unity中一些基本物體的創建,接下來,將介紹Unity中腳本的編寫。本書的腳本以JavaScript為主,因此,本章主要講解JavaScript腳本編寫的語法和技巧,具有C#和B00編程基礎或是沒有編程基礎的讀者可參考JavaScript入門教材。 3.1 Unity腳本概述 Unity中的腳本由自定義的腳本附加到項目中的游戲對象上構成,這又可以叫作行為。不同的函數或者方法在特定的事件下被調用,實現特定的功能,下面是最常用的。Update方法︰這個方法在運行一幀之前被調用,大部分游戲代碼在這里面執行,除了物理代碼部分。 FixUpdate方法︰這個方法會在固定的物理時間步調調用一次。這里也是基本物理行為代碼執行的地方。 方法外部代碼︰方法外部的代碼在物體加載時運行,這可以用于初始化腳本狀態。 同時,讀者也可以使用事件處理程序,這些方法的名稱前面都是On(類似于OnCollisionEnter踫撞檢測),這些事件都繼承自MonoBehaviour類。 3.2 Unity中專用JavaScript與通用JavaScript的區別 雖然用于網頁開發的JavaScript完全符合ECMAScript標準,但是Unity中的JavaScript語言卻和ECMAScript標準相去甚遠,比如用于網頁的JavaScript庫的絕大部分都無法在Unity中使用。本書將說明Unity中專用JavaScript與通用(ECMAScript)JavaScript的區別。 3.2.1 在運行過程中性能的差異 Unity中專用JavaScript在運行過程中存在著很多特點,其不僅比JavaScript(ECMAScript)速度快,而且性能也更加優異,下面將分別講解。 速度更快 Unity中的JavaScript已經編譯過,其比動態的JSP更快。理論上,在Unity中JavaScript、C#和Boo沒有速度上的差異,而且就算在Squirrelfish Extreme模式下,Unity的JavaScript比“真正”的JavaScript還要快。 性能更優異 JavaScript很重要的優化是使用靜態類型替代動態類型。Unity使用一種技術叫做類型推理的技術來自動轉換JavaScript為靜態類型腳本。即Unity通過#pragma strict禁用腳本的動態類型,強制使用靜態類型,並且加入了嚴格的變量檢查機制,如果有未知類型的變量,Unity就會報告編譯錯誤。 3.2.2 在語法上的區別 Unity中專用JavaScript在語法上也做了很多的改進,分別對類的定義與使用,繼承的實現,數據類型與變量的聲明,Mono(.Net)技術的調用以及調試的改進等,接下來將逐個進行講解。 1.類的定義與使用 Unity中一個.js腳本文件就是一個類。讀者可以聲明一個和本腳本名字相同的類,如果在腳本中沒有聲明類,則Unity就以本腳本名自動命名一個類,腳本中的所有聲明的對象將變為這個類的成員。

媒体关注与评论

Unity跨平台游戏开发工具出现在开发者面前,跨平台将会开启游戏开发的新模式。《Unity 3D游戏开发技术详解与典型案例》基于Unity 3.5编写,通过丰富的游戏实例,以JavaScript与C#语言介绍了Unity开发。对于入门Unity开发的读者,这本书是最佳的参考资料,很值得阅读!——顽石互动游戏开发工程师 仇磊若你正在学习Unity,《Unity 3D游戏开发技术详解与典型案例》绝对值得阅读。此外,每章的详细实例和最后两个精彩的综合案例,可以快速引导你上手开发应用。——乐视网Android高级开发工程师 于庭龙《Unity 3D游戏开发技术详解与典型案例》详尽介绍了Unity的开发环境布置、使用及开发技巧等,并通过相应的实例达到学以致用,是快速学习和提高Unity开发技术的首选书籍。希望读者通过阅读本书,可以开发出更多、更精彩的游戏。——索尼移动Android高级开发工程师 黄博

编辑推荐

《Unity 3D游戲開發技術詳解與典型案例》提供全面的Unity 3D開發知識,兩大獲獎商業案例,幫助您盡快進入實戰角色,快速學習和提高Unity開發技術的首選。

名人推荐

如今游戏领域iOS、Android等智能手机的迅速崛起,让整个游戏行业竞争越发激烈。在各个游戏平台竞争的同时,Unity跨平台游戏开发工具出现在开发者面前,跨平台将会开启游戏开发的新模式。本书基于Unity 3.5编写,通过丰富的游戏实例,以JavaScript与C#语言介绍了Unity开发。对于入门Unity开发的读者,这本书是最佳的参考资料,很值得阅读! ——顽石互动游戏开发工程师 仇磊 Unity 3D跨平台游戏引擎应用现在受到空前关注,横跨9种主流游戏平台,具有出色的物理引擎以及3D渲染效果。若你正在学习Unity,本书绝对值得阅读。此外,每章的详细实例和最后两个精彩的综合案例,可以快速引导你上手开发应用。 ——乐视网Android高级开发工程师 于庭龙 Unity显著的特点就是,一次开发即可轻松部署到iOS、Android、Winodws Phone等平台,使快速、高质量的游戏开发成为现实。本书详尽介绍了Unity的开发环境布置、使用及开发技巧等,并通过相应的实例达到学以致用,是快速学习和提高Unity开发技术的首选书籍。希望读者通过阅读本书,可以开发出更多、更精彩的游戏。 ——索尼移动Android高级开发工程师 黄博

图书封面




    Unity 3D游戲開發技術詳解與典型案例下載



用户评论 (总计16条)

 
 

  •     這本書講到的東西很多,適合了解Unity3d,但不適合做入門的參考書,因為東西寫的較雜,沒有基礎的人看不懂,但看過文檔的又沒有必要看這本.書中所謂的兩個獲獎案例不是一般的爛,不知道怎麼獲得獎.強烈不推薦購買!!!!
  •     書的內容太爛了,好像在翻譯Unity的文檔,而且翻譯的也不好,還不如直接看文檔,感覺就是騙讀者的錢的。
  •     大體看了一下,感覺不像推介的,不是俺想要的!
  •     作者毫無誠意,前幾章只是簡單的羅列,連句式都是雷同的,不建議購買
  •     總的來說,還是很全面的, 樣樣都介紹, 但知識點與知識點之間沒有關聯起來,就像流水帳的一條一條介紹。代碼方面難以體現面向對象思想,就拿第三章來說, 六個自轉的小球具有相同的行為, 為啥不先寫一個基類而是一個小球一個類呢? 而且代碼不夠嚴密, 前面明明提倡讀者聲明變量時最好寫明類型, 以便提升執行效率,但在你們的例子中就犯了“沒明確變量類型”的錯誤, 詳細可看看P103倒數第六行的“var ray = Camera.main.SceenPointToRay()touch.position;”
  •     紙質不太好,印刷質量一般。內容基礎,但講解不夠深入。
  •     內容 大而全 內容雖然多~但感覺 沒講重點 只是堆砌 代碼∼
  •     很好,嶄新的書籍,不錯
  •     作為入門的書籍挺好。
  •     書中腳本是Javascript的,不是C#
  •     不錯,正在學習中,哈哈哈
  •     因為書的光盤未附,聯系客服,迅速回應並圓滿解決,很滿意。同時希望減少出錯,降低成本。
  •     書的內容太簡單了,一大堆的基礎介紹,再來兩個例子,它怎麼就獨享兩項商業大獎呢。有點被坑了的感覺!!!!!!!
  •     恩,這本書還不錯哦喲
  •     Unity 3D游戲開發技術詳解與典型案例
  •     這書不咋地
 

計算機與互聯網 PDF免费下载,游戲PDF免费下载。 计算机教程网 

计算机教程网 @ 2017