目錄
第Ⅰ部分起步
第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代碼庫
後序
· · · · · · (
收起)