1. 首先Expose一个属性到外部(方便拖拉Prefab到脚本上)
public class createPrefabTest : MonoBehaviour {
public GameObject target;
}
2. 在需要的位置实例化Prefab
void Start () {
GameObject.Instantiate(target,new Vector3(1,1,0),Quaternion.identity);}
Instantiate(目标prefab,位置,旋转)
注1: Resources方式也可以创建Prefab,但是由于是用字符串硬编码prefab名称,难以维护,所以不推荐使用
注2:旋转的参数类型是Quaternion,四元数,非vector3或欧拉角;四元数比欧拉角有诸多优点,不再赘述,详情可参《3D数学基础》一书
如果需要使用欧拉角,可以Quaternion.Euler(new Vector3(x,y,z))
注3:实例化在部分设备上会消耗相当的内存与计算量,故在移动设备上应慎用,以免影响用户体验。可以使用pool等相关方法来进行优化