# Unity 基本使用 ###### tags: `unity` >author: NanoStar030、wcyan >last update: 2023/05/12 --- ## 一、安裝與註冊 ### 1.安裝Unity的程式 >Unity官網: https://unity.com/download >Unity Asset Store: https://assetstore.unity.com/ > >***注意事項*** > >**1. 需要註冊Unity帳號(自行研究)** >**2. Unity會要你定期更新 licenses(自行研究)** >**3. 團隊開發時,記得Unity的版本要裝一樣的** ### 2.新增Projects >**1. 開啟Unity hub** >![](https://hackmd.io/_uploads/SJPz63f4h.png) > >**2. 點左上角"New project"新增專案** >![](https://hackmd.io/_uploads/S13jC3MN2.png) >(1) 選擇專案類型(2D或3D) >(2) 專案名稱 >(3) 專案路徑 >(4) Create project > >**3. 新的基本專案就建好了** --- ## 二、基本介面操作 ### 1. 基本介面 *(貼上各項介面的圖片、說明功能)* #### (1) 各項重要視窗介紹 >:::spoiler >a. Hierarchy: >>列出目前scene內部中的所有object >>![](https://hackmd.io/_uploads/S1f3xpzEh.png) >> >b. Project: >>列出目前project的所有檔案內容 >>![](https://hackmd.io/_uploads/HJ6GZTMVh.png) >> >c. Inspector: >>點選object後,可在此更改其各項properties >>![](https://hackmd.io/_uploads/HkXKWaMVh.png) >> >d. Scene: >>顯示當前的所有object擺放位置、呈現的樣子 >>![](https://hackmd.io/_uploads/H1R5bTzVh.png) > >e. Game >>執行project後,會在此模擬執行的樣子 >>![](https://hackmd.io/_uploads/By57MpzVh.png) > >f. Console >>顯示bug或者Debug.Log顯示的地方 >>![](https://hackmd.io/_uploads/S1CbQ6zN3.png) >::: > #### (2) 整體畫面(依個人習慣不同,排版可變) >:::spoiler >![](https://hackmd.io/_uploads/rJB1maMV3.png) >::: #### (3) 呼叫上述介面 >:::spoiler >![](https://hackmd.io/_uploads/SkWn7TzEh.png) >::: ### 2. 基本操作 #### (1) 新增object >:::spoiler >在Hierarchy滑鼠右鍵選擇想要新增的object >![](https://hackmd.io/_uploads/HkkgLpzVh.png) >選擇後就會新增好object了 >![](https://hackmd.io/_uploads/Hy-ZwpzNh.png) >::: #### (2) 設定properties >:::spoiler >點一下剛剛新增的object後在Inspector中就可以更改各項properties >![](https://hackmd.io/_uploads/Hkl9P6zV2.png) >::: #### (3) 新增Script >:::spoiler >到Project視窗的Assets/Scripts(如果沒有此資料夾請自行新增) >![](https://hackmd.io/_uploads/rk2adpfE2.png) >在右半視窗滑鼠點右鍵選擇Create/C# Script >![](https://hackmd.io/_uploads/S1ZXY6ME2.png) >記得檔案名稱要取好 >::: #### (4) 執行遊戲play >:::spoiler >寫好object與各項功能後,記得多按ctrl+s儲存project >點選介面上方的play按鈕執行專案 >![](https://hackmd.io/_uploads/SkSJ5pf4n.png) >就可以在Game視窗中執行了 >要結束執行狀態在點擊一次play即可 >::: ### 3. 基本滑鼠運用 >:::spoiler >滾動可以改變大小 >按下滾輪可在不同的滑鼠模式中移動視角(但只能平移) >畫面右上角可以調整視角 > --- ## 三、遊戲物件分類 ### scene > object >> (1) UI (2D) >>> a. text >>> b. image >>> c. button >>> d. input field >>> >> (2) 3D object >>> a. cube >>> b. sphere >>> c. cylinder >>> >> (3) Camera --- ## 四、物件簡易操作 ### 0. C# Script 的使用 >:::spoiler >在Project下的空白處按右鍵 >找到create(通常在第一個) >選擇C# Script >空白處會出現#的圖示 >雙擊可顯示程式碼 >寫完程式後將#圖示拖移至你想要其做出改變的物件內 >後於畫面右方的inspector中找到Script >把你想進行動作的物件丟進去(也可以用選擇的) >![](https://hackmd.io/_uploads/SyY3MWnVn.png) ### 1. 顯示 and 隱藏 > 1. 於程式碼 class 內打入 >~~~c# >public GameObject text; // 定義一個 Gameobject >~~~ > 2. 於 class 內再創建一個 Function >~~~c# >public void buttonClicked() // 按鈕點擊時呼叫 >{ > if(text.active == true) // 如果 GameObject text 是顯示的狀態 > { > text.SetActive(false); // text 設定為隱藏 > } > else > { > text.SetActive(true); // text 設定為顯示 > } >} >~~~ >可寫成這樣(這樣的程式是在同一個button下的顯示與隱藏 >點選button物件![](https://hackmd.io/_uploads/HyvBAyZS3.png) >右方的inspector中會有一個onclick(),按下+![](https://hackmd.io/_uploads/Bk7uAyZH3.png) >將你包裝好的物件丟進去裡面(這代表你可以在點選button的同時叫出那段程式 ### 2. 移動 and 轉動 >於程式碼class內打入public GameObject move;//定義一個Gameobject >於class內在創建一個public void >可寫成這樣(這樣的程式是在4個button下移動與轉動 >點選button物件![](https://hackmd.io/_uploads/HyvBAyZS3.png) >右方的inspector中會有一個onclick(),按下+![](https://hackmd.io/_uploads/Bk7uAyZH3.png) >將你包裝好的物件丟進去裡面(這代表你可以在點選button的同時叫出那段程式 > ~~~ C# > public void buttonClicked() > { > if (cube.active == true) > { > cube.SetActive(false); > } > else > { > cube.SetActive(true); > } > } > public void buttonClickedUp() > { > cube.transform.position = new Vector3(cube.transform.position.x, cube.transform.position.y + 1, cube.transform.position.z); > } > public void buttonClickedDown() > { > cube.transform.position = new Vector3(cube.transform.position.x, cube.transform.position.y - 1, cube.transform.position.z); > } > public void buttonClickedLeft() > { > cube.transform.position = new Vector3(cube.transform.position.x-1, cube.transform.position.y, cube.transform.position.z); > } > public void buttonClickedRight() > { > cube.transform.position = new Vector3(cube.transform.position.x+1, cube.transform.position.y , cube.transform.position.z); > } > public void buttonClickedRotateZ() > { > cube.transform.Rotate(0, 0, 45); > } > public void buttonClickedRotateX() > { > cube.transform.Rotate(45, 0, 0); > } > public void buttonClickedRotateY() > { > cube.transform.Rotate(0, 45, 0); > } > ~~~ --- ## 五、其他學習 Unity 的相關網站 ### 1. Unity User Manual >https://docs.unity3d.com/Manual/index.html ### 2. Unity遊戲製作教學 >https://www.cg.com.tw/Unity/