Unity遊戲設計- Unity基礎指引

Please download to get full document.

View again

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
 4
 
  1. Unity基礎指引 Revised on September 7, 2019  安裝Unity  Unity IDE操作說明  攝影機設定  場景切換  匯出package  建立執行檔 …
Share
Transcript
  • 1. Unity基礎指引 Revised on September 7, 2019  安裝Unity  Unity IDE操作說明  攝影機設定  場景切換  匯出package  建立執行檔  官方學習資源
  • 2.  Unity Technologies公司於2005年推出的遊戲開發工具  4.2版以前專為3D遊戲開發而設計,稱為Unity 3D  4.3版本起增加⼀套2D遊戲開發工具包,加入2D物理引擎,重新正名 為Unity;開發遊戲專案時可選擇2D或3D遊戲專案  2017年7月推出Unity 2017.1版本  Timeline視覺化工具,可用於創建影視內容,例如過場動畫、預告片、遊 戲試玩視頻等  Cinemachine相機系統,您可以像電影導演⼀樣,在Unity中合成鏡頭, 無需編寫任何代碼  Post-processing可以很方便地為場景應用各種逼真濾鏡,使用電影工業 級技術、控制項和顏色空間格式來創造高品質視覺效果 關於Unity 1/2 2
  • 3.  2017.2版開始不再提供Javascript腳本語言,並將Vuforia AR整合 進Unity編輯器  2018年5月推出Unity 2018.1版本  ShaderGraph,通過視覺化介面拖拽就可以實現著色器的創建和編輯  不再綁定MonoDevelop-Unity⼀起發行,推薦使用Visual Studio Code  https://code.visualstudio.com/download  2019年4月推出Unity 2019.1版本  更新Terrain引擎 關於Unity 2/2 3
  • 4.  Unity Personal:營收在10萬美元以下的用戶可免費使用  Unity Plus:供營收在20萬美元以下的用戶可使用,每月35美元或1 年期每月25美元  Unity Pro:每月125美元 Unity授權方式 4
  • 5.  https://unity3d.com/get-unity/download/archive  可使用Unity Installer在線安裝或下載個別安裝檔離線安裝  點擊Release notes會跳到其它下載頁面,下載其它元件安裝程式 安裝Unity 1/3 5
  • 6.  https://unity3d.com/unity/whats-new/2019.1.5 安裝Unity 2/3 6
  • 7.  使用Unity Installer在線安裝  依需求勾選下載安裝項目 安裝Unity 3/3 7
  • 8. 註冊Unity ID 8  https://unity.com/
  • 9.  https://code.visualstudio.com/ 安裝Visual Studio Code 9
  • 10.  https://dotnet.microsoft.com/download 安裝.NET Core SDK 10
  • 11. 安裝C# for Visual Studio Code擴充 11
  • 12. 安裝Uniy擴充 12
  • 13. 範例專案 13
  • 14. 教學專案 14
  • 15. Unity IDE 1/2 15 階層面板 專案面板及控制台面板 場景面板及遊戲面板 屬性面板 工具列 系統選單
  • 16.  功能選單WindowLayouts可選用不同的版面配置  系統選單:控制Unity的設定與調整遊戲專案  工具列:包含變形工具、撥放控制及功能面板排列操作工具  階層面板(Hierarchy):列出場景中的所有遊戲物件及彼此之間的階 層關係  專案面板(Project)及控制台面板(Console):顯示專案內的素材及 除錯訊息  場景面板(Scene)及遊戲面板(Game):編輯場景及遊戲執行的顯示  屬性面板(Inspector):檢視及調整物件的屬性 Unity IDE 2/2 16
  • 17.  顯示目前場景中的所有物件,並依照物件間的階層關係排列  例如最上層物件有攝影機(Cameras)、車子(Car)、燈光(Lighta)…  車子物件包括碰撞器(Colliders)、輪轂(WheelsHubs)… 階層面板 (Hierarchy) 1/2 17 GameObject選單命令
  • 18.  將物件拖曳到另⼀物件下,物件就被群組在⼀起,最上層物件稱為⽗ 物件,其它物件則為其子物件  ⼀個不屬於任何群組的物件,是以世界座標原點為參考點;而子物件 則是以其以⽗物件為座標原點  子物件會隨著⽗物件旋轉、移動、縮放  雙擊列表中的物件,可快速將視角切換到該物件位置 階層面板 (Hierarchy) 2/2 18
  • 19.  變形工具:對選取物件進行移動、旋轉、縮放、平面編輯 (2D物件) 工具列 1/6 19 變形工具 遊戲撥放控制 調整面板排列 Unity服務 帳號作業 圖層管理群組中心與座標 平移場景(Q) 旋轉物體(E) (T)針對一個平面進行移動、旋轉及縮放,在編輯2D 物件時較常使用 移動物體(W) 縮放物體(R) (Y) 移動、旋轉及縮放物體 協同作業
  • 20.  Hand tool 拖曳滑鼠左鍵移動場景  Move tool 點選並拖曳物件軸箭頭可使物件沿著該軸向移動,點選 軸之間形成的方形並拖曳,可使物件在二個軸向移動  Rotate tool 點選並拖曳物件軸圓環可使物件沿著該軸向轉動,點選 物件中心並拖曳,可使物件自由旋轉 工具列 2/6 20
  • 21.  Scale tool 點選並拖曳物件有正方形的軸箭頭,可縮放物件該軸向 之大小。點擊並拖曳中間白色方塊則可縮放物件  Rect tool 2D物件(X、Y平面)之縮放  Move, Rotate & Scale tool 物件移動、旋轉及縮放作業 工具列 3/6 21
  • 22.  群組軸心:Center表示群組以全部物件的中心做 為軸心,Pivot表示以⽗物件中心點做為群組物件 軸心  座標系統:自身座標(Local)的原點以及方向是以 物件本身的位置及方向為基準,世界座標(Global) 是以場景中心為原點  遊戲撥放控制  進入執行模式時,對遊戲物件及其元件的操作(變更) 都是暫時的,結束執行模式回到編輯模式後,會自 動回復到執行前的狀態 工具列 4/6 22 群組軸心 座標系統 執行遊戲 單步執行 暫停執行
  • 23.  服務視窗:啟用/關閉Unity服務,必須先登入Unity 工具列 5/6 23 開啟Unity服務選單 登入/登出Unity帳號
  • 24.  圖層管理:設定專案圖層結構  面板排列:設定面板排列方式 工具列 6/6 24
  • 25. Q Hand Tool W Move Tool E Rotate Tool R Scale Tool T Rect Tool Ctrl+ Z Undo Ctrl + Y Redo Ctrl + X Cut Ctrl + C Copy Ctrl + V Paste Ctrl + D Duplicate Shift + Del Delete Ctrl + A Select all Ctrl + P Play Ctrl + Shift + P Pause 快速鍵 25
  • 26.  管理專案使用到的檔案,這些檔案存在Unity專案資料夾內的Assets 資料夾內  最好建立子資料夾分門別類管理不同資源類型,常用資源包括:  場景(Scene)、預製物件(Prefab)、程式腳本(Script)、3D模型 (Model)、圖片(Sprite)、音效(Audio)、動畫(Animation)… 專案面板 (Project) 26 Assets/Create選單命令
  • 27.  場景指的就是遊戲畫面,可以在這個場景視窗中擺設遊戲物件 場景面板 (Scene) 1/3 27 圖示顯示選單2D/3D切換 場景燈光開關 天空背景關闗 音效開關 透視視圖 軸向控制器 物件繪圖選單 以名稱搜尋場景中的物件
  • 28.  點擊軸向控制器(Scene Gizmo) 可快速切換到不同軸的視角。點擊 中心的立方體,可切換Perspective View(透視視圖) 或Isometric View(等距視圖) 場景面板 (Scene) 2/3 28 等距視圖
  • 29.  旋轉場景:Alt+拖曳滑鼠左鍵  拉近/拉遠場景:滑鼠滾輪或Alt+拖曳滑鼠右鍵  將物件顯示於視窗中央: A. 在Hierarchy面板,雙擊物件 B. 在場景中點選物件後,按F鍵  第⼀⼈稱瀏覽(旋轉)場景:拖曳滑鼠右鍵  點選攝影機,會以子視窗顯示該攝影機視角所看到的畫面 場景面板 (Scene) 3/3 29
  • 30.  透過設定的Camera(相機)視角所看到的場景,模擬遊戲的執行畫面 遊戲面板 (Game) 1/2 30 螢幕比例選單攝影機畫面選單 執行時最大化
  • 31.  顯示遊戲的執行效能數據,包括音訊、顯卡、網路資訊 遊戲面板 (Game) 2/2 31 開啟遊戲執行動態資訊
  • 32.  檢視目前選取物件之所有可設定的屬性  遊戲物件基本屬性,例如物件名稱、位 置座標、圖層…等  附加在物件上的元件屬性,例如燈光、 剛體、碰撞器、程式腳本…等 屬性面板 (Inspector) 32
  • 33.  File選單 A. 場景的新增、開啟與儲存  Unity不會自動儲存修改過的場景 B. 專案的新增、開啟與儲存 C. 專案的建置設定與建置並執行 D. 關閉Unity 系統選單 1/7 33 A B C D
  • 34.  Edit選單 A. 場景的基本操作,例如剪下、貼上、 複製與刪除等 B. 專案的執行、暫停與單步執行 C. 登入與登出 D. 將目前選擇的物件儲存,以便從儲存 的物件清單中快速選擇物件 E. 專案環境設定 F. 圖像模擬功能 G. 最小單位設定 系統選單 2/7 34 A B C D E F G
  • 35.  Assets選單 A. 專案素材的創建、開啟及刪除等 B. 開啟已選取的Scene,可用於比較場景 相近的Scene C. 專案素材套件管理 D. 更新當前專案至最新的Unity專案版本 E. 以預設編輯器開啟專案腳本程式 系統選單 3/7 35 A B C D E
  • 36.  GameObject選單 A. 遊戲物件的創建 B. 物件的從屬關係設定及預製物件的操作 C. 將選取物件與攝影機對齊 系統選單 4/7 36 A B C
  • 37.  Component選單 A. 在屬性面板開啟新增元件作業選單 B. 可創建的元件選單 系統選單 5/7 37 A B
  • 38.  Window選單 A. 作業面板切換 B. 變更面板排列方式 C. 呼叫出指定的面板 系統選單 6/7 38 A B C
  • 39.  Help選單 A. 關於Unity的版本、授權等資訊 B. 使用手冊及API參考手冊 C. Vuforia AR引擎資源入口 D. Unity官方輔助資源入口 E. 檢查更新及下載測試版 F. Unity授權的管理 G. 版本說明及錯誤回報 H. 回復套件到預設狀態 I. 常見問題排除說明 系統選單 7/7 39 A B C D E G I H F
  • 40.  選單命令Edit/Project Setting...用來設定遊戲的顯示配置  Icon設定遊戲圖示  Splash Image為遊戲開始前顯示的圖像,免費版本會固定顯示Unity徽標 專案設定 40
  • 41.  Unity提供多種預設的版面配置讓使用者自由選擇,也可以儲存當前 自訂義的版面配置方式 自訂版面配置 41
  • 42.  選單命令File> New Project…  切換到Learn面板,點選Basic Tutorials Unity基礎教學 42
  • 43.  選單命令File> New Project…  指定專案名稱、儲存位置,以及遊戲樣板 (2D、3D或VR…)  Add Asset Package:要滙入專案的資源包。開發過程中,需要時再匯入 建立專案 43 專案名稱(不可中文) 專案位置*(不可中文) 專案樣板(2D、3D、VR…) 滙入資源包 啟用Unity分析(5.4.0版新增)
  • 44.  選單命令Edit> Project Settings...  Player項目  免費使用版本的Unity, Splash固定為Unity徽標 變更應用程式Icon及Splash 44
  • 45.  場景(Scene)就是遊戲的⼀個關卡  玩家看到的遊戲畫面通常只是場景的某⼀部份  建立專案時會自動產⽣⼀個預設場景  編輯過程中記得透過快捷鍵Ctrl-S儲存場景,副檔名.unity  新增場景  選單命令File> New Scene 場景 45
  • 46.  在遊戲裡登場的所有東⻄  玩家、敵⼈、道具、背景模型、光源、聲音、攝影機、分數…  元件  附加到遊戲物件上,以賦予遊戲物件特定功能,例如碰撞、重力、音效… 遊戲物件 46
  • 47.  攝影機決定場景從哪裡、哪個角度觀察  場景預設會自動加入⼀個攝影機物件Main Camera及方向光  Clear Flags 螢幕空白部份處理方式  Skybox 螢幕空白部份顯示天空盒  Solid box 螢幕空白部份顯示攝影機底色(Background設定值)  Depth Only 深度相機,只渲染採集到的畫面  Don't Clear 不清除顏色或深度緩衝區,疊加每幀渲染畫面  Culling Mask 剔除遮罩,只渲染勾選的圖層  Background 背景顏色 攝影機設定 1/5 47
  • 48.  Projection 投影方式  Orthographic 等距投影,物體沒有前後距離分別  Perspective 透視投影,物體有前後距離之分別 攝影機設定 2/5 48 Perspective Orthographic
  • 49.  Field of View 透視投影模式時,攝影機的視野角度,預設為60  Size 正交投影模式時,攝影機的視野高度,預設為5  Clipping Planes 裁切平面 (攝影機渲染區間)  Near 可視區域的起點 (與攝影機距離)  Far 可視區域的終點 (與攝影機距離)  Viewport Rect 攝影機畫面在螢幕上的顯示區域;螢幕左下角為原點,最上方Y=1,最右 方X=1。預設攝影機畫面充滿整個螢幕  X、Y 決定顯示位置,預設值為0 (左下角)  W、H 決定顯示區域寬度及高度,預設值為1 (充滿整個螢幕) 攝影機設定 3/5 49
  • 50.  Depth 攝影機的渲染優先級別,數值越大優先級別越高。優先級別高的攝影機畫 面會覆蓋在級別低的攝影機畫面上;Main Camera之Depth預設值為-1  Rendering Path 渲染路徑,指定攝影機渲染方式  Use Graphics Settings 套用Project Settings下的Graphics設定  Forward 每個材質⼀個通道的方式來渲染  Deferred 先對所有物件進行⼀次無光照渲染,再進行 光照渲染  Legacy Vertex Lt 舊版的頂點光照。將所有的遊戲物件作為頂 點光照物件來渲染  Legacy Deferred 舊版的延遲光照 攝影機設定 4/5 50
  • 51.  Target Texture 指定目標紋理。將攝影機畫面輸出到⼀張Render Texture而非螢幕,可 應用製作遊戲場景縮圖或畫面特效  Occlusion Culling 是否剔除物體背向攝影機的部份  Allow HDR 高動態光照渲染  Allow MSAA 多重採樣抗鋸齒渲染(multisample antialiasing) 攝影機設定 5/5 51
  • 52.  建立新3D專案,專案名稱Startup  選單命令File> Save As...,將預設場景儲存為main  Main Camera  Position(X, Y, Z) = (0, 0, -5)  選單命令GameObject> 3D Object> Sphere  重置Transform  Ctrl-D複製二個Sphere物件  Sohere (1)  Position(X, Y, Z) = (-4.5, 0, 0)  Sohere (2)  Position(X, Y, Z) = (0, 0, -4.5) Lab 攝影機測試 1/2 52
  • 53.  選單命令GameObject> Camera  Position(X, Y, Z) = (0, 0, -30)  Projection = Orthographic  Size = 3  Viewport Rect  (X, Y) = (0.8, 0.8)  (W, H) = (0.2, 0.2) Lab 攝影機測試 2/2 53
  • 54.  程式腳本用來控制當發⽣特定情況(事件)時,元件該有什麼反應或進 行那些回應措施?  ⼀個未賦予程式腳本的遊戲物件,在場景上就像是⼀個靜態裝飾品, 不會有自己的行為,也無法與其物件互動  ⼀個遊戲物件允許附加多個程式腳本  同⼀程式腳本也可套用到多個遊戲物件,每個遊戲物件擁有自己的程 式腳本副本  遊戲引擎會定時執行遊戲專案之程式腳本  https://docs.unity3d.com/Manual/ExecutionOrder.html Unity程式腳本 1/2 54
  • 55.  Unity程式腳本使用C#語言,預設腳本程式碼如下: using UnityEngine; using System.Collections; public class ScriptFilename : MonoBehaviour { // Use this for initialization void Start (){ } // Update is called once per frame void Update (){ } } Unity程式腳本 2/2 55
  • 56.  Unity 2018.1開始,不再把MonoDevelop-Unity與Unity⼀起捆綁 發行,也不再支援使用MonoDevelop-Unity進行開發  Visual Studio Code https://code.visualstudio.com  .Net Core SDK https://www.microsoft.com/net/download 腳本編輯器 1/2 56
  • 57.  選單命令Edit> Preferences… 腳本編輯器 2/2 57
  • 58.  選單命令File> Building Settings…,將場景加入Scenes In Build清單中 場景切換 1/2 58
  • 59. using UnityEngine.SceneManagement; public class Main : MonoBehaviour { void Update () { if (Input.GetMouseButtonDown(0)) SceneManager.LoadScene("scene_name"); } } 場景切換 2/2 59
  • 60.  開啟Startup專案  選單命令GameObject> Create Empty  更名為GameController  加入Main程式腳本 Lab 場景切換測試 1/5 60
  • 61.  編輯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"); } } Lab 場景切換測試 2/5 61
  • 62.  選單命令File> New Scene,新增關卡1場景  選單命令File> Save,將場景儲存為level_one  選單命令GameObject>3D Object> Cube,在場景中加入立方塊,做 為分辨場景用  選單命令GameObject> Create Empty  更名為GameController  加入Level_one程式腳本 Lab 場景切換測試 3/5 62
  • 63.  編輯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 Lab 場景切換測試 4/5 63
  • 64.  選單命令File> Building Settings…,將main及level_one場景加 入Scenes In Build清單中  執行測試  點擊滑鼠左鍵可切換場景 Lab 場景切換測試 5/5 64
  • 65.  以下程式按Esc鍵時結束遊戲程式 if (Input.GetKey (KeyCode.Escape)) { Application.Quit (); }  註:需建立執行檔測試 結束應用程式 65
  • 66.  Unity Asset Store有非常豐富的套件,其中不乏免費資源。由 Asset Store面板搜尋想要的Unity範例 下載官方資源 1/5 66 套件的價格會不定期調整
  • 67.  點擊Download 下載官方資源 2/5 67
  • 68.  登錄Unity帳號 下載官方資源 3/5 68
  • 69.  等待下載並解壓  已下載過的套件會儲存在c:Users用戶名稱AppDataRoaming UnityAsset Store-5.x目錄下 下載官方資源 4/5 69
  • 70.  選取要滙入要專案的資源,再點擊Import按鈕 下載官方資源 5/5 70
  • 71.  了解遊戲引擎事件程序的執行流程,才能正確安排程式腳本,調校遊 戲效能  https://docs.unity3d.com/Manual/ExecutionOrder.html 事件函式執行流程 1/3 71
  • 72. 事件函式執行流程 2/3 72
  • 73. 事件函式執行流程 3/3 73
  • 74.  在腳本中的Update每個幀都會被執行⼀次。由於每個幀的間隔時間不 盡相同,因此也導致了Update的執行間隔時間並不相同  FixedUpdate執行的間隔時間是相同的。在FixedUpdate呼叫完後, 會進行需要處理的物理計算。因此任何會影響到剛體(rigidbody)的 行為都應該放到FixedUpdate執行而不適合在update中 Update vs. FixedUpdate 74
  • 75.  專案內容可以封裝成Unitypackage檔,來備份專案的進度或移植到 其它電腦上使用  Assets選單Export Package…命令 匯出package 75
  • 76.  選單命令Files>Build Settings…  設定遊戲場景  選擇遊戲平台  點擊Build按鈕 建立執行檔 76
  • 77.  https://docs.unity3d.com/Manual/index.html 線上手冊 77
  • 78.  選單命令File> New Project…,切換到Learn面板 官方學習資源 1/4 78
  • 79. 官方學習資源 2/4 79
  • 80. 官方學習資源 3/4 80
  • 81. 官方學習資源 4/4 81
  • Similar documents
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks
    SAVE OUR EARTH

    We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

    More details...

    Sign Now!

    We are very appreciated for your Prompt Action!

    x