unity中的.meta文件

如果你在游戏开发过程中使用诸如SVN的版本控制工具,那你必须得理解Meta文件的作用。

在游戏场景中引用一个游戏资源,Unity并不直接按照文件路径和名称,而是使用一个独一无二的GUID来指向工程里的该资源文件。这个GUID储存在Unity工程为每个资源和文件夹生成的Meta文件里。 

使用GUID的好处就是,即使你移动、重命名或者修改资源的内容,这个资源仍然可以通过GUID来被引用(只要GUID不变,资源就能够被引用)。

缺点是你必须明确的意识到Meta文件是被关联到特定的资源上的,如果你删除了一个meta文件,Unity会认为原始的资源文件已经被删除,然后为这个“新的”资源文件生成一个新的GUID。这就是游戏场景中的资源引用中断的最常见原因。 

除了GUID,meta文件还存储了有关资源导入的信息。例如,贴图资源在导入时可以当作标准贴图、法线贴图、GUI贴图、cookie或者光线贴图。这些导入设置都会被存储在meta文件里。 
之前遇到一个问题,就是我上传到SVN的怪物Prefab,在策划那边查看出现“Missing Script”的问题,经检查,是该丢失的脚本的meta文件没有上传到SVN。所以,按照上面的理论,因而Prefab找不到该脚本的引用。

 
参考自http://www.3dgep.com/using-version-control-with-unity/


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

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

meta文件的作用

1.是用于辅助管理Unity资源文件的文件,Unity根据meta里记录的GUID来区分项目中的不同资源;
2.meta还记录了一些对应资源的非常重要的信息,比如:各个资源Inspector的信息等。

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

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


注意:.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文件拥有多个动画片段,或在动画导入设置中定义了多个动画剪辑:多个动画片段将显示为单个动画片段的资源。
 

参考自

https://blog.csdn.net/qq_18192161/article/details/85110640

https://blog.csdn.net/BillCYJ/article/details/84099039


附加一个个人新得:

meta文件和它对应的资源文件,可能有些改动并不会呈现在meta文件中。比如我游戏中有一个材质,我修改了它的Tiling和Offset

但是该材质对应的meta文件就没有被更改的迹象,因为它在文件夹中的显示的时间是之前的时间,而mat文件就会有新时间显示

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页