关于项目里配套资源产生的 meta 文件的讨论

不过既然你们都改了标题了,那我就来讨论一下这个meta文件的问题

我曾经让我弟用这个编辑器,他不是做游戏开发的,但是也是做游戏的,是游戏汉化,日翻加美工,所以绝对会PS但是是零程序基础,他使用这工具的时候是感觉一看到代码心情就低落,因为会被程序员笑话不懂程序,然后自己也会感觉自己什么都不懂,这就是单纯一个美术来用这个工具的用后感,所以,要想用好这个工具的美术,我看还是需要一点点的要求的。这是题外话。。

然后这个meta文件我觉得着实不应该到处放的,你们没考虑到真开发游戏后的人的感受,虽然后期可以打包图集,打包代码什么的,但是正在开发的时候呢?肯定要忍受打开系统资源管理器的时候面对double count的文件数量,这其中就包含了一个过滤任务,就是用开发者的人脑来过滤这些meta文件,这样的体验一定是不好的。。

我听了你们上面的解释,这是工具实现实时监测文件变化的一种技术手段,但是这种技术手段其实比较初级吧,我也是怕你们没什么精力去做太多事情,所以就不讨论太多,但是居然帮我改了标题,那我就讨论了。

至于解决方案,我的思考是这样:
可以做一个映射的方法,把meta的内容集中到其他地方,但是怎么实现我是完全不知道怎么讨论,你们的招你们自己想法吧,我只提供讨论,就举一个实例,sublime这个工具,假设我正在打开sublime中,正在开着某个文本文件,然后我用其它文本工具例如nodepad++,改了我在sublime正在打开的文件,那么我一切回sublime那也是一样会刷新成最新的改动结果。。那这个实现的效果不就是和你们的工具是一样的吗??那问题来了,sublime并没有加额外的东西给他的用户吧。。他的技术完全隐含了起来,完全让你感觉不到技术的存在了。。。。

1赞

我现在考虑将 meta 文件设为隐藏

文本编辑器里都是按照路径索引的,不存在类似数据库的映射需要,这类索引当然可以轻松实现无附加管理,但是想想你重构代码的时候改了一个文件的路径,然后就必须靠人肉全局搜索来修正所有代码引用里这个文件的路径。而 creator 的资源就没这个问题,只要你在资源管理器里修改,或者文件和 meta 同步修改,不管怎么改名、移动,引用都不会丢失

meta 主要是为了解决关闭编辑器后,文件在外部进行修改,移动操作时的索引问题。sublime 是一直开着编辑器的,没有可比性。

赞一个,标记一下。

我们可能有点土,只用本地svn工具,如果外部文件修改,都是主动去刷新;运行结果不对,也会去主动刷新。
说实话,为了同步外部编辑器修改,增加meta,代价有点大!

sublime 可以屏蔽特定格式的文件

求教如何通过prefab里的__type__关联到对应js文件的meta里的uuid,现在知道uuid通过base64转成__type__但是这个应该不存在反向还原的吧,那是如何通过__type__关联到这个js的uuid的呢?

感觉可以加一个文件夹. 同步映射assets的结构.
meta 存那个文件夹. 然后那个文件夹也需要版本管理

前面讨论过了,请看一下 11 楼附近,请不要重复发表一样的观点

我记得unity3d,创建出来的.meta默认是隐藏状态的。
但是可以被git.svn工具纳入版本控制

7 楼已经解释过为什么不隐藏了,请先看看前面的讨论,不要重复声明一样的观点。

个人看法,功能上需要,道理上说的通,但是这种增加一倍文件的方式给人的感觉真的很糟糕

习惯就好了,unity也是这种方式的。如果你不喜欢,可以试试用cocos2dx

@jare 要是改这个太困难,把资源管理器改成大图标也好啊,树形组件找素材真的太麻烦

vscode是个神器,设置隐藏扩展名meta文件,你就看不到了,只是看不到,并没有删除,眼不见为净
清爽不

1赞

请问,团队协作时,其他人添加了资源文件,并且上传了.meta文件,我这边从git上更新下来后,一打开cocos creator 就会产生meta文件的修改,丢弃修改后,打开cocos还是会产生
这种情况是怎么产生的呢?我需要把这些改动提交上去吗?

你看看改了什么,只要uuid没改,其他关系都不大

@jare 请问为什么不同游戏工程的同名目录或同名文件的meta文件,会产生一样的uuid?

1赞

我们也遇到这种问题,请问你们最终解决了吗?

麻烦问下 同一个项目上传到SVN需不需要上传meta文件,不上传的话有什么影响么?