Unity 小社課
第二、三堂 By: 貝絲
這堂課你們會學到...
小任務!
我絕對不會說他是作業
- 到 Unity Assets Store 匯入2D角色並添加任一角色至Scene畫面中
小任務1

👇像這樣
Unity 介面介紹
有兩個資料夾,一個是 Assets 一個是 Packages
project 介面

Assets是用來存放各種你做遊戲裡會出現的檔案
Packages放的是Unity中內建的函式庫及延伸模組,通常不會動
裡面包含所有已開啟的 Scene 還有 Scene 裡面的 Game Object(遊戲物件)
新專案會預設Sample Scene跟一個 Main Camera (遊戲畫面)
hierarchy 介面

新增遊戲物件的方法:
- 從空的地方按右鍵然後看要新增什麼
- 從 Assets 直接把檔案拉到 Hierarchy 裡面
- 從 Assets 把檔案拉到 Scene 裡面
hierarchy 介面


scene 介面

這裡是設計遊戲畫面的地方,你可以在這裡選取物件
scene 介面
按滑鼠的右鍵 or 中鍵可以改變視角,滾輪可以縮放視角
按左鍵可以選取

網格開啟/關閉
視角移動模式
物件移動模式(可以在一個軸上移動物件)
旋轉模式(圓盤360度旋轉)
比例模式(可以由物鍵中點等比例縮放)
矩形模式(四個端點+端點為中心的縮放,按住shift有物件移動模式的單軸向移動功能,常用)
綜合模式(綜合物件移動模式、旋轉模式及比例模式)
Game 介面
顯示該 Scene 的遊戲畫面(Camera 底下的畫面)

遊戲開始鍵,按下之後你去 Scene 更改任何東西在遊戲結束後都不會儲存
Inspector 介面
顯示選取的東西的屬性
可以在這邊更改&增加 Game Object 的屬性

可以增加物件的屬性
console 介面

- 遊戲在跑的時候如果出錯或有問題會在這裡顯示
-
報錯分兩種:
- 黃色三角形:比較不嚴重,不太會影響程式執行
- 紅色八角形:比較嚴重,必須解決才能繼續進行 or 執行遊戲
遊戲資源
官方的資源庫,裡面有各種好用的遊戲資源
Unity Asset store

登入之後選 2D
按 Free
Unity asset store

找到一個自己喜歡的角色
按 Add to My Assets -> 同意條款
匯入遊戲資源到專案


可利用側邊的篩選功能
匯入遊戲資源到專案
到 window -> Package Manager
把 Packages 改成 My Assets
按右上角 Download


匯入遊戲資源到專案
按 Import
再按 Import


接著你就會看到 Assets 裡面多出了一個資料夾
匯入遊戲資源到專案

小任務!
- 建立一個角色之後在角色身上寫一個腳本,讓遊戲開始的時候 Console 視窗跳出任意文字
小任務2
C#
C# 是什麼?
- C# (C Sharp)是一種由微軟開發的程式語言,屬於物件導向中的高階語言之一
- 主要應用於桌面應用程式開發、Web 應用程式開發、遊戲開發等
創建一個腳本並連接到物件

在 Hierarchy 新增一個物件
我先新增一個方塊作為示範
按右鍵 -> 2D Object -> Sprites -> Square
創建一個腳本並連接到物件
創建一個腳本並連接到物件



在 Inspector 按 Add Component
搜尋打「script」-> 按「New Script」
打上檔名 -> 按 Create and Add
C# 的框架

Method
Method
Class

statement
statement
statement
statement
C# 的框架
- Start:遊戲開始的那一瞬間做的事情
- Update:遊戲開始後,也就是遊戲進行中,會不斷的執行

輸出訊息到 Unity 的 Console 視窗
- Debug.Log("你要輸出的訊息");
Unity 特殊的 C# 用法
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class teachingDemo : MonoBehaviour {
// Start is called before the first frame update
void Start() {
Debug.Log("開始囉");
}
// Update is called once per frame
void Update() {
}
}

C# 語法
C#語法其實跟C++很像,所以你們如果上過大社課應該就要會了,之後幾堂課如果有需要會再詳細解釋
- 一定要加分號
- 資料型態:int、float、double、bool、string、char
- 運算子:+ - * / = += -= *= /= && || ==
- 通用語法:for、while、if else、switch case、struct
- 函式的定義
Game object & component
game object
- 遊戲中的每個物件都是一個 Game Object
- Game Object 本身無法執行任何操作,需要向Game Object 提供屬性,Game Object才能成為角色、環境、或特效
- 通常 Game Object 充當 Component 的容器,Component才是主要實現功能的地方
component

勾起來代表使用這個Component,
沒有勾起來代表停用
分類,如果用不到的話按一下可以收起來讓版面不要這麼亂
如果把鼠標移到數字的屬性上會有雙箭頭,左右拖動可以直接調整數值

如果把鼠標移到數字的屬性上會有雙箭頭,左右拖動可以直接調整數值
回到初始值
刪除 Component
移動順序(也可以直接用拖的)
複製Component
以新增/覆寫參數的方式貼上複製的 Component
注意:一個 Game Object 盡量不要加兩個相同種類的 Component 不然可能會造成電腦判斷混亂
子物件
- 當我們想要兩個東西是一個整體,但他又可以被分開操作的時候使用
- ex: 角色&武器
- 選定一個部分當頭物件,並把其他部分選取、拖曳到父物件上面,這些部分就會變成父物件的子物件
- Unity 內部運作原理:將子物件的 Transform 數值改為相對父物件的數值


人人
火焰
拿槍的手
槍
影子
頭物件
子物件
Game object
- 他跟 Component 一樣也有勾選匡可以決定要不要啟用
- 停用物件 = 停用所有 Component
- 子物件被停用:不會影響父物件
- 父物件被停用:子物件也被停用




Unity 學習資源
學習 Unity 的方法
- 最好的方式就是
自學 - 自己想一個主題,然後去Google你這個主題用得到的功能,或是去挖Unity Scripting Reference
- 下面有幾個學長推薦的資源
淺顯易懂的功能向教學
非常可惜的是他從2021年9月之後就沒有繼續更新Unity相關的影片了
所以觀看使用時要先確定資料是否適用

這個頻道比較偏向遊戲分析
深入探討了遊戲設計、關卡設計和遊戲製作方法
主要影片類別是分析各種遊戲,找出遊戲有趣的原因並討論什麼是好的遊戲設計,是個找設計靈感的好地方

一樣是功能向教學
不過內容比較進階,可以打好基礎再嘗試

中文的教學
從3D開始教起
去年才出現的頻道
聽說很搞笑

來自官方,有最準確詳盡的程式功能解釋及用法
通常是在網路上或其他影片真的找不到有幫助的,才會來這裡求助

遊戲資源
其他素材網站:
- DOTOWN:提供像素風格的資源
- Kenney:提供了全免費而且好看的資源,通常是一系列一系列的,2D、3D、音訊、UI都有
- CraftPix:提供GUI、關卡地圖集和角色造型集,有些需要付費,免費多是32*32以上的像素風格
- itch.io:一個能上傳遊戲到網路上供大家遊玩的平台,也有提供遊戲的資源,大多免費,從角色造型集、關卡地圖集、音效、音樂、材質、背景、UI甚至字型都應有盡有
- Game Art 2D:提供角色造型集、關卡地圖集、GUI等,部分需付費
Unity小社課 第二、三堂
By d11230618陳子毓
Unity小社課 第二、三堂
- 146