- 用户指南
- 资源商店 (Asset Store)
- 资源服务器 (Asset Server)(仅限团队许可证)
- 缓存服务器(仅限团队许可证)
- 幕后场景
- 创建游戏
- 运行时实例化预设 (Prefabs)
- 变换 (Transforms)
- 物理
- 添加随机的游戏元素
- 粒子系统(Particle Systems)
- Mecanim 动画系统
- 旧动画系统
- 导航网格 (Navmesh) 和寻路 (Pathfinding)(仅限专业版 (Pro))
- Sound (音频侦听器)
- 游戏界面元素
- 多玩家联网游戏
- iOS 开发入门
- Android 开发入门
- Blackberry 10 开发入门
- Metro:入门指南
- 本地客户端开发入门
- FAQ
- Advanced
- Vector Cookbook
- 资源包(仅限专业版)
- Graphics Features
- 资源数据库 (AssetDatabase)
- 构建播放器管道
- 分析器(仅限专业版)
- 光照贴图快速入门
- 遮挡剔除(仅限专业版)
- 相机使用技巧
- 运行时加载资源
- 通过脚本修改源资源
- 用程序生成网格几何体
- 富文本
- 在 Unity 工程 (Project) 中使用 Mono DLL
- 事件函数的执行顺序
- 移动优化实用指南
- Unity XCode 工程结构
- 优化图形性能
- 减少文件大小
- 理解自动内存管理
- 平台依赖编译
- 泛型函数
- 调试
- 插件(专业版/移动版特有功能)
- 文本场景文件格式(仅限专业版)
- 流媒体资源
- 启动时运行编辑器脚本代码
- 网络模拟
- VisualStudio C 集成
- 分析
- 检查更新
- 安装多版本 Unity
- 故障排除
- Unity 中的阴影
- Unity 中的 IME
- 对集成显卡进行优化
- 网络播放器 (Web Player) 部署
- 使用网络播放器中的信任链系统
预设 (Prefabs)
预设 (Prefab) 是一种资源 - 存储在工程视图 (Project View) 中可重复使用的游戏对象 (GameObject)。预设 (Prefabs) 可放入到多个场景中,且每个场景可使用多次。向场景添加一个预设 (Prefab) 时,就会创建它的一个实例。所有预设 (Prefab) 实例都链接到原始预设 (Prefab),实质上是原始预设的克隆。不管您的工程中有多少个实例,您对预设 (Prefab) 作薄出任何更改时,您会看到这些更改应用于所有实例。
创建预设 (Prefabs)
要创建一个预设 (Prefab),只需将您在场景中创建的一个游戏对象 (GameObject) 拖入工程视图 (Project View)。游戏对象 (GameObject) 的名称变成蓝色,显示这是一个预设 (Prefab)。您可以重命名该新预设 (Prefab)。
完成这些步骤之后,游戏对象 (GameObject) 及其所有子对象均已复制到预设 (Prefab) 数据中。该预设 (Prefab) 现在可在多个实例中重复使用。层级视图 (Hierarchy) 中的原始游戏对象 (GameObject) 现在已变成该预设 (Prefab) 的一个实例。
预设 (Prefab) 实例
要在当前场景创建一个预设 (Prefab) 实例,从工程视图 (Project View) 将预设 (Prefab) 拖入场景 (Scene) 或层级视图 (Hierarchy View)。该实例已链接到预设 (Prefab),在层级视图 (Hierarchy) 中其名称以蓝色文字显示。
其中三个游戏对象 (GameObjects) 链接到了预设 (Prefabs),另一个则没有。
- 如果您选择了一个预设 (Prefab) 实例,并希望做些更改以影响到所有实例,您可以在检视器 (Inspector) 中点击"选择 (Select)" 按钮来选择源预设 (Prefab)。
- 有关从脚本实例化预设的信息,请参阅实例化预设 页面。
继承
继承是指无论何时源预设 (Prefab) 更改,这些更改都会应用到所有已链接的游戏对象 (GameObjects)。例如,如果向预设 (Prefab) 添加新脚本,所有已链接的游戏对象 (GameObjects) 也将立即包含该脚本。但是,它有可能更改单个实例的属性,同时保持链接完整。更改任何一个预设实例的属性,就可看到变量名称变成粗体。变量现已被重写。所有重写属性都不会受到源预设 (Prefab) 更改的影响。
这使您能够修改预设 (Prefab) 实例,让它们不同于源预设 (Prefabs),且不会破坏预设 (Prefab) 链接。
没有可重写变量的一个已链接游戏对象 (GameObject)。
有几个可重写变量(名称加粗的)的一个已链接游戏对象 (GameObject)。
- 如果想用新重写值更新源预设 (Prefab) 和所有实例, 您可以点击检视器 (Inspector) 中的应用 (Apply) 按钮。
- 请注意,将不会应用根的位置和旋转,因为这会影响实例的绝对位置并要将所有实例放在同一个位置。然而,会应用根的任何子元素或祖先元素的位置和旋转,因为它们是相对于根的变换计算的。
- 如果想放弃对特定实例的所有重写,可点击"还原 (Revert)" 按钮。
导入预设 (Prefabs)
将网格资源放入资源 (Assets) 文件夹时,Unity 会自动导入文件,并生成一些类似于网格之外预设 (Prefab) 的东西。这实际上不是一个预设 (Prefab),它只是资源文件本身。实例化和处理资源时遇到了一些处理正常预设 (Prefabs) 时不会出现的限制。
请注意,资源 (asset) 图标与预设 (Prefab) 图标略有不同
资源是作为一个游戏对象 (GameObject) 存在于场景中的实例,链接到源资源而非正常预设 (Prefab)。可向该游戏对象 (GameObject) 正常添加组件及从中删除组件。但是,您无法对资源本身作任何更改,因为这样会向资源文件本身添加数据!如果您创建一些想要重复使用的东西,您应当按照上文“创建预设 (Prefabs)”中所列步骤将资源实例制成一个预设 (Prefab)。
- 选择一个资源实例时,检视器 (Inspector) 中的"应用 (Apply)" 按钮将被替换成"编辑 (Edit)" 按钮。点击此按钮将为您的资源启动编辑应用程序(如 Maya 或 Max)。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论