Я не совсем уверен, что здесь делать, у меня есть строка кода
Sprite newSprite = Sprite.Create(spriteTexture,
new Rect(0, 0, spriteTexture.width, spriteTexture.height),
new Vector2(0, 0),
pixelsPerUnit,
0,
spriteType);
И для этой строки кода я получаю сообщение об ошибке
NullReferenceException: ссылка на объект не установлена для экземпляра объекта
Я действительно не знаю, что я здесь делаю не так
Sprite NewSprite = new Sprite();
Не работает, потому что его конструктор, я уверен, что я глупый, но я был бы очень признателен за некоторый вклад:)
РЕДАКТИРОВАТЬ: Извинения за пропуск моего кода:
public static class ImageToSprite
{
public static Texture2D LoadTexture(string filePath)
{
Texture2D tex2D;
byte[] fileData;
if (File.Exists(filePath))
{
fileData = File.ReadAllBytes(filePath);
tex2D = new Texture2D(2, 2);
if(tex2D.LoadImage(fileData))
{
return tex2D;
}
}
return null;
}
public static Sprite LoadNewSprite(string filePath, float pixelsPerUnit = 100.0f, SpriteMeshType spriteType = SpriteMeshType.Tight)
{
Texture2D spriteTexture = LoadTexture(filePath);
Sprite newSprite = Sprite.Create(spriteTexture, new Rect(0, 0, spriteTexture.width, spriteTexture.height), new Vector2(0, 0), pixelsPerUnit, 0, spriteType);
return newSprite;
}
public static Sprite ConvertTextureToSprite(Texture2D texture, float PixelsPerUnit = 100.0f, SpriteMeshType spriteType = SpriteMeshType.Tight)
{
// Converts a Texture2D to a sprite, assign this texture to a new sprite and return its reference
Sprite NewSprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0, 0), PixelsPerUnit, 0, spriteType);
return NewSprite;
}
}
А вот ссылка, откуда я получил этот код: https://forum.unity.com/threads/generating-sprites-dynamically-from-png-or-jpeg-files-in-c.343735/