Unity 建立遊戲物體的常用方法
阿新 • • 發佈:2020-07-16
一、建立空的遊戲物體
- 建立一個空的遊戲物體
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 }
*** | 以上內容僅為學習參考、學習筆記使用 | ***