2017-07-31 95 views
0

我尝试从StreamingAsets文件夹中生成精灵,但是我在创建非PNG和JPG格式的纹理时遇到困难。下面的代码:Unity从TGA创建纹理

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

产生8×8的质地是:

  • 错误的认为我的形象是256×256,
  • 意料之中的,因为Texture2D.LoadImage是指具有PNG格式和JPG格式工作。

那么如何从其他类型的图像创建纹理?

+0

LoadImage只加载jpg或png,是不是你得到一个错误的大小图像如何你的试验。 你试试LoadRawTextureData设置图像大小? – joreldraw

回答

2

不支持TGA格式。你必须编写你自己的包装器,但这些包装器已经存在了。请参阅TGALoader课程。使用非常简单。

Texture2D texture = TGALoader.LoadTGA(sfilepath); 

您的TGA图像现在加载到texture变量中。

+1

哇!完成了!尽管我必须更新脚本以便能够读取RLE压缩图像,但是TGALoader是非常好的基础。 –