Unity实例化Prefab in C#

将下面的脚本挂在摄像机上面即可,如果想实例化多个物体,可以用for循环来实现


1. 首先Expose一个属性到外部(方便拖拉Prefab到脚本上)

[csharp]  view plain copy
  1. public class createPrefabTest : MonoBehaviour {  
  2. public GameObject target;  
  3. }  

2. 在需要的位置实例化Prefab

[csharp]  view plain copy
  1. void Start () {  
  2.     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等相关方法来进行优化

你可能感兴趣的:(unity3d,实例化)