---
# System prepended metadata

title: Unity 基本使用
tags: [交接資料, unity]

---

# 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/