Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 复制sprite图元文件-做了一件可怕的事情?_Unity3d - Fatal编程技术网

Unity3d 复制sprite图元文件-做了一件可怕的事情?

Unity3d 复制sprite图元文件-做了一件可怕的事情?,unity3d,Unity3d,我已经在Unity编辑器中将图像img1.png分割成多个精灵。由于我不知道如何将切片信息复制到类似的图像img2.png中,因此我复制了文件img1.png.meta,将其重命名为img2.png.meta,并将元文件中的所有“img1”字符串重命名为“img2” 我现在开始担心我做了一些类似于巫术的事情。看起来,图元文件中也存储了类似于对象全局id和本地id的内容。还有一些东西存储在/Library/metadata文件夹中。无论如何,如果我现在在文本编辑器中打开这两个图元文件,它们的全局I

我已经在Unity编辑器中将图像img1.png分割成多个精灵。由于我不知道如何将切片信息复制到类似的图像img2.png中,因此我复制了文件img1.png.meta,将其重命名为img2.png.meta,并将元文件中的所有“img1”字符串重命名为“img2”

我现在开始担心我做了一些类似于巫术的事情。看起来,图元文件中也存储了类似于对象全局id和本地id的内容。还有一些东西存储在/Library/metadata文件夹中。无论如何,如果我现在在文本编辑器中打开这两个图元文件,它们的全局ID会再次神奇地不同。图元文件中的所有其他内容似乎都保留了我更改它的方式

我的问题是: 我应该担心吗?如果是这样的话,有没有办法挽回我的过错?(我以这种方式粗暴地重命名了不止一个文件。)
还有,有没有一种方法可以正确而安全地执行这种巫术?

Unity通常会为您解决这些问题

即使您删除了所有图元,Unity仍会设法打开(丢失信息,如图像切片),然后重建图元

这意味着,如果您在编辑器中没有看到问题,您应该没事,因为unity已经正确地修复了它

现在,为了确保不必手动编辑图元,可以执行以下操作:

  • 内部unity editor:使用所需的切片复制图像(使用适当的元数据创建具有适当切片的新文件)
  • 内部unity编辑器:使用新图像的名称重命名此文件
  • ousideunity编辑器:将重命名的副本替换为具有相同名称的新图像

返回unity编辑器

unity使用guid标识资产。它存储在元文件和需要了解该资产的任何其他资产中。当您下次打开Unity时复制并重命名一个元文件时,它将重新分配一个GUID来修复复制,但您无法选择哪一个。有时它不会造成任何伤害,有时img1的所有关联现在都指向img2,因为它具有原始guid,并且img1被重新分配。请随意复制元文件中的其他设置,但不要弄乱guid,否则总有一天你会伤心的。@Retired Ninja:那么,如果精灵在编辑器中测试游戏时工作正常,一切都正常吗?我需要知道我是否需要重新导入精灵。如果正确的精灵连接到正确的预制件上,并且你没有看到任何奇怪的东西,你应该会没事的。如果您的资产被强制在编辑器设置中使用文本并使用源代码管理,您通常可以看到资产中是否有大量GUID发生了更改。退休忍者说,您现在不知道img1或img2是否为原始版本,以及哪个是“新副本”,即,现在跨旧资产使用哪个。在编辑器中,有一个名为“项目窗口”,您可以在其中查看资产文件夹中的文件(请参阅)。从中,选择图像并单击ctrl+d进行复制