您现在的位置是:首页 >技术杂谈 >【Unity入门】21.预制体网站首页技术杂谈

【Unity入门】21.预制体

Lampard猿奋 2023-06-28 09:19:01
简介【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之后的物体,哪怕预制体速度再次修改,它还是以原来的属性运行

 

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

 

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。