書籍簡介:
本書結(jié)合Unity這種多平臺的集成引擎和編輯器,介紹如何使用Unity創(chuàng)建游戲、添加交互性,以及修飾游戲并發(fā)布游戲的所有知識。本書分為五部分,每一章都介紹一個獨立的概念,并且循序漸進地講述新的概念,還使用一個綜合的游戲項目貫穿全書。在本書中,讀者將學(xué)到所有重要的界面命令,如何設(shè)置和組織項目,以及創(chuàng)建并運行一個3D游戲的所有基礎(chǔ),從角色導(dǎo)入到腳本,再到聲音。本書還將介紹基本的游戲和關(guān)卡設(shè)計理論與特殊的技巧。
本書為讀者提供了使用Unity來創(chuàng)建自己的游戲所需要的全面信息,適合業(yè)余游戲制作人、專業(yè)開發(fā)人員以及計算機專業(yè)的學(xué)生閱讀。
作者簡介:
(美)梅納德 著,史曉明,李強 譯
米歇爾·梅納德(Michelle Menard)目前在馬里蘭州獵人谷的Firaxis Games公司擔(dān)任作家和設(shè)計人員。之前她曾經(jīng)是自由作家、編輯以及助理制作人等,也曾經(jīng)短暫地從事過UI程序員、美工以及博物館服務(wù)中心的程序員。工作之余,她喜歡通過騎自行車來鍛煉身體,或者玩Pokémon游戲消遣。
米歇爾擁有薩凡納美術(shù)和設(shè)計學(xué)院游戲設(shè)計專業(yè)的美術(shù)設(shè)計碩士學(xué)位,還獲得了布朗大學(xué)應(yīng)用數(shù)學(xué)和音樂系的雙文學(xué)士學(xué)位。另外,她還是SCAD碩士研究生課程的開發(fā)人員。
出版時間:
2012年04月
章節(jié)目錄:
譯者序
作者簡介
第一部分入門
第1章序
第2章前言
2.1本書主要內(nèi)容
2.2本書讀者對象
2.3本書結(jié)構(gòu)
2.4安裝說明
2.4.1Unity引擎
2.4.2使用光盤里的內(nèi)容
2.4.3可選安裝
第3章Unity引擎概覽
3.1熟悉界面
3.1.1Project視圖
3.1.2Hierarchy視圖
3.1.3Inspector視圖
3.1.4工具欄
3.1.5Scene視圖
3.1.6Game視圖
3.1.7Animation視圖
3.1.8控制臺和狀態(tài)欄
3.1.9性能分析器和資源服務(wù)器
3.1.10定制編輯器
3.2Unity的基本概念
3.3可用的Unity許可證
3.4編輯器小結(jié)
第4章第一款游戲:從哪里開始
4.1基本設(shè)計理論
4.2找到核心思想
4.2.1頭腦風(fēng)暴
4.2.2研究其他的游戲
4.2.3紙面原型:這并不僅僅適用于商業(yè)軟件
4.3進行計劃
4.3.1基本的大綱
4.3.2一個簡單的關(guān)卡文檔
4.4開始
第二部分收集游戲資源
第5章用地形搭建舞臺
5.1Unity的地形引擎
5.2定制地形
5.2.1使用高度圖來創(chuàng)建高度
5.2.2使用筆刷來繪制高度
5.2.3繪制貼圖
5.2.4放置樹木
5.2.5使用草以及細節(jié)網(wǎng)格讓場景變得更為散亂
5.2.6地形設(shè)置
5.3光照和陰影
5.4添加天空盒和基于距離的霧化效果
5.5在地形上加入水體
第6章創(chuàng)建環(huán)境:導(dǎo)入基本的定制資源
6.1先設(shè)計,后創(chuàng)建
6.2導(dǎo)入貼圖
6.2.1關(guān)于導(dǎo)入的更多細節(jié)
6.2.2支持的格式
6.2.3為《Widget》的地形導(dǎo)入貼圖
6.3導(dǎo)入基本網(wǎng)格
6.4設(shè)置簡單的著色器和材質(zhì)
6.4.1Unity提供的著色器
6.4.2凹凸貼圖、高光貼圖、立方環(huán)境貼圖和細節(jié)貼圖
6.4.3指定著色器和材質(zhì)
6.4.4創(chuàng)建一種定制的天空盒材質(zhì)
6.4.5添加水體
6.5使用資源時的有用技巧
6.5.1預(yù)制模型
6.5.2大規(guī)模對象選擇和分組
6.5.3根據(jù)網(wǎng)格對齊
6.5.4重做地形
第7章創(chuàng)建角色
7.1玩家角色基礎(chǔ)
7.2導(dǎo)入角色以及其他非靜態(tài)網(wǎng)格
第三部分用交互性使道具更逼真
第8章Unity中的腳本編程
8.1一個編輯器、三種語言、大量的選擇
8.2選擇一個腳本編輯器,你是否想要它實現(xiàn)自動完成
8.3Unity腳本編程基礎(chǔ)
8.4運算符和比較
8.4.1運算符
8.4.2比較
8.5條件
8.5.1if語句
8.5.2if.else語句
8.5.3switch語句
8.5.4條件運算符
8.6循環(huán)
8.6.1for循環(huán)
8.6.2while循環(huán)
8.7函數(shù)
8.8命名約定
第9章編寫角色和狀態(tài)控制腳本
9.1計劃和設(shè)計
9.2一個簡單的第三人稱控制器
9.2.1控制器變量
9.2.2Unity的MonoBehaviour類
9.2.3FixedUpdate:讓W(xué)idget移動
9.3設(shè)置Unity的輸入管理器
9.3.1Input類回顧
9.3.2軸的命名約定
9.3.3Xbox風(fēng)格控制器的設(shè)置示例
9.4連接攝像機
9.5裝配狀態(tài)控制器
9.5.1協(xié)程
9.5.2更新角色控制器
9.6完整的腳本
9.6.1Widget_Controller.js
9.6.2Widget_Status.js
9.6.3Widget_Camera.js
第10章連接動畫
10.1Unity中的動畫
10.2動畫API
10.3設(shè)置玩家控制器的動畫
10.3.1定義問題
10.3.2更新控制器
10.3.3創(chuàng)建動畫狀態(tài)管理器
10.4在Unity內(nèi)部創(chuàng)建動畫
10.4.1一些基本概念
10.4.2Animation視圖
10.5設(shè)置一段新的動畫剪輯
10.5.1創(chuàng)建定制動畫
10.5.2連接
10.6添加動畫事件
10.7完整的腳本
10.7.1Widget_Controller.js更新
10.7.2Widget_Animation.js
第11章使用觸發(fā)器并創(chuàng)建環(huán)境交互
11.1觸發(fā)器和碰撞
11.2設(shè)置一個簡單的觸發(fā)器對象
11.2.1為了清晰而使用gizmo
11.2.2背囊管理
11.3設(shè)置其他類型的觸發(fā)器
11.3.1死亡觸發(fā)器
11.3.2檢查點——避免死亡的觸發(fā)器
11.4完成的腳本
11.4.1PickupItems.js
11.4.2Widget_Inventory.js
11.4.3DamageTrigger.js
11.4.4CheckPoint.js
11.4.5Widget_Status.js
第12章創(chuàng)建探險和AI
12.1人工智能:絕對人工、沒多少智能
12.1.1一些簡單的AI指導(dǎo)方針
12.1.2簡單的工作流
12.2設(shè)置一個簡單的敵人
12.2.1AI控制器
12.2.2為一只簡單的小兔子編寫的簡單的狀態(tài)管理器
12.3設(shè)置Widget的攻擊
12.4在完成任務(wù)后獎勵玩家
12.5產(chǎn)生和優(yōu)化
12.6完整代碼
12.6.1EBunny_AIController.js
12.6.2EBunny_Status.js
12.6.3Widget_AttackController.js
12.6.4Enemy_RespawnPoint.js
第13章設(shè)計游戲的GUI
13.1基本的界面理論
13.1.1交互的步驟
13.1.2為用戶設(shè)計
13.2Unity的GUI系統(tǒng)
13.2.1按鈕
13.2.2滑塊
13.2.3標簽和框
13.2.4文本輸入
13.2.5Toggle
13.2.6工具欄和選擇矩陣
13.2.7窗口
13.3為Widget制作定制的皮膚
13.3.1創(chuàng)建GUISkin
13.3.2定義定制風(fēng)格
13.3.3導(dǎo)入新字體
13.4設(shè)置HUD
13.4.1GUIContent
13.4.2角色顯示
13.4.3分辨率
13.5彈出屏幕示例
13.6添加全屏菜單
13.7完整和更新的腳本
13.7.1GUI_CustomControls.js
13.7.2GUI_HUD.js
13.7.3Widget_AttackController.js
13.7.4EBunny_Status.js
13.7.5GUI_WaypointStore.js
13.7.6WaypointBehavior.js
13.7.7GUI_MainMenu.js
第四部分完善和最后的修飾
第14章創(chuàng)建光影
14.1燈光的類型
14.1.1光源屬性
14.1.2光照基礎(chǔ)
14.2照亮游戲世界
14.3創(chuàng)建陰影
14.3.1光照圖
14.3.2使用陰影投射器制作的陰影
14.4其他光照效果
14.4.1鏡頭眩光
14.4.2遮光
第15章使用粒子系統(tǒng)
15.1粒子:從煙到星塵
15.2設(shè)置一個簡單的系統(tǒng)
15.2.1粒子發(fā)射器
15.2.2粒子動畫器
15.2.3粒子渲染器和材質(zhì)
15.3高級粒子組件
15.3.1世界粒子碰撞體
15.3.2拖尾渲染器
15.3.3線條渲染器
15.4Widget的粒子
15.4.1拾取物品
15.4.2檢查點激活
15.4.3Widget的攻擊
15.4.4敵人爆炸
15.5更新的腳本
15.5.1PickupItems.js
15.5.2CheckPoint.js
15.5.3Widget_AttackController.js
15.5.4EBunny_Status.js
第16章加入聲音和音樂
16.1反饋和環(huán)境
16.2設(shè)置一段簡單的聲音剪輯
16.2.1環(huán)境音效
16.2.2通過腳本控制聲音
16.2.3加入背景音樂
16.3更新的腳本
第五部分發(fā)行和發(fā)布版本
第17章基本的Unity調(diào)試和優(yōu)化
17.1Unity中的調(diào)試
17.1.1Console
17.1.2日志文件
17.2優(yōu)化
17.2.1Profiler
17.2.2基本代碼優(yōu)化
17.2.3模擬
17.2.4渲染Statistics頁面
17.2.5壓縮文件
17.2.6優(yōu)化圖形的其他方式
第18章創(chuàng)建最終版本
18.1準備版本
18.1.1設(shè)置播放器
18.1.2設(shè)置Application類
18.1.3版本設(shè)置
18.2其他版本特性
18.2.1新的資源和DLC
18.2.2打包資源以便今后使用
18.3展望
封面圖: