Unity是一 款功能強大且簡單易用的游戲開發(fā)和虛擬現(xiàn)實開發(fā)平臺軟件。使用Unity可以把各種游戲素材或者虛擬現(xiàn)實素材,比如模型、貼圖、動畫等進行整合,結(jié)合Unity完 美的引擎,和友好的程序開發(fā)平臺,能制作出適合各種平臺發(fā)布的游戲或者虛擬現(xiàn)實應(yīng)用。
本書共設(shè)計了15 章內(nèi)容,包含Unity 軟件使用基礎(chǔ)、各項組件使用、程序開發(fā)基礎(chǔ)和實例、各種平臺發(fā)布技能等。在本書* 14 章還舉了一個典型的游戲制作項目,讓讀者可以從零開始一步步制作出一 款游戲。* 15 章則介紹了Unity 2017 版的新特性及使用。
本書適合對Unity感興趣,對游戲開發(fā)感興趣的讀者,也適合相關(guān)專業(yè)和院校作為游戲開發(fā)教材。
Unity官方標準教程。目前世界范圍內(nèi)unity用書已經(jīng)超過600萬。讓普通人也成為游戲開發(fā)者,是unity的愿望,所以unity以簡單易用,體驗友好著稱。本書得到unity大力支持,并作為教育認證的指定教材使用。
劉楊
國家動漫園技術(shù)研發(fā)工程師
從業(yè)經(jīng)歷
Unity User Group天津站組委會主 席,獲得Unity Certified Developer技術(shù)認證,在《天津科技》2015年第3期雜志發(fā)表了技術(shù)性論文。
作為80后的一代身殘志強的有志青年,從事軟件開發(fā)多年,對計算機編程偏愛有加,在虛擬現(xiàn)實、增強現(xiàn)實領(lǐng)域有深入研究,開發(fā)完成的Unity項目多達幾十項。
2013年,獨立完成了《中新生態(tài)城國家動漫園虛擬漫游》、《紅橡虛擬樣板間》 iPad版本以及AR版本項目。
2014年,先后完成了《英軒重工集團虛擬交互系統(tǒng)》、《天津警備區(qū)虛擬漫游交互系統(tǒng)》項目制作。
2015年,完成了《泰達國際心血管病醫(yī)院網(wǎng)站3D交互系統(tǒng)》,受到了泰達國際心血管病醫(yī)院的一致好評;同年又在OCULUS DK2平臺上自主研發(fā)發(fā)布了《楊柳青古鎮(zhèn)虛擬漫游》項目。
2016年,在HTC VIVE平臺完成了《模擬火災(zāi)逃生》、《模擬地鐵維修》項目的開發(fā)工作。
2017年,完成了《醫(yī)療器械3D網(wǎng)上展館》網(wǎng)頁版項目、《未來智能修井車》Android版本項目。
史明
亮風(fēng)臺信息科技有限公司 產(chǎn)品經(jīng)理
數(shù)字藝術(shù)家、作者、設(shè)計師、游戲制作人。
互聯(lián)網(wǎng)行業(yè)從業(yè)10余年,從軟件產(chǎn)品到硬件產(chǎn)品都有涉獵,經(jīng)歷了從PC端時代到移動端時代的劇烈遷移。致力于設(shè)計與程序的融合,創(chuàng)作出色的數(shù)字藝術(shù)作品。
主要作品有騰訊《袋鼠跳跳3D》AR、晨光《大魚活了》AR、獨立游戲《Back to the light》。參展第三屆東京畫廊綠校年展、北京大聲展。igotU旅行記錄器硬件產(chǎn)品設(shè)計,以及751 Live Tank藝術(shù)裝置,曾參與設(shè)計“igotU‘旅行記錄器等可穿戴設(shè)備。
目 錄
* 1章 認識Unity
1.1 Unity的發(fā)展
1.2 用Unity開發(fā)的經(jīng)典游戲案例
1.3 Unity在VR/AR領(lǐng)域里的應(yīng)用
1.3.1 用Unity 能輕松構(gòu)建VR
1.3.2 Unity 對于AR/VR行業(yè)的影響
1.4 如何安裝Unity軟件
動手操作:下載并安裝Unity軟件
動手操作:注冊Unity賬號
1.5創(chuàng)建* 一個Unity項目工程
動手操作:Unity新建工程
1.6 Unity Asset Store(Unity資源商店)
動手操作:使用Asset Store資源商店
* 2章 Unity的操作界面
2.1 界面布局
2.1.1 Hierarchy層級視圖
2.1.2 Project項目視圖
2.1.3 Inspector檢視視圖
2.1.4 Game游戲視圖
2.1.5 Scene場景視圖
2.1.6 Console控制臺視圖
2.2 菜單欄
動手操作:Scene場景視圖的操作
動手操作:Project Settings的使用方法
動手操作:導(dǎo)入/導(dǎo)出資源包
動手操作:查看Unity Manual和Scripting Reference
2.3 工具欄
動手操作:改變游戲場景
第3章 Unity場景設(shè)定
3.1 資源導(dǎo)入流程
動手操作:3D模型(含動畫)的FBX導(dǎo)出
3.2 組件的使用
3.2.1 光源的使用
3.2.2 攝像機的使用
3.2.3 角色控制器
動手操作:建立角色控制器
3.2.4 天空盒
動手操作:導(dǎo)入天空盒
3.2.5 霧效果與水效果
動手操作:添加自然效果
3.2.6 音效
動手操作:添加音效
第4章 Unity物理引擎
4.1 剛體
4.2 碰撞體
4.3 關(guān)節(jié)
4.4 力場
4.5 布料
動手 操作:布料組件的應(yīng)用(毯子效果)
4.6 物理引擎實例
動手操作:物理碰撞的應(yīng)用
第5章 Shuriken粒子系統(tǒng)
5.1 Shuriken粒子系統(tǒng)概述
5.2 Shuriken粒子系統(tǒng)參數(shù)講解
5.2.1 Initial(初始化模塊)
5.2.2 Emission (發(fā)射模塊)
5.2.3Shape(形狀模塊)
5.2.4 Velocity over Lifetime(生命周期速度模塊)
5.2.5Color over Lifetime(生命周期顏色模塊)
5.2.6 Size Over Lifetime(生命周期粒子大小模塊)
5.2.7 Renderer(粒子渲染器模塊)
5.2.8 Particile Effect(粒子效果面板)
5.3 Shuriken粒子系統(tǒng)特效插件
5.3.1 Ultimate VFX v2.7
5.3.2 Realistic Effects Pack 4
5.3.3 Magic Arsenal
5.4 Shuriken粒子系統(tǒng)案例
動手操作:運用粒子系統(tǒng)制作太陽日冕效果
動手操作:制作瀑布效果
動手操作:制作卡通爆炸效果
第6章 Mecanim動畫系統(tǒng)
6.1 Mecanim動畫系統(tǒng)概述
動手操作:準備Unity-chan人物
6.2 創(chuàng)建和配置Avatar
6.2.1創(chuàng)建Avatar
6.2.2配置Avatar
6.3 設(shè)置Animator Controller(動畫控制器)
動手操作:設(shè)置動畫控制器
6.4 設(shè)置Blend Tress(動作混合樹)
動手操作:設(shè)置動畫混合樹
6.5 控制人物走路方向
第7章 Unity光照貼圖技術(shù)
7 .1 光照貼圖技術(shù)示例
動手操作:簡單的光照渲染
7.2烘焙相關(guān)參數(shù)設(shè)置
7.2.1 Object(物體)參數(shù)設(shè)置
7.2.2 Light(光源)參數(shù)設(shè)置
7.2.3 Lighting視圖下Scene選項卡
7.2.4 Lightmaps(光照貼圖信息)選項卡
7.3 Real time GI
7.3.1 全局光照介紹
7.3.2 不同的GI繪圖模式
7.4 Light map
7.5 GI與Lightmap
7.6光照貼圖技術(shù)實例
動手操作:制作場景光照實例
第8章 C#編程基礎(chǔ)
8.1 Hello World!
動手操作:我的* 一個C#程序
8.2 Unity第三方腳本編輯器
動手操作:更改腳本編輯器
8.3 MonoBehaviour類
8.3.1 必然事件
8.3.2 Collision事件
8.3.3 Trigger事件
8.4 GameObject類
8.4.1 Instantiate實例化
8.4.2 Destory銷毀
8.4.3 GetComponent獲取組件
8.4.4 SetActive顯示/隱藏游戲?qū)ο?
8.5 Transform類
動手操作:控制物體移動和旋轉(zhuǎn)
8.6 Rigidbody類
8.7 Time類
動手操作:每隔5秒前進2米
8.8 Random類和Mathf類
8.8.1 Mathf類
動手操作:小球來回擺動
8.8.2 Random類
動手操作:隨機改變顏色
8.9 Coroutine 協(xié)同
動手操作:協(xié)同程序
8.10 游戲?qū)嵗?扔骰子
第9章 Unity 5圖形用戶界面——UGUI
9.1 UGUI圖形用戶界面系統(tǒng)
動手操作:將圖片設(shè)置為Sprite
9.2 UGUI控件系統(tǒng)介紹
9.2.1 Canvas畫布
9.2.2 Text 文本
動手操作:制作時鐘
9.2.3 Image圖像
動手操作:制作進度條
9.2.4 Raw Image原始圖像
動手操作:RawImage播放視頻
9.2.5 Button按鈕
動手操作:Button的使用
9.2.6 Toggle 開關(guān)
動手操作:利用Toggle來開關(guān)音樂
9.2.7 Slider滑動條
動手操作:利用Slider滑動條來調(diào)整音量
9.2.8 InputField文本框
9.3 Rect Transform矩形變換
9.3.1 Pivot 軸心點
9.3.2 Anchors 錨框
9.4 UGUI界面布局實例
動手操作:我的* 一個“游戲主菜單”界面
* 10章 Shader著色器基本知識
10.1認識Shader
動手操作:制作* 一個Shader
10.2 Shader基本語法
10.3 著色器的兩種自定義
10.3.1 Surface Shader(表面著色器)
10.3.2 Vertex and Fragment Shader(頂點和片段著色器)
10.4 Unity Shader案例:制作金屬材質(zhì)
* 11章 游戲資源打包
11.1 認識AssetBundle
11.2 創(chuàng)建AssetBundle
動手操作:創(chuàng)建AssetBundle
11.3 下載AssetBundle
11.4 AssetBundle加載和卸載
動手操作:加載和卸載AssetBundle
* 12章 跨平臺發(fā)布
12.1 平臺發(fā)布設(shè)置
12.2 發(fā)布單機版游戲
12.3 發(fā)布Android版游戲
動手操作:Java SDK的環(huán)境配置
動手操作:安裝Android Studio
動手操作:配置Unity
動手操作:發(fā)布Android
12.4 發(fā)布iOS游戲
動手操作:安裝XCode
動手操作:發(fā)布iOOS
12.5 發(fā)布WebGL
動手操作:發(fā)布WebGL
12.6 發(fā)布虛擬現(xiàn)實平臺
動手操作:發(fā)布Oculus平臺
* 13章 Unity Services(中文翻譯Unity服務(wù))
13.1 Unity Services(中文翻譯Unity服務(wù))介紹
動手操作:在Unity開 發(fā) 者控制面板創(chuàng)建項目
13.2 Unity Ads(中文翻譯Unity廣告)
動手操作:使用Unity Ads(Unity廣告)(中文翻譯)
13.3 Unity Analytics(中文翻譯Unity數(shù)據(jù)分析)
動手操作:使用Unity Analytics(Unity數(shù)據(jù)分析)(中文翻譯)
13.4 Unity Certified(中文翻譯Unity認證)
13.5 Unity Cloud Build(Unity云構(gòu)建)
13.6 Unity Collaborate(Unity協(xié)同服務(wù))
動手操作:使用Unity Collaborate
13.7 Unity IAP(Unity應(yīng)用程序內(nèi)置購買)
動手操作:使用Unity IAP
13.8 Unity Performance Reporting(Unity性能報告)
動手操作:使用Unity Performance Reporting
* 14章 Unity綜合案例——炸彈人(雙人戰(zhàn))
14.1 游戲介紹
14.2 建立項目及準備素材
14.3 場景搭建
14.4 鍵盤控制炸彈人的行為
14.5 投炸彈的交互制作
14.6 創(chuàng)建爆炸
14.7 讓爆炸變得更大
14.8 連鎖反應(yīng)
14.9 炸墻壁
14.10 炸彈人死亡
14.11 游戲結(jié)束界面
14.12 本章小結(jié)
* 15章 Unity 2017版的新特性及使用
15.1 Unity 2017版概述.
15.2 Timeline(時間軸)
動手操作: Timeline 的使用
15.3 Cinemachine(智能攝像機)
動手操作: Cinemachine的使用
15.4 Post-processing(后期處理)
15.4.1 Antialiasing(抗鋸齒)
15.4.2 Ambient Occlusion(環(huán)境光遮蔽)
15.4.3 Screen Space Reflection(屏幕空間反射)
15.4.4 Depth of Field(景深特效)
15.4.5 Motion Blur(運動模糊)
15.4.6 Eye Adaptation(人眼調(diào)節(jié))
15.4.7 Bloom(泛光特效)
15.4.8 Color Grading(顏色分級)
15.4.9 User Lut(用戶調(diào)色預(yù)設(shè))
15.4.10 Chromatic Aberration(色差)
15.4.11 Grain(顆粒)
15.4.12 Vignette(漸暈)
附錄 C#基本語法
一、 變量
動手操作:使用變量
二、 運算符
動手操作:使用運算符
三、 控制語句