解釋:Prefabs(預設)是一種資源類型,可被重複使用的遊戲對象。它能夠被置入多個場景中,又或者可以在一個場景中被屢次置入。當你在一個場景中增長一個Prefabs,你就實例化了一個Prefabs。全部Prefabs實例都是Prefab的克隆,只要Prefabs原型發生改變,全部的Prefabs實例都會產生變化。html
Prefabs的用法:若是你們要建立一些想要重複使用的東西,那麼就該用到它了。編輯器
接下來咱們寫個小例子,看看如何使用它this
1 搭建以下場景:一個地板,一個下落的立方體,調整攝像機的角度和位置,加個平行光,位置參考下圖的Scene窗口,效果如Game窗口展現的那樣。同時給立方體加上剛體屬性(Component -> Physics -> Rigidbody)spa
而後調整一下立方體的角度,運行一下,讓它滾一下。3d
2 建立Prefabsorm
在Preject窗口,點Create-> Prefab。而後咱們從Hierarchy窗口中將立方體拖到Project窗口新建立的Prefab上。當Hierarchy中的立方體變成了藍色,Prefabs就完成了填充。htm
而後你從Preject窗口中將建立的Prefabs拖入Scene窗口中,運行一下。就完成了一次克隆。它們就像雙胞胎同樣。
對象
3 接着咱們配合Instantiate,來用代碼建立多個Prefabs的實例。blog
Instantiate:克隆原始物體。設置位置,角度。若是一個對象,組件,腳本實例被傳入。將克隆整個對相愛難過的層次,以及全部子對象。遊戲
各位同窗,讓咱們在Project窗口點Create -> Javascript建立一個腳本
我發現能夠用as3的寫法來寫這裏面的js,各位同窗請看
public var Pre:GameObject;//在編輯器中用來綁定的Prefabs
private function Update ():void
{
var instance:GameObject=Instantiate(Pre,transform.position,transform.rotation);
//Instantiate用法,注意參數
//Pre 用來克隆的Prefabs
//transform.position 腳本綁定對象的位置 就像this.transform….
//transform.rotation 腳本綁定對象的角度 就像this.transform….
}
是否是有很親切的感受?
4 寫完腳本,咱們要把它綁定到一個對象上。這時候,咱們能夠刪除Hierarchy窗口中的立方體,而後建立一個空的遊戲對象(GameObject->Create Empty),放置到原來立方體的位置上。將腳本拖放到Hierarchy窗口中的新鍵的空對象上,讓它來執行代碼。
5 在Hierarchy窗口中單擊空對象,在它的Inspector窗口中就能看到綁定的腳本。而後咱們把早前建立的Prefabs拖到腳本Pre右邊的框上,完成了腳本中變量的綁定。
6 按小三角運行一下,搞的像粒子效果同樣,是否是很嗨?
出自blog: http://blog.sina.com.cn/s/blog_82b6aa3d0100w8sx.html