1. 程式人生 > >Unity例項化Prefab in C#

Unity例項化Prefab in C#

將下面的指令碼掛在攝像機上面即可,如果想例項化多個物體,可以用for迴圈來實現

1. 首先Expose一個屬性到外部(方便拖拉Prefab到指令碼上)

  1. publicclass createPrefabTest : MonoBehaviour {  
  2. public GameObject target;  
  3. }  

2. 在需要的位置例項化Prefab
  1. void Start () {  
  2.     GameObject.Instantiate(target,new Vector3(1,1,0),Quaternion.identity);}  

Instantiate(目標prefab,位置,旋轉)

注1: Resources方式也可以建立Prefab,但是由於是用字串硬編碼prefab名稱,難以維護,所以不推薦使用

注2:旋轉的引數型別是Quaternion,四元數,非vector3或尤拉角;四元數比尤拉角有諸多優點,不再贅述,詳情可參《3D數學基礎》一書

如果需要使用尤拉角,可以Quaternion.Euler(new Vector3(x,y,z))

注3:例項化在部分裝置上會消耗相當的記憶體與計算量,故在移動裝置上應慎用,以免影響使用者體驗。可以使用pool等相關方法來進行優化