Unity如何动态创建prefab

  1. 将prefab放置到Resources目录下,该目录不一定在Assets的Resources目录下,任何Resource目录下均可;
  2. 创建GameObject对象:

Object prefabObj = Resources.Load("prefabName");

if(prefabObj == null) {…}

GameObject go = Instantiate(prefabObj, Vector3(.0f,.0f,.0f), Quaternion.identity) as GameObject;

go.transform.parent = RootCanvas.transform;

注意:

(1)第一句是加载某个预制体,注意不需要路径名称,不需要后缀名;

(2)Instantiate是根据Object具体实例化出GameObject对象;

(3)最后一句将创建的GameObject挂载到某个Canvas下面才会显示。同时Canvas的Render Model需要设置为World Space。

posted @ 2016-08-17 10:03  hellomyboy  阅读(5929)  评论(1)    收藏  举报