奧東......Unity3D 基礎

Prefab-預製件資源

定義ide

     一個被存爲模板的【物件】,能夠經過這個【預製件】克隆出不少相同屬性設置的【物件】實體   實現複用spa

【project管家中的Create】工程面板---->【prefab】預製件對象

      把【Hierarchy】層次面板中【GameObject】拖拽到這個空的【prefab】預製件  遊戲

      此時圖標會發生響應的變化從白色到藍色的方塊  在【Hierarchy】層次面板中一樣物件也會變成藍色資源

               【物件】就會和【prefab】進行一個了聯繫  則改變【prefab】預製件也會改變相對應的【物件】io

應用:function

遊戲中一些相同設置的「敵人」物件,則能夠隨機在某些地方經過【prefab】預製件生成這些「敵人」的實體模板

單一建立的話浪費時間和空間,亦不利於GameObject管理class

優勢:變量

不須要對相同遊戲對象進行功能的逐個添加,就實現相同的屬性和功能腳本

將下面的腳本添加到Main Camera 而且將basketball的貼圖方法預製件上面就 

在即將運行的腳本上添加 導入變量的值

在Hierachy中建立Sphere以後,綁定好prefab以後再進行取消掉 界面仍是可以出現

觸發器Trigger

 

使用地方:

         若是你不想讓碰撞檢測影響物件移動,可是又想檢測到碰撞

         常常用來檢測一個物件是否通過空間中的某一個區域

場景:

一個cube落在一個【Collider】碰撞體

  在【Collider】屬性中能夠發現【is Trigger】的勾選項  能夠穿牆而過

    用於這種方式讓碰撞不被玩家「看見」,用來檢測某個物件是否在某個特定的區域

     如果把Renderer組件的勾去掉,在選中的狀況下能夠看見這個物件的輪廓

     綠色的邊框是碰撞提的形狀,

建立一個腳本Trigger.js

/*

  myTrigger將會是與這個觸發器碰撞的物件

*/

function OnTriggerEnter(myTrigger : Collider){

   if(myTrigger.gameObject.name =="Cube2"){

         Debug.Log("Box went throght!");

   }

}

相關文章
相關標籤/搜索