[新手学院] Prefab制作教程

[复制链接]
703 |0
Amudiens 发表于 2023-9-22 17:34:32 | 显示全部楼层 |阅读模式
本帖最后由 Amudiens 于 2023-9-22 17:34 编辑

Prefab是一种资源类型——存储在项目视图中的一种可重复使用的游戏对象,由任意逻辑对象、资源对象组合而成具有确定逻辑与表现的对象集合,目的是使游戏对象及资源能够被重复使用。相同的对象可以通过一个预制体来创建,此过程可理解为实例化。
简单来说就是 美术资源+逻辑。
使用Prefab的优势:

  • Prefab一个重要的优势就是编辑Prefab资源后,场景中所有使用Prefab克隆的游戏对象将全部使用新编辑的资源,无需一个一个的给场景中的对象赋值。
  • 当游戏中需要频繁创建一个物体时,使用Prefab能够节省内存,Prefab可以提升资源的利用率和开发的效率。



简而言之,一些特定模型(复杂程度不高)在编辑器资源库中无法提供的时候,那么我们可以自行进行搭建。之后将所搭建模型新建成为预制体,便可以成为可复用的对象,其他项目可以通过导入该预制体使用我们所搭建的模型。
下面简单介绍一下prefab制作中常用方法:
1.1 对象分组可以通过设置物体的父子级,并修改名称的方式做简单对象分组。
1.拖拽至世界的物体默认是同一层级的
暂时无法在MetaApp文档外展示此内容
2. 若想设置物体的父子级关系,只需要在物体列表中拖拽子级物体到父级物体上
暂时无法在MetaApp文档外展示此内容
3. 之后在物体列表中就可以看到物体层级发生了变动
暂时无法在MetaApp文档外展示此内容
4. 可以存在多级嵌套的父子级关系
设置父子级有哪些好处?
  • 方便从物体列表确认物体的层级关系
  • 默认情况下,移动/旋转/缩放父级物体时,子级物体会跟着一起移动/旋转/缩放
使用示例例如摩天轮的车厢和左右车门,左右车门应设置为车厢的子级。这样车厢移动时车门会自动跟着车厢移动
暂时无法在MetaApp文档外展示此内容


1.2 Find主题物示例使用编辑器中基础模型分组中的静态模型进行搭建,且要设置合理的父级子级关系。下面是一个简单拼接的皮卡丘。
.jpg

对应身体部位要进行对象分组和重命名。



模型颜色修改选择模型-【材质设置】-【静态网格】-【材质】-【颜色】
.jpg

【颜色】-取色器
.jpg

取色器既可以取当前编辑器界面中的颜色,也可以取外部其他界面颜色
注:取色器取得颜色有色差,是因为编辑器属于3D编辑,其中包含了各种环境光等因素,所以取色之后会需要小再次手动调色(最终颜色会更贴近一些)。



静态模型(Static Mesh)手动合并功能
  • 在编辑时开发者可手动对静态模型进行打组标记,运行时以组为单位合并为一个静态模型,从而降低drawcall,提升性能。
  • 使用方法
    • 创建合并对象,并将希望合并的静态模型挂载至合并对象下

暂时无法在MetaApp文档外展示此内容
  • 选中静态模型,执行右键菜单中【包含选中创建合并对象】
暂时无法在MetaApp文档外展示此内容


使用示例
  • 将所用模型全选创建合并对象
.jpg

  • 重新命名合并对象文件夹
关于程序调用合并对象文件夹位置坐标,一定要进行以下步骤:
  • 场景内放入一个【锚点】(无实体不可见),设置好锚点相对模型的位置
.jpg

  • 将合并对象文件夹作为子物体,以锚点作为父级,放到锚点下
.jpg

注:如果作业搭建的模型存在分部位控制(例:上下半身的区分),需要将各个部位分开,按照一个部位对应一个合并对象+一个锚点进行组合
.jpg



1.3 预制体修改与导出预制体支持手动合并功能
  • 在预制体编辑视口内可支持创建合并对象
暂时无法在MetaApp文档外展示此内容
  • 包含合并对象的预制体在场景中使用时可正常合并
  • 包含合并对象的预制体可在运行中正常动态生成并合并

预制体支持嵌套
  • 预制体支持嵌套使用 ,有以下几种应用场景
    • 从本地资源库拖拽挂载至对象树中预制体结构中

暂时无法在MetaApp文档外展示此内容
  • 从本地资源库拖拽挂载至预制体编辑视口中

暂时无法在MetaApp文档外展示此内容
  • 从工程内容拖拽挂载至对象树中预制体结构中
暂时无法在MetaApp文档外展示此内容
  • 从工程内容拖拽挂载至预制体编辑视口中
暂时无法在MetaApp文档外展示此内容
  • 嵌套执行逻辑
    • 将预制体导入进入工程内容,并将该预制体根节点下内容执行挂载逻辑
    • 保存预制体时,将引用的内容更新至修改的预制体中(结构、脚本、UI)
    • 注意:更新引用时若重名,则进行重命名处理(会导致脚本和UI失效,需要开发者修改)


预制体导出
  • 开发者在工程内容-预制体分类下,可选择对应预制体在最外层文件夹,右键菜单导出预制体
暂时无法在MetaApp文档外展示此内容
  • 注意:当前仅支持在内容导览处文件夹进行导出,后续会优化

回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表