Unity中的.meta 文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18192161/article/details/85110640

当我们把新的资源导入Unity时,Unity会自动做下面这件事:
1.分配唯一ID
2.创建.meta文件
3.处理资源

1.分配唯一ID:
Unity会维护一个自己资源列表,在将资源导入Unity的时候,Unity会先检测这个资源列表,然后为导入的资源分配一个唯一的ID,在Unity中会使用此ID来引用资源。
2.创建.meta文件
Unity在4.2版本后加入了.meta文件,如果在4.2以后的版本中看不到.meta文件可以进行以下设置:

Edit->Project Settings->Editor / VersionControl 选项中设置Visible meta Files 选项

经过上述行为后,打开工程目录(在Project面板中,右键选择Show in Explorer选项),就可以看到以.meta后缀的文件。可以看到Unity为Assets文件中的每个文件和文件夹都创建了.meta文件。
meta文件一般包含了一下内容

名称 描述
guid 上面我们说Unity会分配一个唯一ID,就是存放在这里
MonoImporter 根据不同的文件类型,它的数据是不同的ImprotSetting数据,比如Mode Improter,Audio Improter等等,对照Inspector面板就可以看懂每行数据

注意:.meta文件必须与各自的资源文件相匹配,如果在Unity窗口中移动或重命名资源,Unity也会自动移动或重命名相应的.meta文件,如果在Unity之外移动或重命名资源文件,则必须移动或重命名.meta,否则Unity会重新生成一个.meta文件,并删除旧的.meta文件。当.meta文件发生改变后,任何引用该资源的游戏对象或预制体,将会丢失对该资源的引用,因为Unity会重新生成一个唯一ID。(比如上传SVN时,一定要注意上传.meta文件)
3.处理资源
Unity会将你导入到工程中的数据进行一次转换,转换为Unity在编辑器运行时能识别的数据,这些数据会被存放在工程的Library文件中。
Library文件内的内容是由Unity自动生成的,所以我们不用去进行对Library文件的修改。在对Unity工程进行版本控制时,也不需要将Library文件加入其中。

导入时创建多个资源:
某些资源在导入时会创建多个资源,例如:
1.3D文件(FBX 材质或纹理):材质或纹理会被Unity 提取为单独的资源。
2.多个精灵的图像:使用Unity的Sprite Editor ,可以将的那个图形定义为多个精灵,这种情况下,在编辑器中定义的每个sprite在Project窗口中显示为单独的Sprite资源
3.3D文件拥有多个动画片段,或在动画导入设置中定义了多个动画剪辑:多个动画片段将显示为单个动画片段的资源。

没有更多推荐了,返回首页