详解Unity预制体和预制体变体(Prefab Variant)

这篇具有很好参考价值的文章主要介绍了详解Unity预制体和预制体变体(Prefab Variant)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、预制体变体的创建

二、预制体与变体的绑定

三、预制体到变体的继承关系

四、变体常见API

五、变体用途

一、预制体变体的创建

通过一个预制体创建预制体变体可以通过以下两种方法:

1.在需要创建变体的预制体上右键选择图中选项即可在预制体当前目录下创建预制体变体。

unity 预制体变体,unity,游戏引擎

 2.通过脚本进行动态创建

GameObject prefab = item;//需要创建变体的预制体
string source = "需要保存的路径";//变体保存的路径
GameObject instantiatePrefab = PrefabUtility.InstantiatePrefab(prefab) as GameObject;//在场景中实例化需要创建变体的预制体
PrefabUtility.SaveAsPrefabAsset(instantiatePrefab, source);//直接保存该预制体到目录下,Unity会自动生成变体
DestroyImmediate(instantiatePrefab);//最后销毁实例化出来的预制体即可

二、预制体与变体的绑定

预制体与变体的绑定信息保存在.meta文件中,所以在SVN提交或者复制等等需要文件转移时需要将.meta文件一起转移,否则会丢失绑定信息。

三、预制体到变体的继承关系

在开发时,不能同时修改预制体和变体的属性,所以会有以下两种情况

1.修改预制体属性时:变体会随着进行修改,变体之前对该属性的修改都会被覆盖

2.修改变体属性时:只有变体的属性会修改,预制体不受任何影响。这个时候变体就和预制体有了差别。有差别的部分Unity会在左侧使用蓝线进行标注。如图所示,表示该变体对Tag和Animator组件进行了修改,Transform组件则和变体对应的预制体完全相同。

unity 预制体变体,unity,游戏引擎

四、变体常见API

变体相关的API大部分和预制体相同。比较特殊的是:

PrefabUtility.GetCorrespondingObjectFromOriginalSource方法。该方法会传入一个GameObject,返回该变体对应的预制体,而不会返回变体本身。

因此,当你需要获取变体路径、对变体做出特殊修改等等各种操作时,尽量使用PrefabUtility.GetCorrespondingObjectFromSource方法。该方法同样传入一个GameObject,但是会返回该变体本身

五、变体用途

变体常用于方便项目进行资源管理。在项目中常常出现美术资源目录和实际调用资源目录不同的情况,这种时候可以在实际调用资源目录下创建对应预制体的变体。当预制体修改时,变体也会随之修改。

除了需要对变体进行特殊操作,大部分情况下完全可以将变体当作预制体本身调用。文章来源地址https://www.toymoban.com/news/detail-796692.html

到了这里,关于详解Unity预制体和预制体变体(Prefab Variant)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Unity -- 预制体与变体

    Unity -- 预制体与变体

     1.一个游戏物体的图标为蓝色的时候,表明这个游戏物体是通过预制体创建的 当我们在修改预制体的时候,通过预制体创建的游戏物体也会同步修改(给预制体添加组件的时候,通过预制体创建的游戏对象也会添加对应的组件) 而当我们修改通过预制体创建的游戏物体时,

    2023年04月27日
    浏览(10)
  • Unity一键制作预制体Prefab一键修改Prefab属性

    Unity一键制作预制体Prefab一键修改Prefab属性

    模型文件结构如下图(经测试放模型的文件夹名字要和模型名字一致,不然找不到,你也可以修改代码测试其他方法)

    2024年02月16日
    浏览(9)
  • 【Unity】 预制体Prefab使用说明

    在 Unity 中,Prefab 是一个可以预先制作并重复使用的 GameObject 或组件集合,Prefab 中的 GameObject 可以有子对象和其他组件。与场景中直接创建 GameObject 不同,Prefab 可以在多个场景或项目中重复使用,并且可以轻松地进行修改和更新。Prefab 可以节省开发时间,并 提高游戏的可维

    2024年02月16日
    浏览(12)
  • Unity 之预制体(Prefab)的解释以及用法

    Unity 之预制体(Prefab)的解释以及用法

    Unity中的预制体(Prefab)是一种重要的资源类型,用于创建和管理游戏对象(GameObject)。预制体是一种可重用的模板,可以在游戏场景中多次实例化,使开发人员能够更轻松地创建和管理大量相似的对象。以下是有关Unity预制体的详细介绍,包括其作用和用法: 作用: 重用性

    2024年02月09日
    浏览(20)
  • 第十七章 Unity 预制件prefab(下)

    第十七章 Unity 预制件prefab(下)

    本章节我们来讲解如何编辑预制体文件。这里介绍三种打开编辑预制件的方式。第一就是通过预制件的实例游戏对象的Inspector检视面板上面的预制件“打开”按钮。 第二就是在Project工程面板中选中预制件文件(Cube.prefab),然后在Inspector检视面板中点击“打开预制件”。 第

    2024年02月04日
    浏览(11)
  • 第十六章 Unity 预制件prefab(上)

    第十六章 Unity 预制件prefab(上)

    本章节我们介绍一下“预制件”,也有人叫“预制体”,也就是Prefab。在游戏世界中,那些自然环境的游戏对象,我们可以提前创建在场景中,这个大家能够理解。但是,有些游戏对象,需要根据游戏逻辑来通过代码生成,例如刷新怪物,触发机关等等。Unity 的预制件系统允许

    2024年02月08日
    浏览(15)
  • [Unity]将物体(gameObject)与预制体(Prefab)取消关联,解绑

    [Unity]将物体(gameObject)与预制体(Prefab)取消关联,解绑

    在如下Hierarchy窗口中右键点击要解绑的物体  在右键菜单中选择prefab-》Unpack即可将对象与预制体解除关联      

    2024年02月11日
    浏览(11)
  • 【Unity 3D】游戏对象、添加删除获取组件、预制体Prefabs简介

    觉得有帮助请点赞关注收藏~~~ 创建3D对象 选择GameObject -3D Object命令 选择要创建的3D对象 下面是各个对象的意思 cube 立方体 sphere 圆柱体 capsule 平面 cylinder 胶囊体 plane 球体 quad 面片  可以为上面创建的对象添加刚体组件 选中该对象 在Inspector视图中,单机add component按钮, 选在

    2024年02月04日
    浏览(43)
  • 详解Unity中的预制体

    详解Unity中的预制体

    在Unity中,预制体的作用是重复利用资源,比如游戏世界的花草树木、房屋建筑。这些资源都是重复出现的,我们可以将它做成预制体,方便重复利用。预制体也分原始预制体和变体,本篇我们就来说说它们的区别。 前排提醒:本文仅代表个人观点,以供交流学习,若有不同

    2024年01月17日
    浏览(12)
  • 第十六章 预制件prefab(上)

    第十六章 预制件prefab(上)

    本章节我们介绍一下“预制件”,也有人叫“预制体”,也就是Prefab。在游戏世界中,那些自然环境的游戏对象,我们可以提前创建在场景中,这个大家能够理解。但是,有些游戏对象,需要根据游戏逻辑来通过代码生成,例如刷新怪物,触发机关等等。Unity 的预制件系统允许

    2024年02月02日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包