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
留言分享你的想法!
avatar-img
Gavin Hsieh ㄉ基地
4會員
20內容數
Gavin Hsieh ㄉ基地
Gavin Hsieh ㄉ基地的其他內容
2024/06/05
我們完成了保齡球發射,再來來處理球瓶囉!! 在這之前,我們在學一個程式語言中也算蠻重要的語法....,然後看看怎麼運用到遊戲裡面 :) For迴圈 (好像會很麻煩,但我們還是痛苦一下才會進化><)
2024/06/05
我們完成了保齡球發射,再來來處理球瓶囉!! 在這之前,我們在學一個程式語言中也算蠻重要的語法....,然後看看怎麼運用到遊戲裡面 :) For迴圈 (好像會很麻煩,但我們還是痛苦一下才會進化><)
2024/05/29
上週的作業保齡球規則 Student A 角色:玩家1、玩具球、娃娃A、娃娃B、娃娃C 規則:打擊娃娃,要贏得遊戲需要使用玩具球打擊到娃娃,共有三次機會可以打擊,全部娃娃都有被打擊到就能贏得勝利,如三次機會中只打擊到其中一隻/兩隻娃娃,另外沒被打擊到的娃娃會消失,遊戲立即結束! Studen
2024/05/29
上週的作業保齡球規則 Student A 角色:玩家1、玩具球、娃娃A、娃娃B、娃娃C 規則:打擊娃娃,要贏得遊戲需要使用玩具球打擊到娃娃,共有三次機會可以打擊,全部娃娃都有被打擊到就能贏得勝利,如三次機會中只打擊到其中一隻/兩隻娃娃,另外沒被打擊到的娃娃會消失,遊戲立即結束! Studen
看更多
你可能也想看
Thumbnail
籌備一場百人級別的研討會需要注意哪20個細節?本篇將詳細介紹從會議主題、時間、地點、議程、講者、餐飲資訊、宣傳預備到會後結案等籌備過程中需要留意的重要細節。
Thumbnail
籌備一場百人級別的研討會需要注意哪20個細節?本篇將詳細介紹從會議主題、時間、地點、議程、講者、餐飲資訊、宣傳預備到會後結案等籌備過程中需要留意的重要細節。
Thumbnail
這篇文章著重於解釋軟體專案管理中的戰略意義和專案特性評估,並提出了四個不同像限的專案特性。
Thumbnail
這篇文章著重於解釋軟體專案管理中的戰略意義和專案特性評估,並提出了四個不同像限的專案特性。
Thumbnail
這篇文章描述了作者從兼職開發轉為全職開發的過程,並分享了從混進學界指日可待的積極態度。作者也提及自己在專案製作與個人生活上的矛盾與感想,最後分享了專案管理和敏捷開發相關的文章與影片。
Thumbnail
這篇文章描述了作者從兼職開發轉為全職開發的過程,並分享了從混進學界指日可待的積極態度。作者也提及自己在專案製作與個人生活上的矛盾與感想,最後分享了專案管理和敏捷開發相關的文章與影片。
Thumbnail
公告佈達看似簡單,但如何做好才是關鍵。 只有透過適時而有效的公告,才能確保重要訊息的及時傳達,促進員工的共識和配合 最終提升整體的運營效率,為企業持續發展注入動力!
Thumbnail
公告佈達看似簡單,但如何做好才是關鍵。 只有透過適時而有效的公告,才能確保重要訊息的及時傳達,促進員工的共識和配合 最終提升整體的運營效率,為企業持續發展注入動力!
Thumbnail
軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
Thumbnail
軟體開發專案管理的失敗原因複雜多樣,但管理不善是其中一大原因。學習為軟體開發專案而設的管理方法是有效管理的第一步,需對軟體開發專案的特徵進行評估,選擇合適的軟體開發生命週期和專案管理方法。
Thumbnail
專案經理與工程師在工作上面對的挑戰和需求截然不同。專案經理需具備溝通、督促、認知及行政等四種核心能力,以便成功轉型。文章中舉例以生動的故事來說明這四種能力的重要性,並強調從工程師升遷為專案經理並非易事,需要不斷學習與努力。
Thumbnail
專案經理與工程師在工作上面對的挑戰和需求截然不同。專案經理需具備溝通、督促、認知及行政等四種核心能力,以便成功轉型。文章中舉例以生動的故事來說明這四種能力的重要性,並強調從工程師升遷為專案經理並非易事,需要不斷學習與努力。
Thumbnail
之前已經與大家談過讓我第一次挑戰就成功設計出有趣桌遊教具的「GO START」專案管理心法當中的 G、O、S,現在就來繼續分享 T、A、R、T。請容我再次強調,這是人人都適用的專案管理心法,上下兩篇一起看完後,你就會發現要掌握專案管理的要點沒有想像中那麼困難。
Thumbnail
之前已經與大家談過讓我第一次挑戰就成功設計出有趣桌遊教具的「GO START」專案管理心法當中的 G、O、S,現在就來繼續分享 T、A、R、T。請容我再次強調,這是人人都適用的專案管理心法,上下兩篇一起看完後,你就會發現要掌握專案管理的要點沒有想像中那麼困難。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News