Unity 的预制体系统允许您创建、配置和存储一个包含所有组件、属性值和子游戏对象的游戏对象Unity 场景中的基本对象,可以表示角色、道具、场景、摄像机、路径点等。游戏对象的功用由附加在其上的组件定义。 更多信息
参见 术语表,将其作为可重用的资源进行存储。预制体资源充当模板,您可以从中在场景场景包含游戏环境和菜单。可以将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是分段设计和构建游戏。 更多信息
参见 术语表中创建新的预制体实例。
当您想要在场景中的多个位置或项目中的多个场景中重复使用以特定方式配置的游戏对象(例如非玩家角色 (NPC)、道具或场景元素)时,您应该将其转换为预制体。这比简单地复制和粘贴游戏对象更好,因为预制体系统允许您自动保持所有副本的同步。
对预制体资源进行的任何编辑都会自动反映在该预制体的实例中,使您能够轻松地对整个项目进行广泛的更改,而无需重复对资源的每个副本进行相同的编辑。
您可以将预制体嵌套在其他预制体中,以创建易于在多个级别进行编辑的复杂对象层次结构。
但是,这并不意味着所有预制体实例都必须相同。如果您希望某个预制体的某些实例与其他实例有所不同,则可以覆盖单个预制体实例上的设置。您还可以创建预制体的变体,这使您可以将一组覆盖组合到预制体的有意义的变体中。
当您想要在运行时实例化场景启动时不存在的游戏对象时(例如,使增强道具、特殊效果、弹丸或 NPC 在游戏过程中正确的时刻出现),也应该使用预制体。
一些预制体使用的常见示例包括
环境资源 - 例如在关卡周围多次使用的特定类型的树(如上图所示)。
非玩家角色 (NPC) - 例如,特定类型的机器人可能会在您的游戏中多次出现,跨越多个关卡。它们可能在移动速度或发出的声音方面有所不同(使用覆盖)。
弹丸 - 例如,海盗的加农炮每次发射时可能会实例化一个炮弹预制体。
玩家的主要角色 - 玩家预制体可能会放置在游戏每个关卡(单独的场景)的起始点。
当您选择一个预制体并在检查器一个 Unity 窗口,显示有关当前选定的游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
参见 术语表中查看它时,检查器中的资源预览窗格将显示预制体的预览。如果预制体的大小小于 8MB,则资源预览窗格将显示预制体的交互式预览,这允许您在资源预览窗格内旋转预制体。
如果预制体的大小大于 8MB,则默认情况下资源预览将显示预制体的静态预览。要查看大于 8MB 的预制体的交互式预览,请点击资源预览窗格内的任意位置。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.