CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用

我们通过Dashboard 创建一个2d项目,来演示CocosCreator 的项目结构。

CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用_第1张图片等待创建完成后,会得到以下项目工程:

CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用_第2张图片

一、assets文件夹


assets文件夹:为资源目录,用来存储所有的本地资源,如各种图片,脚本资源。

只有在这个目录下的内容才会显示在cocos编辑器的资源管理器中。


其中非常重要的一点,assets 中每个文件在导入后都会生成一个和文件同名的.meta 文件。


1、meta 文件的作用

理解 meta 文件的作用和更新时机,对于我们在解决资源冲突、文件丢失、组件属性丢失等问题时,有非常重要的意义。


例如,我们在cocos 编辑器的资源管理器中,创建一个名字为script 的文件夹, 用于存储脚本文件。
CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用_第3张图片

创建完成后得到会生成一个和文件同名的script.meta 文件:

CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用_第4张图片

script.meta 文件内容:

包含 ver (版本)、 uuid(唯一id) 、importer (资源类型)等参数。

CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用_第5张图片

导入图片资源:

CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用_第6张图片

图片资源生成的meta文件内容比较多,除了基本的 ver 和 uuid 等信息外,还记录了图片的尺寸、偏移、九宫格等数据。

CocosCreator3.8神秘面纱 CocosCreator 项目结构说明及编辑器的简单使用_第7张图片

上面这么多信息中,我们只需要关心:UUID

UUID 是每个文件唯一的 id,Creator 引擎通过 UUID 来引用文件, 实现游戏资源管理。


2、.meta 文件更新时机


(1)、打开工程时

打开工程时,Creator 会先扫描 assets 目录,如果哪个文件还没有 meta 文件,此时就会生成。


(2)、更新资源时

在资源管理器中对资源进行文件名修改、改变目录、添加文件、删除文件时。
在操作系统的文件管理器中对 assets 目录中的文件进行增、删、改后,切换到编辑器界面时。
​ 如果一个文件或者目录的 meta 文件不存在,上面两种情况都会触发引擎去生成新的meta 文件。


3、.meta 文件出错时的解决办法


(1)、UUID 发生变化问题


这种情况,一般在多人协作时,经常会出现。 当UUID 发生变化,会使旧的 UUID 对应的资源无法找到, 编辑的界面会出现资源、图片丢失,还可能出现组件属性丢失的情况。


UUID 发生变化原因:

前面一个人将新资源添加进项目,忘记切换到编辑器界面使其生成 meta 文件,同时又将新增的文件提交到了版本管理中(不包含 meta 文件)。

后面另一个人,去更新了前面一个人所提交的资源,同时切换到了编辑器界面进行编辑, Creator 会检查到新资源没有 meta 文件便会立即生成。

当第一个人切换到编辑器的时候也会生成 meta 文件,这样两个人的电脑上为同一个文件,但是生成的 meta 文件中的 UUID 都不相同。

这样后面进行资源提交或更新的人,肯定也会遇到冲突。


UUID 发生变化的解决办法和注意事项:

提交前检查是否有新增文件,有新增文件时,注意是否有 meta 文件,没有meta 文件 一定要重新打开cocos 编辑器,生成新的meta文件,然后再一起提交。

提交时如果发现只有新增的 meta 文件,那这个 meta 文件肯定是自己生成的,需要查看是否使用过这个 meta 文件对应的资源。如果没用过,那请最早提交者把 meta 文件提交了。此时千万不能将这个 meta 文件提交上去。**

拉取文件时,注意是否有新增文件,并且是有 meta 文件成对,如果没有的话,提醒之前文件提交者,把 meta 文件一并提交。

(2)、UUID 冲突问题


UUID 是全局唯一的,产生冲突肯定是有不同的文件的 UUID 相同了,一旦出现这个问题,会导致 Cocos Creator 资源管理器目录结构加载不完整。


UUID 冲突问题原因:UUID 冲突一般是误操作引起。


比如在操作系统的文件管理器中移动文件时,将剪切、粘贴不小心操作成了复制、粘贴,同时也把 meta 文件复制过去了。导致项目中同时出现两个相同的 meta 文件。


 


从上图提示中可以看到冲突的 UUID 字符串。

UUID 冲突解决办法:

第一步,打开操作系统文件管理或代码编辑器,搜索冲突的UUID,如图:

第二步,关闭Cocos Creator 编辑器,然后任意删除其中一个 meta 文件。


第三步,再重新打开 Creator 编辑器即可解决。


第四步,虽然通过上面三步,解决了目录结构加载不完整的问题。但是编辑器引用到这个资源的地方就会出现资源丢失,所以还得需要重新编辑或者重新配置一次资源。


为了避免 UUID 冲突发生,最好在引擎资源管理工具中进行添加、移动文件。

你可能感兴趣的:(cocoscreator3.8,编辑器,前端)