為Unity3D創(chuàng)建素材(3):預(yù)設(shè)物體(Prefab)

Unity3D的介紹(2):項(xiàng)目饭宾、場(chǎng)景、資源格了、發(fā)布 一文中已經(jīng)介紹過(guò)項(xiàng)目看铆、場(chǎng)景、資源的區(qū)別了盛末,在 為Unity3D創(chuàng)建素材(1):圖片弹惦、著色器、材質(zhì)球為Unity3D創(chuàng)建素材(2):模型悄但、綁定棠隐、動(dòng)畫(huà) 兩篇中我們了解了如何為Unity3D創(chuàng)建資源。


我們知道檐嚣,資源和我們用在場(chǎng)景中的game object(游戲物體)還是不一樣的助泽,一個(gè)fbx文件是一個(gè)“資源”,而將拖到場(chǎng)景中就變成了一個(gè)“帶有各種組件的節(jié)點(diǎn)”嚎京。在從“資源”到“帶組件的節(jié)點(diǎn)”的轉(zhuǎn)化過(guò)程中我們需要手動(dòng)做一些設(shè)置嗡贺,一些修改,甚至需要添加一些新的組件以滿足我們的需求鞍帝,或者將多個(gè)節(jié)點(diǎn)組合成新的游戲物體(比如用多個(gè)模型道具組合成一個(gè)NPC的家)诫睬。

從“資源的重復(fù)利用”的角度來(lái)看,直接使用素材資源來(lái)搭建場(chǎng)景是低效的帕涌,更好更高效的方法是重復(fù)利用在場(chǎng)景中已經(jīng)完成了設(shè)置摄凡、修改、組合等工作的游戲物體蚓曼。于是Unity3D就開(kāi)發(fā)了Prefab(預(yù)設(shè)物體)這個(gè)功能亲澡。


什么是prefab?

Prefab可以被看做是對(duì)scene(場(chǎng)景)中g(shù)ame object(游戲物體)的描述文件辟躏,可以被儲(chǔ)存在Assets文件夾內(nèi)谷扣,以方便在其他scene中重復(fù)利用。Prefab實(shí)際上并不包含任何模型捎琐、貼圖等真正的素材文件会涎,只是一個(gè)虛擬的“參考”。

我們可以把prefab當(dāng)做一種特殊的“資源素材”瑞凑,在場(chǎng)景中引用prefab末秃,相當(dāng)于按照這個(gè)prefab所描述的規(guī)范引用其涉及到的“真實(shí)素材”。如果我們不小心刪除掉了這些“真實(shí)素材”籽御,那么prefab就失去了作用练慕。


如何創(chuàng)建prefab惰匙?

將場(chǎng)景中的單個(gè)game object用鼠標(biāo)拖到Project面板中的Assets目錄下,就可以創(chuàng)建這個(gè)game object的prefab铃将。

注意项鬼,一定是拖動(dòng)“單個(gè)”游戲物體到Assets目錄下創(chuàng)建prefab,如果需要將多個(gè)game objects一起創(chuàng)建成一個(gè)prefab劲阎,就需要選擇或生成一個(gè)“根節(jié)點(diǎn)”(我們通常會(huì)用Create > Create Empty來(lái)創(chuàng)建一個(gè)空節(jié)點(diǎn)來(lái)做“根節(jié)點(diǎn)”)绘盟,重命名,復(fù)位根節(jié)點(diǎn)的transform屬性(Reset悯仙,再將所有g(shù)ame objects拖到這個(gè)根節(jié)點(diǎn)上變成它的子物體龄毡,最后再將根節(jié)點(diǎn)拖到Assets目錄下創(chuàng)建prefab。


如何使用Prefab锡垄?

要使用Prefab沦零,將其拖到Scene View或者Hierarchy面板即可。

普通的game object在Hierarchy中顯示為白色货岭,而與prefab相聯(lián)的game object在Hierarchy中顯示為藍(lán)色路操。

unity_prefab.png

同時(shí),與prefab相聯(lián)的game object在Inspector面板中會(huì)多出一行關(guān)于Prefab的按鈕茴她,其中Select可以選擇其所對(duì)應(yīng)的prefab資源文件寻拂,Revert可以將該game object恢復(fù)到原prefab資源文件的樣子,Apply可以將在此game object上做的修改應(yīng)用的prefab資源文件中去(這樣場(chǎng)景中其他關(guān)聯(lián)于此prefab資源的game objects就都會(huì)自動(dòng)更新)丈牢。

unity_prefab4.png

可以選擇菜單GameObject > Break Prefab Instance來(lái)斷開(kāi)game object與prefab之間的聯(lián)接關(guān)系。

unity_prefab3.png

從某個(gè)角度來(lái)看瞄沙,prefab的使用類似于Flash中的symbol(元件)己沛,或者M(jìn)aya中的instance(參考復(fù)制),可以通過(guò)修改Prefab來(lái)批量修改場(chǎng)景中的游戲物體距境。但是prefab的使用更靈活申尼,在場(chǎng)景中修改game object不會(huì)修改prefab本體(除非點(diǎn)擊Apply),但修改prefab本體會(huì)即時(shí)改變所有相聯(lián)的game object垫桂。

復(fù)制game object的時(shí)候最好先生成一個(gè)prefab师幕,然后再在場(chǎng)景中進(jìn)行復(fù)制,這樣復(fù)制出來(lái)的新game objects也都與prefab相聯(lián)了诬滩。

如果需要在游戲進(jìn)行中實(shí)時(shí)創(chuàng)建游戲物體(比如玩家按下“開(kāi)火”鍵之后霹粥,發(fā)射一個(gè)導(dǎo)彈物體),最方便的辦法也是調(diào)用預(yù)先制作好的prefab資源疼鸟,而不是把游戲物體預(yù)先放在場(chǎng)景里隱藏起來(lái)后控,需要的時(shí)候再顯示。


做一個(gè)有操守的美術(shù)

在團(tuán)隊(duì)協(xié)作中空镜,通常由美術(shù)負(fù)責(zé)資源素材的創(chuàng)作浩淘,然后打包發(fā)送給關(guān)卡設(shè)計(jì)來(lái)制作關(guān)卡捌朴。一個(gè)有操守的美術(shù)會(huì)把所有的模型、動(dòng)畫(huà)都在場(chǎng)景中配置好张抄,然后生成可以直接拖用的prefabs砂蔽,并且用命名標(biāo)準(zhǔn)的文件夾分類放好,再導(dǎo)出給關(guān)卡設(shè)計(jì)署惯,而不是直接發(fā)送一堆.fbx文件(甚至是.mb文件)和.psd文件(甚至是.sai文件)給對(duì)方察皇。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市泽台,隨后出現(xiàn)的幾起案子什荣,更是在濱河造成了極大的恐慌,老刑警劉巖怀酷,帶你破解...
    沈念sama閱讀 212,816評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稻爬,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蜕依,警方通過(guò)查閱死者的電腦和手機(jī)桅锄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)样眠,“玉大人友瘤,你說(shuō)我怎么就攤上這事¢苁” “怎么了辫秧?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,300評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)被丧。 經(jīng)常有香客問(wèn)我盟戏,道長(zhǎng),這世上最難降的妖魔是什么甥桂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,780評(píng)論 1 285
  • 正文 為了忘掉前任柿究,我火速辦了婚禮,結(jié)果婚禮上黄选,老公的妹妹穿的比我還像新娘蝇摸。我一直安慰自己,他們只是感情好办陷,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布貌夕。 她就那樣靜靜地躺著,像睡著了一般懂诗。 火紅的嫁衣襯著肌膚如雪蜂嗽。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,084評(píng)論 1 291
  • 那天殃恒,我揣著相機(jī)與錄音植旧,去河邊找鬼辱揭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛病附,可吹牛的內(nèi)容都是我干的问窃。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼完沪,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼域庇!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起覆积,我...
    開(kāi)封第一講書(shū)人閱讀 37,912評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤听皿,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后宽档,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體尉姨,經(jīng)...
    沈念sama閱讀 44,355評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評(píng)論 2 327
  • 正文 我和宋清朗相戀三年吗冤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了又厉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,809評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡椎瘟,死狀恐怖覆致,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肺蔚,我是刑警寧澤煌妈,帶...
    沈念sama閱讀 34,504評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站婆排,受9級(jí)特大地震影響声旺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜段只,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鉴扫。 院中可真熱鬧赞枕,春花似錦、人聲如沸坪创。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)莱预。三九已至柠掂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間依沮,已是汗流浹背涯贞。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,121評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工枪狂, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宋渔。 一個(gè)月前我還...
    沈念sama閱讀 46,628評(píng)論 2 362
  • 正文 我出身青樓州疾,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親皇拣。 傳聞我的和親對(duì)象是個(gè)殘疾皇子严蓖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容