2017-07-31 5 views
0

J'essaie de générer des sprites à partir du dossier StreamingAsets mais je suis bloqué quand il s'agit de créer de la texture à partir de formats autres que PNG et JPG. Code suivant:Unity crée une texture à partir de TGA

byte[] bytes = File.ReadAllBytes (filepath); // 256x256 .tga image file 
    Texture2D texture = new Texture2D (1, 1); 
    texture.LoadImage (bytes); 

génère texture 8x8 qui est:

  • mal considéré mon image est 256x256,
  • prévu, puisque Texture2D.LoadImage est destiné à travailler avec PNGs et JPGs.

Alors, comment créer des textures à partir d'autres types d'images?

+0

LoadImage charger seulement jpg ou png, n'est pas vous avez une mauvaise image de taille comment votre expérimentation. Vous essayez LoadRawTextureData définissant la taille de l'image? – joreldraw

Répondre

2

Le format TGA n'est pas pris en charge. Vous devez écrire votre propre wrapper pour le faire, mais beaucoup de ces wrappers existent déjà. Voir la classe TGALoader. C'est très simple à utiliser.

Texture2D texture = TGALoader.LoadTGA(sfilepath); 

Votre image TGA est maintenant chargée dans la variable texture.

+1

Whoa! C'est fait! TGALoader était une excellente base même si je devais mettre à jour le script pour être capable de lire des images compressées RLE. –