2024 虛擬實境 x 人因設計 04 Unity專案管理、unity C# 語法教學入門_1

閱讀時間約 9 分鐘

不會吧,這也要教!?

要辣~只是你們還不知道他的重要 :)

專案管理

專案管理在Unity開發中至關重要。初學者可能不了解其重要性,但隨著經驗增長,將會深刻體會到它們對於團隊合作和項目穩定性的關鍵性。

專案管理包括組織專案文件結構、版本控制、命名規範以及文件和註釋。清晰的文件結構可以幫助團隊成員快速找到所需文件,提高工作效率;版本控制系統可跟蹤代碼和資源的變化,協助團隊協作,避免衝突;命名規範和註釋可以提高代碼的可讀性和可維護性,減少誤解和錯誤,促進團隊成員間的溝通和合作

因此,學習專案管理和存檔技能對於Unity開發者來說是非常重要的。通過制定良好的文件組織結構、遵循命名規範、使用版本控制系統以及實現存檔功能,可以提高團隊的協作效率,確保項目的順利進行,並為玩家提供更好的遊戲體驗。所以,早日學習和實踐這些技能是非常值得的。

在實際遊戲的專案製作上,經常需要自行建立或匯入不同類型的檔案,為了避免檔案越來越多而造成管理上的問題,我們經常會建立資料夾為不同的檔案進行分類

以下是常見的檔案資料夾命名

Objects 物件 ☆☆☆☆

Materials 材質 ☆☆☆☆

Textures 紋理貼圖 ☆☆☆☆

Scripts 腳本( C#、JavaScript ) ☆☆☆☆

Animations 動畫(儲存 Unity 的動畫檔)

Fonts 用於儲存字型

PhysicMaterials 物理材質

Prefabs 儲存預製物件

Scenes 儲存遊戲場景

Shaders 著色器

Sound 聲音(背景音樂、音效、語音對白)



學習C# 語法入門

阿如果還沒安裝編輯程式軟體可以先裝~

raw-image

先打開Unity Hub後,在Installs裡面的下載的版本中,右上角有個【Add modules】按下去


raw-image

安裝 Microsoft Visual Studio Community (若未安裝,前面會有個方框可勾選)


raw-image

按下安裝後,會跳出Visual Studio Installer的安裝程式,按下繼續即可


raw-image

Visual Studio Installer會在安裝好後開啟,找到使用Unity進行開發並安裝☑


raw-image

載完後到遊戲視窗去確認

Edit > Preference > External Tools > External Script Editor


賀~來寫人生中第一個程式 "HELLO WORLD !"

raw-image

打開一個新專案後,在Asset的資料夾中 按右鍵 > Create > C# Script > 給他一個新名字(自己想要的名字)

阿程式命名有些規則在,第一個字元限用英文,其他字元可以使用英文或數字,不要使用中文、空白與特殊符號。

例如:FirstScript、firstscript、First_Script、FirstScript123等 O

123FirstScript、First Script、$^&firstscript、第一個腳本等 X


raw-image

改好名字後,對新建立的腳本(FirstScript)按右鍵 >Open C# Project,或是點擊新建立的腳本(FirstScript)後,右上角Inspector會有一個Open,把他打開進行編輯。


raw-image

程式腳本在程式編輯器中的預設樣子如上,我們看看裡面的構造。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FirstScript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
void Update()
{

}
}

using UnityEngine;

這行的意思是,使用UnityEngine命名空間的方法,命名空間就像一堆方法和類別的集合,如果你要使用別人寫好的外掛(DLL檔),也是要透過using命名空間才能取用裡面的方法

public class FirstScript : MonoBehaviour

每個新建立的script檔都是一個類別,並且他會繼承MonoBehaviour這個類別,這樣才能使用Unity本身專有的語法,才能夠在Unity裡面順利讓這個腳本(script)當成Component來使用,附加在GameObject上面。

#你可以把滑鼠移到MonoBehaviour 上面,就會顯示它是屬性哪個命名空間的類別。


用中文舉個例子:

如果這時候有一個很厲害設計師叫Gavin,他創造一個很特別的農村設計風格 :),裡面有很多設計方法,那你按照他的設計方法流程走,就能做出跟他很像的設計風格作品出來。阿Gavin人很好,設計方法不私藏,公開於人世間給大家使用。

這時候有一個小朋友Ting來用了Gavin的設計方法....

using 蓋文農村設計風格;

public class Ting風格 : 田園走讀設計方法
{
去大自然走一走{
加入Ting創立的士霆藍;
}
坐在石頭上或瀑布下沉思{
加入Ting風格大量留白;
}
}

結論可以解讀成:Ting用了(蓋文設計師農村設計風格)裡面中的(田園走讀設計方法),去大自然走一走,他再加入自己想法(加入士霆藍)後,就設計出屬於Ting的作品((帶有蓋文農村設計風格的)) (供殺啦$%@#$%#@!@

蓋文農村設計風格 +士霆藍 = Ting風格


raw-image

void Start()

上面註解綠色那串//Start is called bef...說明了,把它使用來做初始化的動作,初始化就是把一些預設值設定好,比如說你希望一支怪物出生時,他的HP是滿血的,那你就可以在這裡設定。"但是,只有在一開始時會被執行一次而已"。


raw-image

void Update ()

上面註解// Update is called...說明它在每一幀都被呼叫一次,啥意思,像移動你就可能要放在Update ()裡,好讓他不斷更新你的人物的最新位置,又或是像按按鍵也是,隨時偵測你哪個按鍵有被輸入。"按下開始鍵就是不斷更新/偵測,一直一直在執行"。

Start ()跟Update ()這兩個方法在Unity裡是有執行的先後順序的,Start()就比Update()還早執行,因為通常你會先做初始化之後才開始做AI更新的動作,另外除了這兩個是建立後自己產生的方法以外,Unity還有提供許多不同用途的方法,當然它們執行的先後順序也是有差別。(因為太複雜ㄌ就沒在這邊提出)

我們來看看MonoBehaviour這個名字還有哪些方法?,你會看到一長串的名單,這些都是繼承了MonoBehaviour這個類別可以使用的方法@@。

沒錯這些方法都要好好的閱讀過並記起來,這樣才知道如何利用Unity來建立你的遊戲!


我們來測試看看是不是如上面所說,打下文字

Debug.Log("Hello World Start");

Debug.Log("Hello World Update");

// Start is called before the first frame update
void Start()
{
Debug.Log("Hello World");
}
// Update is called once per frame
void Update()
{
Debug.Log("Hello World Update");
}

#Debug.Log是一個相當重要的程式碼,是Unity提供除錯程序中負責提供訊息的函式,雖然也可以用「Print();」,不過看過幾乎教學都是使用Debug.Log在檢查。


#"Hello, world!" 是計算機編程中的經典範例,最早出現於1972年的《C程式設計語言》一書,由Brian Kernighan和Dennis Ritchie編寫。透過在螢幕上打印 "Hello, world!" 字串來確認程式語言的正確性。自那時起,"Hello, world!" 成為了新手學習程式設計的傳統入門,在幾乎所有的程式語言中都有相應的實現。

怎麼看Debug.Log的結果呢?

要去Unity 內的Console看(兩個路徑都可以查看)

raw-image

1.可以點擊左下角,可查看Console 2.Window > General > Console

raw-image

YA 跑出來了

可以看到,只差一秒,後面數字就差很多!

恭喜完成人生中第一個程式 "HELLO WORLD !"


#下一章節會有點小無聊哦撐住🤘🤘🤘🤘,頑張(がんば)ってください

    avatar-img
    4會員
    20內容數
    Gavin Hsieh ㄉ基地
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    你可能也想看
    Google News 追蹤
    Thumbnail
    這篇內容,將教你如何開啟新的GameMaker專案,並調整畫面佈局。也會講解,為何建議用英文語系,來進行遊戲開發。
    Thumbnail
    介紹Unreal Sequencer鏡頭工具,CG動畫的學習經驗,並提供相關教程,適合想學習Cinematic Designer的人。
    Thumbnail
    這篇文章著重於解釋軟體專案管理中的戰略意義和專案特性評估,並提出了四個不同像限的專案特性。
    Thumbnail
    這篇文章描述了作者從兼職開發轉為全職開發的過程,並分享了從混進學界指日可待的積極態度。作者也提及自己在專案製作與個人生活上的矛盾與感想,最後分享了專案管理和敏捷開發相關的文章與影片。
    Thumbnail
    軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
    Thumbnail
    Design systems enable teams to design and develop more efficiently, reduce inconsistencies, and provide a unified brand experience...
    Thumbnail
    確保沒有遺漏或錯誤 程式的完整資訊資料對於程式設計至關重要。這是因為只有透過完整的資訊,我們才能確保在程式設計中沒有任何遺漏或錯誤。最終,後台管理扮演著管理系統中所有動作和行為是否符合特定標準的重要角色。 採取不符合預期的行動 這種符合性的重要性在於,當我們設計程式時,希望使用者按照預期的方式
    玩一場從不確定到確定的遊戲 人生就像專案管理,只有想不到,沒有做不到; 而人算總不如天算,計畫永遠趕不上變化。 初乍聽到"專案管理"這個名詞,源自於課堂上同學的一句:因為參加"專案管理"課程。 考取相關證照後,晉升到公司理想職等,引發起我好奇心態,想了解究竟"它"是如何影響工作及個人發展
    專案報告怎麼寫?有沒有模版範例?當然!我們已經為你整理好了豐富多樣的各類型專案報告範例,讓你可以按需選擇,一鍵下載就開始使用!也為你準備了專案報告撰寫教學,快跟著我們一起簡單 8 步學會寫各種專案報告!更有高效專案管理工具推薦,為你助力數據整理,寫出更加專業且具吸引力的專案報告!
    Thumbnail
    這篇內容,將教你如何開啟新的GameMaker專案,並調整畫面佈局。也會講解,為何建議用英文語系,來進行遊戲開發。
    Thumbnail
    介紹Unreal Sequencer鏡頭工具,CG動畫的學習經驗,並提供相關教程,適合想學習Cinematic Designer的人。
    Thumbnail
    這篇文章著重於解釋軟體專案管理中的戰略意義和專案特性評估,並提出了四個不同像限的專案特性。
    Thumbnail
    這篇文章描述了作者從兼職開發轉為全職開發的過程,並分享了從混進學界指日可待的積極態度。作者也提及自己在專案製作與個人生活上的矛盾與感想,最後分享了專案管理和敏捷開發相關的文章與影片。
    Thumbnail
    軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
    Thumbnail
    Design systems enable teams to design and develop more efficiently, reduce inconsistencies, and provide a unified brand experience...
    Thumbnail
    確保沒有遺漏或錯誤 程式的完整資訊資料對於程式設計至關重要。這是因為只有透過完整的資訊,我們才能確保在程式設計中沒有任何遺漏或錯誤。最終,後台管理扮演著管理系統中所有動作和行為是否符合特定標準的重要角色。 採取不符合預期的行動 這種符合性的重要性在於,當我們設計程式時,希望使用者按照預期的方式
    玩一場從不確定到確定的遊戲 人生就像專案管理,只有想不到,沒有做不到; 而人算總不如天算,計畫永遠趕不上變化。 初乍聽到"專案管理"這個名詞,源自於課堂上同學的一句:因為參加"專案管理"課程。 考取相關證照後,晉升到公司理想職等,引發起我好奇心態,想了解究竟"它"是如何影響工作及個人發展
    專案報告怎麼寫?有沒有模版範例?當然!我們已經為你整理好了豐富多樣的各類型專案報告範例,讓你可以按需選擇,一鍵下載就開始使用!也為你準備了專案報告撰寫教學,快跟著我們一起簡單 8 步學會寫各種專案報告!更有高效專案管理工具推薦,為你助力數據整理,寫出更加專業且具吸引力的專案報告!