预设的两个特性:
1.重用性。可以使我们快速方便的创建大量的重复性资源。这种创建是通过预设的实例化Instance操作来完成的
在Hierarchy视图中将实例物理添加到Assests中,此时图标变成蓝色的小方块,只需将其拖拽到Scene视图中即可完成预设的创建(即Instance克隆),修改原始实例即可完成所有克隆实例的修改。此特性称为预设的继承性。也可修改克隆实例的对象,此时其修改的属性标签粗体显示,对原始实例的修改不会影响到单独实例的修改。达到修改克隆实例的一部分的效果,当点击Apply时,所有的克隆实例及原始实例都使用此属性了(字体不再是粗体表明不再是重载了)此特性称为预设的重载特性(Override)。
2.运行实例化。运行实例化是指我们可以在程序运行进执行实例化操作。
首先,建一个C#脚本
using UnityEngine;
using System.Collections;
public class prefabbrick : MonoBehaviour {
public Transform brick;
// Use this for initialization
void Start () {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
Instantiate(brick,new Vector3(i,j,0f),Quaternion.identity);
}
}
}
}
然后在 Unity编辑窗口新建Cube,在Project视图中创建一个新的prefab,重命名为brickprefab,拖拽Cube物体到brick预设中,此时brickprefab图标变为蓝色小方块,Cube可以删除,然后拖拽brick脚本到空的游戏对象,并将brickprefab赋值给公共变量brick.
效果如下图所示: