Resources.Load <sprite>仅对某些文件返回null

时间:2016-08-04 02:39:08

标签: c# unity3d

我有许多png文件,我使用C#导入(在Unity 5.3.5中)并将它们设置为图像的精灵。但是,对于其中一些文件,当执行此代码时,Resources.Load会给我'null'。

Resources.Load<Sprite>(@"Instruction_Files/1");

作为一个具体的例子,我上传的第一张图片(7.png)在我打电话时给了我Sprite

Resources.Load<Sprite>(@"Instruction_Files/7");

相反,当我调用

时,我上传的第二张图片(10.png)会给我null

Resources.Load<Sprite>(@"Instruction_Files/10");

将10.png重命名为7.png等,反之亦然不会改变事物(原始的10.png将为null,原始的7.png将不会)。

7.png 10.png

是否存在Sprite文件需要的特定格式(例如,平方,一定数量的kB)以供Resources.Load工作?有没有解决这个问题的潜在方法?感谢。

更新:重要的是,如果我复制7.png.meta文件中的所有信息并将其粘贴到10.png.meta文件中,则将10注册为精灵

1 个答案:

答案 0 :(得分:2)

导入设置需要在Sprite/UI here上设置(请参阅sprite / UI部分)。这些也是元文件中保存的设置。

这就是为什么当你将Unity中的文件从“10”重命名为“7”时它没有加载,因为元文件也被重命名并且导入数据被保留。但是当您从元数据中复制数据时,实际上是在更改导入设置。