创建游戏对象
创建游戏对象有两种方式:第一种为将模型预先放入“Hierarchy”视图中,第二种(脚本方式)为在代码中根据条件动态创建与删除游戏对象。
实例
在视图中添加两个按钮,“创建Cube”和“创建Sphere”,点击相应按钮会在游戏中动态的添加相应的游戏对象。
- GameObject.CreatePrimitive()方法:用于创建一个原始游戏对象,其参数可设置为立方体、球体等系统默认提供的游戏对象。
- AddCompponent<>()方法:用于给对象添加一个组件。
- transform.position:用于设置该对象的位置。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CreateObj : MonoBehaviour {
void OnGUI()
{
if(GUILayout.Button("创建Cube",GUILayout.Height(50)))
{
var objCube = GameObject.CreatePrimitive(PrimitiveType.Cube); //创建一个Cube对象
objCube.name = "Cube"; //设置对象名称
objCube.transform.position = new Vector3(0.0f,8.0f,0.0f); //对象坐标
objCube.AddComponent<Rigidbody>(); //给对象添加刚体
objCube.GetComponent<MeshRenderer>().material.color = Color.blue; //设置模型材质颜色
}
if (GUILayout.Button("创建Sphere", GUILayout.Height(50)))
{
var objSphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); //创建一个Cube对象
objSphere.name = "Sphere"; //设置对象名称
objSphere.transform.position = new Vector3(0.0f, 8.0f, 0.0f); //对象坐标
objSphere.AddComponent<Rigidbody>(); //给对象添加刚体
objSphere.GetComponent<MeshRenderer>().material.color = Color.red; //设置模型材质颜色
}
}
}
运行示例:游戏对象添加了刚体组件,并且添加了Plane平面用来接着掉下的动态添加的对象