第Ⅰ部分起步
第1章初識Unity
1.1為什麼Unity如此優秀
1.1.1Unity的優勢
1.1.2要意識到的缺點
1.1.3使用Unity構建的游戲案例
1.2如何使用Unity
1.2.1Scene視圖、Game視圖和工具欄
1.2.2使用鼠標和鍵盤
1.2.3Hierarchy標簽和Inspector
1.2.4Project和Console標簽
1.3開始使用Unity編程
1.3.1代碼在Unity中是如何運行的:腳本組件
1.3.2使用MonoDevelop,跨平台的DE
1.3.3打印到控制台:HelloWbrld!
1.4小結
第2章構建一個讓你置身3D空間的演示
2.1在開始之前
2.1.1對項目做計划
2.1.2了解3D坐標空間
2.2開始項目:在場景中放置對象
2.2.1第二步:地板、外牆和內牆
2.2.2燈光和攝像機
2.2.3玩家的碰撞器和視口
2.3讓東西移動:應用變換的腳本
2.3.1圖示說明如何通過編程實現旋轉
2.3.2編寫代碼實現圖中演示的運動
2.3.3本地和全局坐標空間
2.4用於觀察周圍的組件腳本:MouseLook
2.4.1跟蹤鼠標運動的水平旋轉
2.4.2在一定范圍內的垂直旋轉
2.4.3同時水平和垂直旋轉
2.5鍵盤輸入組件:第一人稱控件
2.5.1響應按下的鍵
2.5.2設置獨立於計算機運行速度的運動速率
2.5.3為了碰撞檢測,移動CharacterController
2.5.4調整組件為走路而不是飛翔
2.6小結
第3章為3D游戲添加敵人和子彈
3.1通過射線射擊
3.1.1什麼是射線發射
3.1.2使用命令ScreenPointToRay來發射
3.1.3為准心和擊中點添加可視化提示
3.2腳本化反應的目標
3.2.1確定被擊中的對象
3.2.2警告目標它被擊中
3.3基本漫游AI
3.3.1圖解基礎AI的工作原理
3.3.2使用射線發射發現障礙物
3.3.3跟蹤角色狀態
3.4產生敵人預設
3.4.1什麼是預設
3.4.2創建敵人預設
3.4.3在不可見的SceneController中實例化
3.5通過實例化對象進行射擊
3.5.1創建子彈預設
3.5.2發射子彈並和目標碰撞
3.5.3傷害玩家
3.6小結
第4章為游戲開發圖形
4.1了解美術資源
4.2構建基礎3D場景:白盒
4.2.1白盒的解釋
4.2.2為關卡繪制地板平面圖
4.2.3根據平面圖布局幾何體
4.3使用2D圖像給場景貼圖
4.3.1選擇文件格式
4.3.2導入圖像文件
4.3.3應用圖像
4.4使用貼圖圖像產生天空視覺效果
4.4.1什麼是天空盒
4.4.2創建一個新天空盒材質
4.5使用自定義3D模型
4.5.1選擇文件格式
4.5.2導出和導入模型
4.6使用粒子系統創建效果
4.6.1調整默認效果的參數
4.6.2為火焰應用新貼圖
4.6.3將粒子效果附加到3D對象上
4.7小結
第Ⅱ部分輕松工作
第5章使用Unity新的2D功能構建一款記憶力游戲
5.1設置2D圖形
5.1.1為項目做准備
5.1.2顯示2D圖像(亦稱精靈)
5.1.3將攝像機切換為2D模式
5.2構建卡片對象並讓它響應單擊
5.2.1從精靈構建對象
5.2.2鼠標輸入代碼
5.2.3當單擊時顯示卡片
5.3顯示不同的卡片圖像
5.3.1通過程序加載圖像
5.3.2通過不可見的SceneController來設置圖像
5.3.3實例化一個網格的卡片
5.3.4打亂卡片
5.4實現匹配和匹配得分
5.4.1保存並比較翻開的卡片
5.4.2隱藏錯誤卡片
5.4.3顯示積分的文本
5.5重啟按鈕
5.5.1使用SendMessage編寫UIButton組件
5.5.2從SceneController中調用LoadLevel
5.6小結
第6章在3D游戲中放置2D圖形用戶界面
6.1在開始寫代碼之前
6.1.1直接模式GUI還是高級2D界面
6.1.2規划布局
6.1.3導入UI圖像
6.2設置GUI顯示
6.2.1為界面創建畫布
6.2.2按鈕、圖像和文本標簽
6.2.3控制UI元素的位置
6.3編寫UI中的交互
6.3.1編寫不可見的UIController
6.3.2創建彈出窗口
6.3.3使用滑動條和輸入域設置值
6.4通過響應事件更新游戲
6.4.1集成事件系統
6.4.2從場景中廣播和偵聽事件
6.4.3從HUD廣播和偵聽事件
6.5小結
第7章創建第三人稱3D游戲:玩家移動和動畫
7.1調整攝像機視圖為第三人稱視角
7.1.1導入一個用於觀察的角色
7.1.2將陰影添加到場景
7.1.3攝像機環繞玩家角色
7.2編寫程序控制camera—relative的移動
7.2.1旋轉角色,以朝向移動方向
7.2.2朝着方向向前移動
7.3實現跳躍動作
7.3.1應用垂直速度和加速度
7.3.2修改地面檢測來處理邊緣和斜坡
7.4設置玩家角色上的動畫
7.4.1在導入的模型上定義動畫剪輯
7.4.2為動畫創建動畫控制器
7.4.3編寫操作Animator組件的代碼
7.5小結
第8章在游戲中添加交互設施和物件
8.1創建門和其他設施
8.1.1由按鍵控制開/關的門
8.1.2在開門之前檢查距離和朝向
8.1.3創建一個變色監控器
8.2通過碰撞與對象交互
8.2.1和具有物理功能的障礙物碰撞
8.2.2用一個壓力板來觸發門
8.2.3收集當前關卡游戲中分散的物件
8.3管理倉庫數據和游戲狀態
8.3.1設置玩家和倉庫管理器
8.3.2編程實現游戲管理器
8.3.3把物品存儲在集合對象中:List與Dictionary
8.4使用和裝備物品的倉庫UI
8.4.1在UI中顯示倉庫物品
8.4.2裝備一個用來開門的鑰匙
8.4.3通過使用血量包來恢復玩家的血量
8.5小結
第Ⅲ部分沖刺階段
第9章將游戲連接到互聯網
9.1創建戶外場景
9.1.1使用天空盒生成天空視覺效果
9.1.2通過代碼設置大氣環境
9.2從互聯網服務下載天氣數據
9.2.1使用協程請求WWW數據
9.2.2解析XML
9.2.3解析JSON
9.2.4基於天氣數據影響場景
9.3添加一個網絡布告欄
9.3.1從互聯網加載圖像
9.3.2在布告欄上顯示圖像
9.3.3緩存下載的圖像以供重用
9.4將數據發送到Web服務器
9.4.1跟蹤當前的天氣:發送post請求
9.4.2PHP中的服務器端代碼
9.5小結
第10章播放音頻:音效和音樂
10.1導入音效
10.1.1所支持的文件格式
10.1.2導入音頻文件
10.2播放音效
10.2.1音頻剪輯、音源和聲音偵聽器
10.2.2設定一個循環聲音
10.2.3從代碼觸發音效
10.3音頻控制接口
10.3.1建立中心AudioManager
10.3.2音量控制UI
10.3.3播放UI聲音
10.4背景音樂
10.4.1播放循環音樂
10.4.2獨立控制音樂的音量
10.4.3歌曲間的淡入淡出
10.5小結
第11章將各部分整合為一個完整的游戲
11.1再次利用項目來構建角色扮演RPG
11.1.1將多個項目的資源和代碼裝配在一起
11.1.2編寫指向單擊的控件:移動和設備
11.1.3使用新界面替換舊GUI
11.2開發總體的游戲結構
11.2.1控制任務流和多關卡
11.2.2通過到達退出條件完成一個關卡
11.2.3當被敵人捕捉時關卡失敗
11.3處理玩家游戲過程中的進度
11.3.1保存並加載玩家進度
11.3.2通過完成三個關卡打敗游戲
11.4小結
第12章將游戲部署到玩家的設備
12.1構建桌面環境:Windows、Mac和Linux
12.1.1構建應用
12.1.2調整Player Settings:設置游戲的名稱和圖標
12.1.3平台依賴的編譯
12.2為Web構建游戲
12.2.1Unity Player和HTMUWebGL
12.2.2構建Unity文件和一個測試Web頁面
12.2.3與瀏覽器中的JavaScript通信
12.3構建移動應用的平台:iOS和Android
12.3.1設置構建工具
12.3.2貼圖壓縮
12.3.3開發插件
12.4小結
附錄A場景導航和鍵盤快捷鍵
A.1使用鼠標進行場景導航
A.2一般使用鍵盤快捷鍵
附錄B與Unity一同使用的外部工具
B.1編程工具
B.1.1Visual Studio
B.1.2Xcode
B.1.3Android SDK
B.1.4SVN、Git或Mercurial
B.23D美術應用
B.2.1Maya
B.2.23dsMax
B.2.3Blender
B.32D圖像編輯器
B.3.1Photoshop
B.3.2GMP
B.3.311exturePacker
B.4音頻軟件
B.4.1Pro Tools
B.4.2Audacity
附錄C在Blender中建模一個板凳
C.1構建網格幾何體
C.2模型貼圖映射
附錄D在線學習資源
D.1附加的指南
D.2代碼庫
后序