8.预设体和资源包的导入导出

8.Unity工作原理-预设体和资源包的导入导出


8.1 知识点

预设体(预制体)

预设体是什么

预设体是 Unity 3D 提供的一种保存游戏对象组件和属性的方法。通过预设体,可以快速实例化带有不同组件的游戏对象,从而减少开发难度,提高资源的利用率和开发效率。

预设体是 Unity 中非常重要的概念,可以理解为一个游戏对象及其组件的集合。其目的是使游戏对象及其资源能够重复使用。当修改预设体时,实例也会同步修改。

创建预设体

  • 直接将场景中的物体拖入到Project窗口的Assets文件夹目录下即可。预设体会显示为蓝色图标,通常会用一个单独的”Prefabs”文件夹进行管理。

  • 将Assets文件夹目录下的预设体拖入Scene窗口中,可以获得多个具有相同属性的游戏对象。

  • 使用SublimeText等文本编辑器打开预设体,本质上也是一个配置文件。

修改预设体

  • 注意:修改预设体将应用到所有场景中已存在的预设体。

  • 在Scene窗口添加一个球体到金字塔预设体上,Inspector窗口会显示一个覆盖按钮。点击该按钮会弹出一个窗口,其中有”Apply All”按钮。点击”Apply All”将会将修改应用到所有预设体。

  • 在Scene窗口中修改了金字塔预设体后,可强制拖拽覆盖到预设体所在目录下以完成修改。

  • 删除预设体中的对象会弹出一个窗口,让你跳转到预设体独有的空间中进行修改。

  • 点击Project窗口中的预设体资源文件,或者在场景中选择一个预设体并点击Inspector窗口中的”Open Prefab”按钮,可以跳转到预设体独有的空间中修改预设体。

  • 如果要在某个预设体的基础上创建新的预设体,可以右键解除预设体的关联,然后修改要成为预设体的对象和名称,在拖拽至Project窗口后,将会生成一个新的预设体(如果发现同名的话,会在预设体后面加上” 1”)。


解除预设体

  • Unpack Prefab:解散Prefab与本体的关联。此时在Hierarchy面板中,父级会变成灰色图标,表示不再是一个实例。在Inspector面板中,Prefab相关的操作也会消失。但是子级的Prefab属性仍然存在(如果子级有Prefab的话)。

  • Unpack Prefab Completely:完全解散Prefab,此时不管是父级还是多深的子级,全部失去与各自Prefab的关联,变成了场景中的一组对象。

相同预设体

  • 拖回相同的预设体时会弹出一个窗口,询问是否要创建新的预设体。

删除预设体

  • 删除预设体会导致场景中的预设体实例变成红色,表示预设体已被删除。
  • 右键预设体实例并点击”Unpack Prefab”会使预设体实例变回白色,表示不再是预设体。

预设体的其他操作

  • 右键预设体实例并选择”Show in Explorer”可以在文件夹中显示当前预设体。


  • 右键预设体实例并选择”Open Prefab”可以直接打开预设体的空间。

资源包导入导出

  • 在Project窗口右键选择导入或导出资源包。

  • 点击导出资源包会弹出一个窗口,选择要导出的资源包和相关的依赖项(建议勾选),选择路径并导出成一个以.unitypackage为后缀的资源包。



  • 将以.unitypackage为后缀的资源包直接拖拽至Project工程中,或者双击该资源包。也可以在Project窗口右键选择导入资源包。

  • 注意:已存在的一模一样的资源不会重新导入。


8.2 练习题

将之前制作的坦克对象导出资源包以待备用

  1. 直接拖拽坦克对象到Project窗口
  2. 右键导出资源包
    • 选择坦克对象,右键点击并选择导出包。
    • 设置导出路径和文件名。
    • 点击确定按钮导出资源包。
  3. 删除场景中的坦克和坦克预制体
  4. 将导出的资源包拖拽到Project窗口,重新生成预制体。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏