1. 程式人生 > 實用技巧 >Unity 建立遊戲物體的常用方法

Unity 建立遊戲物體的常用方法

一、建立空的遊戲物體

  • 建立一個空的遊戲物體
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     }

*** | 以上內容僅為學習參考、學習筆記使用 | ***