目录
一,预制体介绍
二,创建预制体
三,实例化预制体
一,预制体介绍
- 预制体是 Unity 3D 提供的保存游戏对象组件和属性的方法,通过预制体可以快速的实例化挂载不同组件的游戏对象,从而减少开发难度,提高资源的利用率和开发效率。
- 预制体是 Unity 中非常重要的概念,可以理解为一个游戏对象及其组件的集合,目的是使游戏对象及其资源能够重复使用。预制体修改后,实例也会同步修改。
二,创建预制体
1,在 工程面板 中,右击新建文件夹,将其命名为 Prefabs。
2,在 层级面板 中,右击新建一个 Cube 对象。
3,将 Cube 对象从 层级面板 中拖拽到 工程面板 的 Prefabs 文件夹内。
4,此时 层级面板 中的 Cube 对象的字体颜色变成了 蓝色,表示其从一个游戏对象变成了预制体的一个实例,并且 Prefabs 文件夹内多了一个后缀为 .prefabs 的预制体,至此,预制体就创建成功了,之后可以将其拖入到 场景面板 中从而进行实例化该预制体。
三,实例化预制体
1,首先给主摄像机添加脚本组件,然后编辑该脚本组件内容如下所示
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class InstancePrefabs : MonoBehaviour
{
public GameObject m_prefab; //创建预制体,会在检视面板中以属性形式显示,注意必须声明为公有
// Start is called before the first frame update
void Start()
{
//实例化 3 个预制体
for(int i = 0;i<3;i++)
{
//参数1:要创建的预制体。参数2:预制体的位置。参数3:预制体的方向
Instantiate(m_prefab,new Vector3(0,0,i),Quaternion.identity);
}
}
// Update is called once per frame
void Update()
{
}
}
2,然后将 工程面板 中 Prefabs 下的预制体(Cube)拖入 InstancePrefabs 脚本组件的 Prefab 卡槽内
3, 运行后效果如下
4,至此,创建和实例化预制体就大功完成啦!!!