x


.pngs exported from game are blank.

So, here's the deal:

As part of my player's preferences, I need to keep track of two different .pngs that represent their first and last name in Chinese. So, when they confirm what their name is, I gather the texture 2Ds and send them to a function in my IO script, like so:

       playerDataScript.lastNameTexture = lastNameChosen.renderer.material.mainTexture;
       playerDataScript.firstNameTexture = firstNameChosen.renderer.material.mainTexture;
       playerIOScript.storeChineseName(playerDataScript.firstNameTexture, playerDataScript.lastNameTexture);

And they're sent to my IO script, where they are handled by the following function:

function storeChineseName(firstName : Texture2D, lastName : Texture2D)
{
    var myFirstName = firstName;
    var myLastName = lastName;
    var filePath = Application.persistentDataPath;
    // Encode texture into PNG
    EditorUtility.CompressTexture(myFirstName, TextureFormat.ARGB32);
    EditorUtility.CompressTexture(myLastName, TextureFormat.ARGB32);
    var bytes = myFirstName.EncodeToPNG();
    var bytes2 = myLastName.EncodeToPNG();
    // Write to a file.
    File.WriteAllBytes(filePath + "/firstName.png", bytes);
    File.WriteAllBytes(filePath + "/lastName.png", bytes2);
}

Unity's told me that I need to encode them to ARGB32. So I've done that with compressTexture. But when I open the .png file unity has made from within the editor, I get errors--and they are completely blank when I open them in Explorer. They are the same size as the original pictures (64 px by 64 px) and they have the correct names, but it's not working, obviously. What am I doing wrong?

more ▼

asked Nov 05 '11 at 03:38 PM

Catlard gravatar image

Catlard
527 47 57 62

Not that it's not possible but do you really want your "player" to download Unity? Because EditorUtility.CompressTexture is an Editor function and will only work in the Editor.

Where does the images originally come from? What target-platform? Because for example when you load an image from another foreign url in the webplayer you can't take screenshots anymore... Some more information what you actually do would be helpful.

Nov 06 '11 at 11:10 AM Bunny83

Bunny83! Thanks for coming to my rescue. That's a good point, regarding compressTexture...Thanks for that. I'll use another compression method instead...

The image originally comes from within the project--it's a texture on an object that I'm taking and attempting to export. I'll post some more of the code. I just didn't want to overwhelm you!

Nov 06 '11 at 11:17 AM Catlard

If it's an asset in your game, why do you want to export it? Anyways, make sure you imported your image as isReadable like mentioned in the Texture2D.EncodeToPNG function, so check your import settings and make sure you ticked "Read / Write Enable".

Nov 06 '11 at 11:33 AM Bunny83
(comments are locked)
10|3000 characters needed characters left

0 answers: sort voted first
Be the first one to answer this question
toggle preview:

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Topics:

x56
x21
x7
x7
x2

asked: Nov 05 '11 at 03:38 PM

Seen: 600 times

Last Updated: Nov 06 '11 at 11:33 AM