Skip to content

预制体系统

unity-prefab-system

预制体系统是什么

Prefab 可以理解为“可复用的 GameObject 模板”。比如敌人、子弹、道具、UI 面板、爆炸特效,都很适合做成预制体。

核心区别:

c
Prefab Asset = Project 面板里的模板文件
Prefab Instance = 场景里从模板拖出来的对象

如果你改 Prefab Asset,所有没有单独覆盖的实例都会跟着变。 如果你只改场景里的某个实例,那就是 Override 覆盖。

常用操作

Override:只改当前实例。 Apply:把当前实例的改动写回 Prefab 模板。 Revert:放弃当前实例的覆盖,恢复模板默认值。 Unpack:断开和 Prefab 的连接,变成普通 GameObject

脚本生成 Prefab

运行时生成敌人、子弹、特效,通常这样写:

c
[SerializeField] private GameObject bulletPrefab;

void Shoot()
{
    Instantiate(bulletPrefab, transform.position, transform.rotation);
}

销毁对象

Destroy(gameObject);

学习顺序建议:先做一个 Enemy Prefab,拖多个实例到场景里,改其中一个观察 Overrides,再练习 Apply/Revert,最后用 Instantiate 在运行时生成它。

收到,我后面每个 Unity 模块都会附上参考链接。刚才“预制体系统”的参考链接补在这里:

官方参考链接

文章评价

读完这篇,留下你的看法

暂无审核通过的评价。

登录账号后才能评价。

本站访客数0总站访问量0本页访问量0