GameObject
基础创建与销毁
https://docs.unity.cn/cn/current/ScriptReference/GameObject.html
https://docs.unity3d.com/6000.3/Documentation/ScriptReference/GameObject.html
1. 创建 GameObject
csharp
// 1.1 创建空物体
GameObject obj = new GameObject("MyObject");
// 1.2 使用预制 体创建(实例化)
public GameObject prefab;
GameObject instance = Instantiate(prefab);
// 1.3 带位置和旋转的创建
GameObject instance = Instantiate(prefab, position, rotation);
// 1.4 创建带组件的物体
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
// 1.5 克隆现有物体
GameObject clone = Instantiate(originalObject);
2. 销毁 GameObject
csharp
// 2.1 立即销毁
Destroy(gameObject);
// 2.2 延迟销毁
Destroy(gameObject, 3f); // 3秒后销毁
// 2.3 销毁组件
Destroy(GetComponent<Rigidbody>());
// 2.4 销毁所有特定标签的物体
GameObject[] objects = GameObject.FindGameObjectsWithTag("Enemy");
foreach (GameObject obj in objects)
{
Destroy(obj);
}
二、查找与访问
1. 查找单个 GameObject
csharp
// 1.1 通过名称查找
GameObject player = GameObject.Find("Player");
// 1.2 通过标签查找
GameObject player = GameObject.FindWithTag("Player");
// 1.3 通过类型查找(第一个)
Camera mainCamera = GameObject.FindObjectOfType<Camera>();
// 1.4 查找所有指定类型的物体
Camera[] allCameras = GameObject.FindObjectsOfType<Camera>();