Unity中prefabs的學習心得以及應用理解

2021-09-05 12:12:30 字數 1177 閱讀 2538

最近這段時間一直在自學unity,作為乙個零開發經驗的小白來說,除了對遊戲的熱愛之外,基本上沒有什麼能拿得出手的東西了。因為時間有限,零零散散地起了個步,每天都感覺能有所收穫就很知足。那麼為了防止自己健忘,就順手寫了個心得體會,對不對的大家多指正批評。

話不多說,先記錄一下prefabs的用法。

prefabs,也就是預設體,是乙個遊戲物件及其元件的集合,使用prefabs是為了讓遊戲物件以及資源能夠被重複使用。在unity的hierarchy檢視中呈藍色的物件就是prefabs了。要建立這樣的prefabs很簡單,只需要在project檢視下建立乙個資料夾,然後在資料夾中建立prefabs就可以了。也可以先建立小的遊戲物件,然後再拖拽到project資料夾中。

建立好的prefabs,可以在當前工程中進行復用,也可以匯出資源到其他的工程裡面使用。十分方便。

根據這個特點,我對這一功能在開發遊戲時的具體應用有如下的理解:

搭建場景需要。通過不斷地研究,我終於理解了很多遊戲場景看上去精美絕倫,然而在製作它們的時候卻不是一氣呵成的。它們往往是很多個小的物品拼湊成乙個大的組合,然後幾個組合再拼湊成乙個場景,因此在這個過程中,那些最小單位的物品就一次次地被重複使用。而prefabs就是讓我們不斷地去重複使用這些物件的。如果我們把搭建場景想象成蓋房子,那麼prefabs無疑就是搭建房子主體的磚塊,這一塊塊的磚當然都是復用的了。

方便重複利用。以割草的《三國無雙》系列為例,假設用unity開發這款遊戲的話,如果我們給每乙個出現的「草」(就是小兵》都單獨設定乙個模型,恐怕這個遊戲乙個關卡就要**。在這個關卡裡面泡著成千個名字不同的模型,先不提優化組的工作量,單說關卡設計師把乙個模型複製上千遍就有多鬧心。更要命的是,一旦這些小兵被玩家砍完了呢?而這個時候,prefabs就派上用場了。我們可以寫乙個指令碼,讓prefabs被重複利用,根據判斷自動生成新的小兵(反正都長得差不多),保證玩家可以砍到過癮,同時也降低了開發組的工作量。

節省資源。小的時候玩過一款很虐心的遊戲叫做《銀色幻想》,這款遊戲的品質還是不低的,虐心就虐心在讀條上。切換場景就要loading很長時間真的是煩躁,運氣不好就直接卡死(win98時代的電腦,後來用win7固態重溫經典就再沒出現過這樣的情況)。現在回想一下,這款遊戲裡面似乎沒有什麼復用的資源(除了敵人),因此進行loading的時候會把載入場景中所有的資源都讀取一遍。如果我們把同型別的場景中,主體使用prefabs的方法來進行搭建的話,那麼我們可以少讀取很多很多資源,這樣就不至於讓玩家在等待中發狂。

Unity物理該怎麼學

我們這裡就舉兩個最常見的案例 collider和trigger。來幫助大家掌握學習unity物理的方法 collider碰撞體的基礎應用 collider的組合方式及注意事項 collider的工作方式及重點注意事項 trigger觸發器的基本應用 trigger觸發器的工作方式及注意事項 觸發器和...

Unity中的顏色

rgb是我們接觸最多的顏色空間,由三個通道表示一幅影象,分別為紅色 r 綠色 g 和藍色 b 這三種顏色的不同組合可以形成幾乎所有的顏色,但是任何顏色都與這三個分量有關,所以連續變換顏色時並不直觀,想對影象的顏色進行調整需要更改這三個分量才行,而自然環境下獲取的影象容易受自然光照 遮擋和陰影等情況的...

unity中的陰影

shadowmap技術原理是,將攝像機與光源的位置重合,場景中光源的陰影位置就是攝像機看不到的位置。在forward rendering path中,場景中最重要的平行光在forwardbase中預設是開啟了陰影的,unity就會為該光源計算其shadowmap 陰影對映紋理 這張紋理的本質也是一張...