Unity 小社課

第二、三堂 By: 貝絲

這堂課你們會學到...

小任務!

我絕對不會說他是作業

  • 到 Unity Assets Store 匯入2D角色並添加任一角色至Scene畫面中

小任務1

👇像這樣

Unity 介面介紹

有兩個資料夾,一個是 Assets 一個是 Packages

project 介面

Assets是用來存放各種你做遊戲裡會出現的檔案

Packages放的是Unity中內建的函式庫及延伸模組,通常不會動

裡面包含所有已開啟的 Scene 還有 Scene 裡面的 Game Object(遊戲物件)

新專案會預設Sample Scene跟一個 Main Camera (遊戲畫面)

hierarchy 介面

新增遊戲物件的方法:

  1. 從空的地方按右鍵然後看要新增什麼
  2. 從 Assets 直接把檔案拉到 Hierarchy 裡面
  3. 從 Assets 把檔案拉到 Scene 裡面

hierarchy 介面

scene 介面

這裡是設計遊戲畫面的地方,你可以在這裡選取物件

scene 介面

按滑鼠的右鍵 or 中鍵可以改變視角,滾輪可以縮放視角

按左鍵可以選取

網格開啟/關閉

視角移動模式

物件移動模式(可以在一個軸上移動物件)

旋轉模式(圓盤360度旋轉)

比例模式(可以由物鍵中點等比例縮放)

矩形模式(四個端點+端點為中心的縮放,按住shift有物件移動模式的單軸向移動功能,常用)

綜合模式(綜合物件移動模式、旋轉模式及比例模式)

Game 介面

 顯示該 Scene 的遊戲畫面(Camera 底下的畫面) 

遊戲開始鍵,按下之後你去 Scene 更改任何東西在遊戲結束後都不會儲存

Inspector 介面

顯示選取的東西的屬性

可以在這邊更改&增加 Game Object 的屬性

可以增加物件的屬性

console 介面

  • 遊戲在跑的時候如果出錯或有問題會在這裡顯示
  • 報錯分兩種:
    • 黃色三角形:比較不嚴重,不太會影響程式執行
    • 紅色八角形:比較嚴重,必須解決才能繼續進行 or 執行遊戲

遊戲資源

Unity Asset Store

官方的資源庫,裡面有各種好用的遊戲資源

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