Unity例項化Prefab in C#
阿新 • • 發佈:2019-02-16
將下面的指令碼掛在攝像機上面即可,如果想例項化多個物體,可以用for迴圈來實現
1. 首先Expose一個屬性到外部(方便拖拉Prefab到指令碼上)
- publicclass createPrefabTest : MonoBehaviour {
- public GameObject target;
- }
2. 在需要的位置例項化Prefab
- void Start () {
- 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等相關方法來進行優化