在 Unity 中,Prefab(预制体)是一种非常重要的资产类型。
Prefab 本质上是一个可重复使用(开发者可以在场景中多次实例化同一个预制体)的游戏对象模板(预制体就像一个模板,对预制体本身的修改会自动应用到所有基于该预制体创建的实例上。例如,如果修改了角色预制体的动画参数,那么场景中所有该角色预制体的实例都会更新为新的动画设置。),它存储了一个或多个游戏对象及其组件的配置信息(例如,一个角色预制体可能包含了 Transform
组件(用于定义位置、旋转和缩放)、Rigidbody
组件(用于物理模拟)、Animator
组件(用于动画控制)以及自定义的脚本组件等。这些组件的参数设置都会被保存到预制体中,如 Rigidbody
的质量、重力开关等。),并且以文件形式(预制体以 .prefab
文件的形式存在于项目的 Assets 文件夹中。这使得预制体可以像其他资产一样进行版本控制、共享和管理。开发者可以将预制体文件复制、移动或删除)保存在项目的 Assets 文件夹中。这些配置信息包括游戏对象的层级结构、组件设置、材质、脚本等,使得开发者可以基于这个模板快速创建多个具有相同属性和功能的实例(预制体和它的实例之间存在一种特殊的关联。实例是预制体的具体表现,它们继承了预制体的属性和功能。当预制体更新时,实例可以选择同步这些更改;而实例的独立修改也可以选择应用回预制体,实现两者之间的双向更新)。