我正在尝试在对象的精灵渲染器中加载给定当前精灵的所有精灵,但是无论我如何尝试,我都无法加载每个单独的精灵(带有多个“帧”的2d精灵,即一个精灵表)
我用过
Resources.LoadAll<Sprite>(AssetDatabase.GetAssetPath(spriteRenderer.sprite.GetInstanceID()).Replace(".png", ""));
甚至
Resources.LoadAll<Sprite>(Path);
但是我似乎无法获得它来加载我想要的东西(通常它根本不起作用,但是在旧版本的Unity上它加载了圆形加载条和错误符号)。我已经创建了精灵的帧/子精灵。
我尝试将路径更改为仅使用精灵名称将文件类型包括在内,但没有任何效果。 如果重要的话,我正在使用Unity 2019.1.0f2。
答案 0 :(得分:0)
所以您想加载一堆精灵吗?
你尝试过吗?
Sprite[] loadedSprites = Resources.LoadAll("Sprites", typeof(Sprite));
如果使用此选项,则您的单位必须有一个名为Resources的文件夹。基本上,它在LoadAll内部的第一个参数是:“ Resources / Sprites”,然后在Sprite文件夹中查找所有属于Sprite的类型。
注意:确保计划使用的所有.png文件都已签名为Sprite(2D和UI),这可以通过单击统一的png并在其右上角(即“纹理类型”)进行。
答案 1 :(得分:0)
这最终是一个简单的误会。 我的文件夹全部都在“资产”文件夹中,而它们本应位于“资产/资源”文件夹中。现在,我可以使用
加载精灵渲染器的精灵的精灵spriteRenderer.sprite.GetInstanceID()).Replace(".png","").Replace("Assets/Resources/","")
有点长,但是可以用!
感谢路易·英格思隆的提示!