遊戲開發小社課

Unity

— 貝絲


講師介紹 - 貝絲

  • 我不會彈貝斯
  • 北資學術
  • 機研人
  • 新竹人

中秋節剛被搞一波

今天上什麼?

要使用Unity需要的東西

VS Code

寫程式會用到

1

Unity Hub

遊戲主要介面

2

Unity Editor

3

安裝 VS Code

安裝 VS Code

按 Extensions

安裝 VS Code

安裝

C#

安裝 VS Code

安裝

Unity Code Snippets

安裝

Unity Tools

安裝 VS Code

https://dotnet.microsoft.com/zh-tw/download
要選有「長期支持」的版本

安裝 .net sdk

下載完後執行,就安裝完成了

安裝 Unity & Unity Editor

到 Unity 官網 https://unity.com/download

按下載,然後打開它 

安裝Unity

註冊一個帳號

安裝Unity

沒登入的話先登入

安裝Unity

安裝 Unity Editor

  • 如果有自己跳出來 -> 直接按
  • 沒有的話:到 Installs -> Install Editor

安裝Unity

安裝 Unity Editor

  • 選有長期支援的

安裝Unity

安裝 Unity Editor

  • 把 VS Code 勾起來,按 Continue

安裝Unity

取得授權

  • 到設定 -> Licenses -> Add

安裝Unity

取得授權

  • 選最下面
  • 好了之後會多出一個 License 

安裝Unity

建立一個新專案

更改 Unity 設定

選2D

取個檔名後按 Create project

更改 Unity 設定

  • Mac 按左上角 Unity -> Settings
  • Windows 按 Edit -> Preferences
  • 找到 External tools -> 把 Script Editor 改成 VS Code

更改 Unity 設定

  • 到 Window -> Package Manager
  • Packages 改成 Unity Registry
  • 找到 Visual Studio Code Editor 按 Install

更改 Unity 設定

這樣就裝完了!

但如果你是 Mac 然後Unity Editor 沒裝成功的話請往下看

For mac

如果在安裝 Unity Editor 的時候出現這個

For mac

到啟動台,打開終端機

點開長類似這樣

For mac

打以下指令

cd /Applications
sudo mkdir Unity
sudo chmod 777 Unity

如果跳出上面要輸入密碼的話

輸入管理者的密碼
鍵盤打了上面不會有任何反應

要相信自己👊

輸入完指令關掉終端機

重新安裝一次 Unity Editor應該就可以了

Unity 是什麼?

  • 由Unity Technologies遊戲軟體開發公司所研發的跨平台2D/3D遊戲引擎
  • 可以開發
    • Windows、MacOS、Linux 單機遊戲
    • iOS、Android 行動裝置的遊戲
    • 線上遊戲
    • 主機上的遊戲 ex: PlayStation、XBox、Wii

Unity 是...

剛剛提到的「遊戲引擎」

「遊戲引擎」是由「遊戲開發」衍生出來的概念,藉由提供可重複使用的軟體組件(程式庫),提高遊戲開發人員的「創作」效率

用 Unity 做的遊戲

原神、傳說、Among Us、Pokemon Go、天天過馬路、紀念碑谷、動森、爐石戰記、湯姆貓

Unity 的好處

  • 在遊戲開發的市場上非常受歡迎
  • 學習資源多
  • 容易上手
  • 程式語言簡單
  • 內建資源豐富
  • 支援各種不同平台
  • 個人使用(不賺超過10萬美金)完全免費

一些好用的資源

  • 最好的方式就是自學
  • 自己想一個主題,然後去Google你這個主題用得到的功能,或是去挖Unity Scripting Reference  
  • 下面有幾個學長推薦的資源 

學習 Unity 最快的方法

謝謝水獺學長

淺顯易懂的功能向教學

非常可惜的是他從2021年9月之後就沒有繼續更新Unity相關的影片了

所以觀看使用時要先確定資料是否適用

這個頻道比較偏向遊戲分析

深入探討了遊戲設計、關卡設計和遊戲製作方法

主要影片類別是分析各種遊戲,找出遊戲有趣的原因並討論什麼是好的遊戲設計,是個找設計靈感的好地方

一樣是功能向教學

不過內容比較進階,可以打好基礎再嘗試

中文的教學

從3D開始教起

去年才出現的頻道

聽說很搞笑

來自官方,有最準確詳盡的程式功能解釋及用法

通常是在網路上或其他影片真的找不到有幫助的,才會來這裡求助

Unity Asset Store

資源超級多

遊戲資源

登入之後選 2D

按 Free 

Unity Asset Store

找一個你喜歡的角色

按 Add to My Assets -> 同意條款

Unity Asset Store

到 window -> Package Manager

Unity Asset Store

把 Packages 改成 My Assets

按右上角 Download

按 Import

Unity Asset Store

再按 Import

你就會看到你的 Assets 多出一個資料夾了

Unity Asset Store

其他素材網站: 再次謝謝水獺學長www

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

遊戲資源

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 介面

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

按左鍵可以選取

Scene 介面

網格開啟/關閉

視角移動模式

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

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

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

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

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

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

Game 介面

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

通常會在一開始就設定好畫面比例

不然你之後再改版面可能會爛掉

Game 介面

顯示選取的東西的屬性

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

Inspector 介面

可以增加物件的屬性

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

 

Console 介面

你以為要下課了嗎?

先報迎新吧~

 

C# 語法

  • C# (C Sharp)是一種由微軟開發的程式語言,屬於物件導向中的高階語言之一
  • 主要應用於桌面應用程式開發、Web 應用程式開發、遊戲開發等

C# 是什麼?

在 Hierarchy 新增一個物件

將腳本連接到遊戲物件

我先新增一個方塊作為示範

按右鍵 -> 2D Object -> Sprites -> Square

在 Inspector 按 Add Component

將腳本連接到遊戲物件

搜尋打「script」-> 按 「New script」

打上檔名 -> 按 Create and Add

C# 的框架

Method

Method

Class

C# 的框架

  • Start:遊戲開始的那一瞬間做的事情
  • Update:遊戲開始後,也就是遊戲進行中,會不斷的執行

C# 語法

C#語法其實跟C++很像,所以你們如果上過大社課應該就要會了,之後幾堂課如果有需要會再詳細解釋

  • 一定要加分號
  • 資料型態:int、float、double、bool、string、char
  • 運算子:+ - * / = += -= *= /= && || ==
  • 通用語法:for、while、if else、switch case、struct
  • 函式的定義

Unity 特殊的 C# 用法

輸出訊息到 Unity 的 console 視窗

  • Debug.Log(你要輸出的訊息)
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() {
        
    }
}

Q&A

建北電資Unity小社課第一堂

By d11230618陳子毓

建北電資Unity小社課第一堂

  • 276