【Unity入门】21.预制体

【Unity入门】预制体

    大家好,我是Lampard~~

    欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 

 

(一)预制体制作

(1)什么是预制体

    这一章节的博客,我们将会学习一个预制体的概念。什么是预制体呢?

    Unity 的预制体是可重复使用的游戏对象组合,是一种将游戏对象组合成一个整体并保存为一个独立资源的机制

    通过将一个或多个游戏对象组合成一个预制体,我们可以快速创建出多个基于相同属性的游戏对象

    简单来说,之前我们可以通过FBX模型文件,快速在编译器中创建一个游戏对象

    但是这个功能还不够方便,因为它只带了一个物体的网格,材质,纹理信息。这个模型身上是没有其他组件和属性信息

    比如我们在之前创建的小车,它身上挂载了AudioSource的车载音乐,和控制小车移动的脚本组件。如果我们想把物体对象中所有信息给打包下来(下次使用可以直接复制),就得需要用到预制体的概念

(2)制作一个预制体

    如何制作一个预制体呢?方法非常简单,我们只需要把Hierarchy面板上的游戏对象,直接拖动到Assert目录即可

    比如我们把小车制作成预制体,先在Assert目录下创建一个预制体文件夹,然后拖过去就行

    我们之前的地月系统也可以制作成预制体

(3)预制体的构成

    导出成预制体后,我们右键在文件夹中打开可以看到多了Prehab后缀的文件,还有.meta文件  

    之前说过.meta只是unity的log文件,所以我们不用管它,主要看看prehab文件是啥东西,右件打开,发现里面保存的是一些预制体包含的组件信息,还有一些参数信息

    也就是说,prehab文件只是一个记录文件,并不包含对象所拥有的资源。我们可以右键export这个预制体,unity会提醒你,把这个预制体所用到的资源也一并打包

 

(二)预制体的使用

(1)使用预制体创建游戏对象

    使用预制体创建对象和以往一样,只需要拖到游戏场景就可以

    比如我们现在利用地月系统预制体创建了4个一摸一样的游戏对象

    点击运行,它们就会以同样的速度进行旋转 

(2)修改预制体

    预制体有另外的好处就是,如果我们需要修改预制体的信息,比如换一个皮或者修改一下参数的值,我们只需要对预制体进行改动就可以了,其生成的所有物体对象都会同步修改

    那怎么对预制体进行操作呢?我们可以双击预制体本身,此时整个界面会变蓝

    抑或是在Hierarchy层级管理器中,选择由预制体生成的对象,点击小箭头就能进入编辑界面了,不过从这里进去时,界面会默认变成灰色

     我们可以修改地球的自转速度来试一下,之前是30,现在我们改到360.哈哈就看到地球很魔性的在自转了

(3)脱离预制体关系

    那我不想被预制体影响可以吗?虽然都是同一个妈生的,但是我就是要不一样,不想被原来的预制体影响

     可以,我们只需要右键想接触关系的物体,选择prehab菜单下的unpack选项,接触之后就不会受原来的预制体影响啦

    可以看到,unpack之后的物体,哪怕预制体速度再次修改,它还是以原来的属性运行

 

好啦今天就到这里,谢谢各位感谢阅读!!!
点赞,关注!!!

 

Unity中,克隆预制体有两种方法:克隆游戏对象和使用预制创建对象。 克隆游戏对象是指在场景中创建一个被克隆的对象,然后通过克隆脚本将其复制出多个相同的对象。这种方法需要在场景中存在被克隆对象,并且克隆出来的对象不会随着被克隆体的变化而发生变化。具体步骤如下: 1. 在场景中创建被克隆对象(例如Cube)。 2. 在主摄像机上挂载复制脚本。 3. 在复制脚本的Inspector窗口中指定被克隆对象。 4. 运行游戏,可以看到复制出来的克隆对象。 另一种方法是使用预制创建对象。预制是一种事先创建好的游戏对象模板,可以在场景中多次使用。使用预制创建对象有两种方法: 1. 首先,在场景中创建一个Cube,并将其拖入创建的文件夹(例如prefabs)当中创建预制。 2. 在主摄像机上挂载复制脚本,并选择预制作为复制的母体。可以通过在脚本的Inspector窗口中选定所创建的预制作为复制母体,或者使用resources.Load()方法读入预制。 3. 运行游戏,可以看到通过预制创建出来的复制体。 这两种方法各有优势。克隆游戏对象适用于需要在场景中存在被克隆对象的情况,而使用预制创建对象可以避免路径输入错误和免除预制类型的区别。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [常用脚本(六)Unity_同一个物体只能绑定脚本一次、克隆、加载资源(实例预制体)](https://blog.csdn.net/qq_43610722/article/details/89181863)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Unity3D 入门小技巧——克隆游戏对象与创建预制](https://blog.csdn.net/SYSUJackJiao/article/details/67638813)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lampard杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值