Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Unity遊戲程式設計(01) Unity簡介

2 057 vues

Publié le

Updated on September 11, 2017
1. Unity IDE介面與基本操作
2. 攝影機設定
3. 場景管理
3. Asset套件匯入與匯出作業

Publié dans : Logiciels
  • Soyez le premier à commenter

Unity遊戲程式設計(01) Unity簡介

  1. 1. 電子工程系車用電子與資訊組 Unity遊戲程式設計(01) Unity簡介 吳錫修 September 11, 2017
  2. 2. shapethefuture  Unity Technologies公司於2005年推出的⼀款功能強⼤的遊戲開發 工具  4.2版以前專為3D遊戲開發而設計,稱為Unity 3D  4.3版本起增加⼀套2D遊戲開發工具包,加入2D物理引擎,重新正 名為Unity;開發遊戲專案時可選擇2D或3D遊戲專案 關於Unity 1/3 2 Wu, ShyiShiou Dept. of E.E., NKUT
  3. 3. shapethefuture  2015年3月推出Unity 5版本  個人版 (personal):營收在10萬美元以下的用戶可免費使用  專業板 (professional):每月75美元起 關於Unity 2/3 3 Wu, ShyiShiou Dept. of E.E., NKUT
  4. 4. shapethefuture  2017年7月推出Unity 2017.1版本  Timeline視覺化工具,可用於創建影視內容,例如過場動畫、預告片、 遊戲試玩視頻等  Cinemachine相機系統,您可以像電影導演⼀樣,在Unity中合成鏡頭, 無需編寫任何代碼  Post-processing可以很方便地為場景應用各種逼真濾鏡,使用電影工 業級技術、控制項和顏色空間格式來創造高品質視覺效果 關於Unity 3/3 4 Wu, ShyiShiou Dept. of E.E., NKUT
  5. 5. shapethefuture  https://unity3d.com/cn/get-unity/download/archive 下載unity軟體 1/2 5 Wu, ShyiShiou Dept. of E.E., NKUT
  6. 6. shapethefuture 下載unity軟體 2/2 6 Wu, ShyiShiou Dept. of E.E., NKUT
  7. 7. shapethefuture 註冊Unity ID 7 Wu, ShyiShiou Dept. of E.E., NKUT
  8. 8. shapethefuture 範例專案 8 Wu, ShyiShiou Dept. of E.E., NKUT
  9. 9. shapethefuture 教學專案 9 Wu, ShyiShiou Dept. of E.E., NKUT
  10. 10. shapethefuture Unity編輯環境 1/2 10 Wu, ShyiShiou Dept. of E.E., NKUT 階層面板 專案面板及控制台面板 場景面板及遊戲面板 屬性面板 工具列 系統選單
  11. 11. shapethefuture  功能選單WindowLayouts可選用不同的版面配置  系統選單:控制Unity的設定與調整遊戲專案  工具列:包含變形工具、撥放控制及功能面板排列操作工具  階層面板 (Hierarchy):列出場景中的所有遊戲物件及彼此之間的階 層關係  專案面板 (Project) 及控制台面板 (Console):顯示專案內的素材及 除錯訊息  場景面板 (Scene) 及遊戲面板 (Game):編輯場景及遊戲執行的顯示  屬性面板 (Inspector):檢視及調整物件的屬性 Unity編輯環境 2/2 11 Wu, ShyiShiou Dept. of E.E., NKUT
  12. 12. shapethefuture  顯示目前場景中的所有物件,並依照物件間的階層關係排列  例如最上層物件有攝影機 (Cameras)、車子 (Car)、燈光 (Lighta)…  車子物件包括碰撞器 (Colliders)、輪轂 (WheelsHubs)… 階層面板 (Hierarchy) 1/2 12 Wu, ShyiShiou Dept. of E.E., NKUT GameObject選單命令
  13. 13. shapethefuture  將物件拖曳到另⼀物件下,物件就被群組在⼀起,最上層物件稱為 父物件,其它物件則為其子物件  ⼀個不屬於任何群組的物件,是以世界座標原點為參考點;而子物 件則是以其以父物件為座標原點  子物件會隨著父物件旋轉、移動、縮放  雙擊列表中的物件,可快速將視角切換到該物件位置 階層面板 (Hierarchy) 2/2 13 Wu, ShyiShiou Dept. of E.E., NKUT
  14. 14. shapethefuture  變形工具:對選取物件進行移動、旋轉、縮放、平面編輯 (2D物件) 工具列 1/4 14 Wu, ShyiShiou Dept. of E.E., NKUT 變形工具 遊戲撥放控制 面板排列 Unity服務 帳號作業 圖層管理群組中心與座標 平移場景(Q) 旋轉物體(E) (T)針對一個平面進行移動、旋轉及縮放,在 編輯2D物件時較常使用 移動物體(W) 縮放物體(R)
  15. 15. shapethefuture  群組軸心:Center表示群組以全部物件的中心做 為軸心,Pivot表示以父物件中心點做為群組物件 軸心  座標系統:自身座標 (Local) 的原點以及方向是以 物件本身的位置及方向為基準,世界座標 (Global) 是以場景中心為原點  遊戲撥放控制  遊戲執行時,所有遊戲物件及其元件的操作都是暫 時的,當停止執行後,就會恢復到執行前的狀態 工具列 2/4 15 Wu, ShyiShiou Dept. of E.E., NKUT 群組軸心 座標系統 執行遊戲 單步執行 暫停執行
  16. 16. shapethefuture  服務視窗:啟用/關閉Unity服務,必須先登 入Unity 工具列 3/4 16 Wu, ShyiShiou Dept. of E.E., NKUT 開啟Unity服務選單 登入/登出Unity帳號
  17. 17. shapethefuture  圖層管理:設定專案圖層  面板排列:設定面板排列方式 工具列 4/4 17 Wu, ShyiShiou Dept. of E.E., NKUT
  18. 18. shapethefuture  管理專案使用到的檔案,這些檔案存在Unity專案資料夾內的Assets 資料夾內  最好建立子資料夾分門別類管理不同資源類型,常用資源包括:  場景 (Scene)、預製物件 (Prefab)、程式腳本 (Script)、3D模型 (Model)、 圖片 (Sprite)、音效 (Audio)、動畫 (Animation)… 專案面板 (Project) 18 Wu, ShyiShiou Dept. of E.E., NKUT Assets/Create選單命令
  19. 19. shapethefuture  場景指的就是遊戲畫面,可以在這個場景視窗中擺設遊戲物件 場景面板 (Scene) 1/3 19 Wu, ShyiShiou Dept. of E.E., NKUT 圖示顯示選單2D/3D切換 場景燈光開關 天空背景關闗 音效開關 透視視圖 軸向控制器 物件繪圖選單 以名稱搜尋場景中的物件
  20. 20. shapethefuture  點擊軸向控制器 (Scene Gizmo) 可快速切換到不同軸的視角。點擊 中心的立方體,可切換Perspective View (透視視圖) 或Isometric View (等距視圖) 場景面板 (Scene) 2/3 20 Wu, ShyiShiou Dept. of E.E., NKUT 等距視圖
  21. 21. shapethefuture  旋轉場景:Alt+滑鼠左鍵  拉近/拉遠場景:滑鼠滾輪或Alt+滑鼠右鍵  將物件顯示於視窗中央: A. 在Hierarchy面板,雙擊物件 B. 在場景中點選物件後,按F鍵  第⼀人稱瀏覽(旋轉)場景:滑鼠右鍵  點選攝影機,會以子視窗顯示該攝影機視角所看到的畫面 場景面板 (Scene) 3/3 21 Wu, ShyiShiou Dept. of E.E., NKUT
  22. 22. shapethefuture  透過設定的Camera (相機)視角所看到的場景,模擬遊戲的執行畫面 遊戲面板 (Game) 1/2 22 Wu, ShyiShiou Dept. of E.E., NKUT 螢幕比例選單攝影機畫面選單 執行時最大化
  23. 23. shapethefuture  顯示遊戲的執行效能數據,包括音訊、顯卡、網路資訊 遊戲面板 (Game) 2/2 23 Wu, ShyiShiou Dept. of E.E., NKUT 開啟遊戲執行資訊
  24. 24. shapethefuture  檢視目前選取物件之所有可設定的屬 性,包括遊戲物件屬性 (例如物件名稱、 位置座標、圖層…等);以及附加在物 件上的元件 (例如燈光、攝影機、碰撞 器、程式腳本…等) 屬性 屬性面板 (Inspector) 24 Wu, ShyiShiou Dept. of E.E., NKUT
  25. 25. shapethefuture  File選單 A. 場景的新增、開啟與儲存  Unity不會自動儲存修改過的場景 B. 專案的新增、開啟與儲存 C. 專案的建置設定與建置並執行 D. 關閉Unity 系統選單 1/7 25 Wu, ShyiShiou Dept. of E.E., NKUT A B C D
  26. 26. shapethefuture  Edit選單 A. 場景的基本操作,例如剪下、貼上、 複製與刪除等 B. Unity環境設定 C. 專案的執行、暫停與單步執行 D. 登入與登出 E. 將目前選擇的物件儲存,以便從儲存 的物件清單中快速選擇物件 F. 專案環境設定 G. 網路模擬功能與圖像模擬功能 H. 最小單位設定 系統選單 2/7 26 Wu, ShyiShiou Dept. of E.E., NKUT A B C D E F G H
  27. 27. shapethefuture  Assets選單 A. 專案素材的創建、開啟及刪除等 B. 開啟已選取的Scene,可用於比較場 景相近的Scene C. 專案素材套件管理 D. 更新當前專案至最新的Unity專案版本 E. 以預設編輯器開啟專案腳本程式 系統選單 3/7 27 Wu, ShyiShiou Dept. of E.E., NKUT A B C D E
  28. 28. shapethefuture  GameObject選單 A. 遊戲物件的創建 B. 物件的從屬關係設定及預製物件的操 作 C. 將選取物件與攝影機對齊 系統選單 4/7 28 Wu, ShyiShiou Dept. of E.E., NKUT A B C
  29. 29. shapethefuture  Component選單 A. 在屬性面板開啟新增元件作業選單 B. 可創建的元件選單 系統選單 5/7 29 Wu, ShyiShiou Dept. of E.E., NKUT A B
  30. 30. shapethefuture  Window選單 A. 作業面板切換 B. 變更面板排列方式 C. 呼叫出指定的面板 系統選單 6/7 30 Wu, ShyiShiou Dept. of E.E., NKUT A B C
  31. 31. shapethefuture  Help選單 A. 關於Unity的版本、授權等資訊 B. Unity授權的管理 C. 使用手冊及API參考手冊 D. Unity官方論壇 E. 檢查更新及下載測試版 F. 版本說明及錯誤回報 系統選單 7/7 31 Wu, ShyiShiou Dept. of E.E., NKUT A B C D E F
  32. 32. shapethefuture  Unity提供多種預設的版面配置讓使用者自由選擇,也可以儲存當前 自訂義的版面配置方式 自訂版面配置 32 Wu, ShyiShiou Dept. of E.E., NKUT
  33. 33. shapethefuture  選單命令File> New Project… 建立專案 1/2 33 Wu, ShyiShiou Dept. of E.E., NKUT
  34. 34. shapethefuture  指定專案名稱、儲存位置,以及遊戲類型 (2D或3D)  Add Asset Package:設定要附加到專案的套件。可以在專案開發 過程中,需要時再匯入 建立專案 2/2 34 Wu, ShyiShiou Dept. of E.E., NKUT
  35. 35. shapethefuture  場景 (Scene) 就是遊戲的⼀個關卡  玩家看到的遊戲畫面通常只是場景的某⼀部份  建立專案時會自動產⽣⼀個預設場景  編輯過程中記得透過快捷鍵Ctrl-S儲存場景,副檔名.unity  新增場景  選單命令File> New Scene 場景 35 Wu, ShyiShiou Dept. of E.E., NKUT
  36. 36. shapethefuture  在遊戲裡登場的所有東⻄  玩家、敵人、道具、背景模型、光源、聲音、攝影機、分數…  元件  用來附加到遊戲物件上,以賦予遊戲物件特定功能,例如碰撞、重力、 運動… 遊戲物件 36 Wu, ShyiShiou Dept. of E.E., NKUT
  37. 37. shapethefuture  攝影機決定場景從哪裡、哪個角度觀察  場景預設會自動加入⼀個攝影機物件Main Camera及方向光  Clear Flags 螢幕空白部份處理方式  Skybox 螢幕空白部份顯示天空盒  Solid box 螢幕空白部份顯示攝影機底色 (Background設定值)  Depth Only 深度相機,只渲染採集到的畫面  Don't Clear 不清除顏色或深度緩衝區,疊加每幀渲染畫面  Culling Mask 剔除遮罩,只渲染勾選的圖層  Background 背景顏色 攝影機設定 1/5 37 Wu, ShyiShiou Dept. of E.E., NKUT
  38. 38. shapethefuture  Projection 投影方式  Orthographic 正交投影,物體沒有前後距離分別  Perspective 透視投影,物體有前後距離之分別 攝影機設定 2/5 38 Wu, ShyiShiou Dept. of E.E., NKUT Perspective Orthographic
  39. 39. shapethefuture  Field of View 透視投影模式時,攝影機的視野角度,預設為60  Size 正交投影模式時,攝影機的視野寬度,預設為5  Clipping Planes 裁切平面 (攝影機渲染區間)  Near 可視區域的起點 (與攝影機距離)  Far 可視區域的終點 (與攝影機距離)  Viewport Rect 攝影機畫面顯示在螢幕的區域;螢幕左下角為原點,最上方Y=1,最右 方X=1。預設攝影機畫面充滿整個螢幕  X、Y 決定顯示區域起點,預設值為0  W、H 決定顯示區域寬度及高度,預設值為1 攝影機設定 3/5 39 Wu, ShyiShiou Dept. of E.E., NKUT
  40. 40. shapethefuture  Depth 攝影機的渲染優先級別,數值越⼤優先級別越高。優先級別高的攝影機畫 面會覆蓋在級別低的攝影機畫面上;Main Camera之Depth預設值為-1  Rendering Path 渲染路徑,指定攝影機渲染方式  Use Graphics Settings 套用Project Settings下的Graphics設定  Forward 每個材質⼀個通道的方式來渲染  Deferred 先對所有物件進行⼀次無光照渲染,再進行 光照渲染  Legacy Vertex Lt 舊版的頂點光照。將所有的遊戲物件作為頂 點光照物件來渲染  Legacy Deferred 舊版的延遲光照 攝影機設定 4/5 40 Wu, ShyiShiou Dept. of E.E., NKUT
  41. 41. shapethefuture  Target Texture 指定目標紋理。將攝影機畫面輸出到⼀張Render Texture而非螢幕,可應 用製作遊戲場景縮圖或畫面特效  Occlusion Culling 是否剔除物體背向攝影機的部份  Allow HDR 高動態光照渲染  Allow MSAA 多重採樣抗鋸齒渲染 (multisample antialiasing) 攝影機設定 5/5 41 Wu, ShyiShiou Dept. of E.E., NKUT
  42. 42. shapethefuture  Main Camera  Position (X, Y, Z) = (0, 0, -5)  選單命令GameObject> 3D Object> Sphere  Position (X, Y, Z) = (0, 0, 0)  選單命令GameObject> Camera  Position (X, Y, Z) = (0, 0, -30)  Clear Flags = Solid Color  Projection = Orthographic  Size = 3  Viewport Rect  (X, Y) = (0.8, 0.8)  (W, H) = (0.2, 0.2) 攝影機測試 42 Wu, ShyiShiou Dept. of E.E., NKUT
  43. 43. shapethefuture  Edit選單Preferences…命令  建議使用內建的MonoDevelop編輯器 腳本編輯器 43 Wu, ShyiShiou Dept. of E.E., NKUT
  44. 44. shapethefuture  場景必須加入Scenes In Build清單中  選單命令File> Building Settings using UnityEngine.SceneManagement; public class Level1 : MonoBehaviour { void Update () { if (Input.GetMouseButtonDown(0)) SceneManager.LoadScene(“Scene2"); } } 場景切換 44 Wu, ShyiShiou Dept. of E.E., NKUT
  45. 45. shapethefuture  建立新專案  選單命令File> Save Scenes,將預設場景儲存為main  選單命令GameObject> 3D Object> Cube  做為分辨場景用  選單命令GameObject> CreateEmpty  更名為GameController  加入程式腳本 場景切換測試 1/5 45 Wu, ShyiShiou Dept. of E.E., NKUT
  46. 46. shapethefuture  編輯Main.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class Main : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { if (Input.GetMouseButtonDown(0)) SceneManager.LoadScene("level one"); } } 場景切換測試 2/5 46 Wu, ShyiShiou Dept. of E.E., NKUT
  47. 47. shapethefuture  選單命令File> New Scene,新增關卡1場景  選單命令File> Save Scenes,將場景儲存為level one  選單命令GameObject>3D Object> Sphere  做為分辨場景用  選單命令GameObject> CreateEmpty  更名為GameController  加入程式腳本 場景切換測試 3/5 47 Wu, ShyiShiou Dept. of E.E., NKUT
  48. 48. shapethefuture  編輯Level_one.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class Level_one : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { if (Input.GetMouseButtonDown(0)) SceneManager.LoadScene("main"); } }  儲存場景level one.unity 場景切換測試 4/5 48 Wu, ShyiShiou Dept. of E.E., NKUT
  49. 49. shapethefuture  選單命令File> Building Settings,將main及level one場景加入 Scenes In Build清單中  執行測試  點擊滑鼠左鍵可切換場景 場景切換測試 5/5 49 Wu, ShyiShiou Dept. of E.E., NKUT
  50. 50. shapethefuture  以下程式按Esc鍵時結束遊戲程式 if (Input.GetKey (KeyCode.Escape)) { Application.Quit (); }  註:需建立執行檔測試 結束應用程式 50 Wu, ShyiShiou Dept. of E.E., NKUT
  51. 51. shapethefuture  Unity Asset Store有非常豐富的套件,其中不乏免費資源。由Asset Store面板搜尋想要的Unity範例,例如Survival Shooter 下載官方資源 1/5 51 Wu, ShyiShiou Dept. of E.E., NKUT 套件的價格會不定期調整
  52. 52. shapethefuture  點擊Download 下載官方資源 2/5 52 Wu, ShyiShiou Dept. of E.E., NKUT
  53. 53. shapethefuture  登錄Unity帳號 下載官方資源 3/5 53 Wu, ShyiShiou Dept. of E.E., NKUT
  54. 54. shapethefuture  等待下載並解壓  已下載過的套件會儲存在c:Users用戶名稱AppDataRoaming UnityAsset Store-5.x目錄下 下載官方資源 4/5 54 Wu, ShyiShiou Dept. of E.E., NKUT
  55. 55. shapethefuture  選取要滙入要專案的資源,再點擊Import按鈕 下載官方資源 5/5 55 Wu, ShyiShiou Dept. of E.E., NKUT
  56. 56. shapethefuture  了解遊戲引擎事件程序的執行流程,才能正確安排程式腳本,調校 遊戲效能  https://docs.unity3d.com/Manual/ExecutionOrder.html 事件函式執行流程 1/3 56 Wu, ShyiShiou Dept. of E.E., NKUT
  57. 57. shapethefuture 事件函式執行流程 2/3 57 Wu, ShyiShiou Dept. of E.E., NKUT
  58. 58. shapethefuture 事件函式執行流程 3/3 58 Wu, ShyiShiou Dept. of E.E., NKUT
  59. 59. shapethefuture  專案內容可以封裝成Unitypackage檔,來備份專案的進度或移植到 其它電腦上使用  Assets選單Export Package…命令 匯出package 59 Wu, ShyiShiou Dept. of E.E., NKUT
  60. 60. shapethefuture  Files選單Build Settings命令  設定遊戲場景  選擇遊戲平台  點擊Build按鈕 建立執行檔 60 Wu, ShyiShiou Dept. of E.E., NKUT
  61. 61. shapethefuture  https://docs.unity3d.com/Manual/index.html 線上手冊 61 Wu, ShyiShiou Dept. of E.E., NKUT

×