我尝试从服务器导入图像(统一)时出现压缩问题。
我有一个名为" glass"在unity中的资源文件夹中,我希望在运行时将此图像替换为服务器上的图像。我发现这个脚本http://docs.unity3d.com/ScriptReference/WWW.LoadImageIntoTexture.html用于导入图像并将其分配给我的" glass"图像。
唯一的问题是图像的压缩是(NPOT)RGBA压缩DXT5,而链接中的代码表示jpg&#39被压缩为DXT1。
你们有谁能告诉我,我做错了什么?
$app = require_once __DIR__.'/../../blog_files/bootstrap/start.php';
答案 0 :(得分:0)
我运行了一些测试,对我来说它看起来像是一个Unity bug。
与文档相反,在LoadImageIntoTexture之前纹理格式是什么并且如果纹理被压缩,它总是DXT5。
以下是发生的事情:
无论如何,这是一个解决方法:而不是使用
www.LoadImageIntoTexture(Texture_1);
使用
// Load uncompressed RGB24 or ARGB32 depending on alpha channel
Texture_1 = www.texture;
// Compress with the correct format
Texture_1.Compress(true);
结果将是JPG的DXT1或PNG的DTX5,应该是。
P.S。这不是JS独有的,也是在C#中发生的。