一、創建空的游戲物體
- 創建一個空的游戲物體
1 void Start() 2 { 3 new GameObject(); 4 }
- 創建一個空的游戲物體,並命名
1 void Start() 2 { 3 new GameObject("Table"); 4 }
- 創建一個空的游戲物體,命名並用 go 接受對象(代碼內操作其他屬性)
1 void Start() 2 { 3 GameObject go = new GameObject("Table"); 4 print(go.name); 5 }
二、創建原始對象 Cube、Sphere、Capsule 等
1 void Start() 2 { 3 GameObject.CreatePrimitive(PrimitiveType.Cube); //正方體 4 GameObject.CreatePrimitive(PrimitiveType.Sphere); //球體 5 GameObject.CreatePrimitive(PrimitiveType.Capsule); //膠囊 6 GameObject.CreatePrimitive(PrimitiveType.Cylinder); //圓柱體 7 GameObject.CreatePrimitive(PrimitiveType.Plane); //平面,占用內存大 8 GameObject.CreatePrimitive(PrimitiveType.Quad); //平面,占用內存小 9 }
三、通過預制體創建對象
方法大致有五個:
-
GameObject.Instantiate(Object original);
指定參數只有一個,預制體(也就是實例化對象)
-
GameObject.Instantiate(Object original, Transform parent);
參數分別為:預制體(實例化對象)和指定創建對象的父類
-
GameObject.Instantiate(Object original, Transform parent, bool instantiateInWorldSpace);
最后一個參數是-分配父類的時候是否保持原始的世界位置,false不保留,true保留
-
GameObject.Instantiate(Object original, Vector3 position, Quaternion rotation);
參數分別為:實例化對象(預制體),實例化的位置,實例化的角度
-
GameObject.Instantiate(Object original, Vector3 position, Quaternion rotation, Transform parent);
參數分別為:實例化對象(預制體),實例化的位置,實例化的角度,指定父類
1 public GameObject prefab; 2 3 void Start() 4 { 5 // 這里創建一個空的游戲物體作為父類 6 GameObject go = new GameObject("table"); 7 8 GameObject.Instantiate(prefab); //實例化對象 9 GameObject.Instantiate(prefab, go.transform); //創建的時候指定父類(go.transform) 10 GameObject.Instantiate(prefab, go.transform, false); //分配父類的時候是否保持原始的世界位置,false不保留,true保留 11 GameObject.Instantiate(prefab, go.transform.position, Quaternion.identity); //Quaternion.identity -對象與世界軸或父軸完美對齊(無旋轉) 12 GameObject.Instantiate(prefab, go.transform.position, Quaternion.identity, go.transform); //創建對象的同時指定父類 13 }
*** | 以上內容僅為學習參考、學習筆記使用 | ***