【Unity 3D 从入门到实践】Unity 3D 预制体

目录

一,预制体介绍

二,创建预制体

三,实例化预制体


  1. 预制体是 Unity 3D 提供的保存游戏对象组件和属性的方法,通过预制体可以快速的实例化挂载不同组件的游戏对象,从而减少开发难度,提高资源的利用率和开发效率。
  2. 预制体是 Unity 中非常重要的概念,可以理解为一个游戏对象及其组件的集合,目的是使游戏对象及其资源能够重复使用。预制体修改后,实例也会同步修改。

1,在 工程面板 中,右击新建文件夹,将其命名为 Prefabs

【Unity 3D 从入门到实践】Unity 3D 预制体_第1张图片

2,在 层级面板 中,右击新建一个 Cube 对象。

【Unity 3D 从入门到实践】Unity 3D 预制体_第2张图片

3,将 Cube 对象从 层级面板 中拖拽到 工程面板Prefabs 文件夹内。

【Unity 3D 从入门到实践】Unity 3D 预制体_第3张图片

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 卡槽内

【Unity 3D 从入门到实践】Unity 3D 预制体_第4张图片

3, 运行后效果如下

【Unity 3D 从入门到实践】Unity 3D 预制体_第5张图片

4,至此,创建和实例化预制体就大功完成啦!!! 

你可能感兴趣的:(Unity,unity,游戏引擎,c#)