- Home /
The question is answered and the right answer was accepted.
Struggling to find how to access the Texture 2D of a sprite.
Hiya, I've been trying to find out how to access the Texture2D of a sprite so I can use Texture2D.GetPixel to check for transparency of the pixel I click on. So far I've hit a lot of dead ends, anyone know the answer?
Thanks very much!
Romano
Have you tried going through the material on the sprite?
Like:
GetComponent<SpriteRenderer>().material.mainTexture
It might help if you list what you've tried so far, so you don't get told to do things you've already tried.
Thanks I'll give that a go! I don't think it'd help to list what I've already tried really. Someone with the answer doesn't need a list of my retarded efforts to confirm what they already know. I appreciate the suggestion though!
Answer by Juan73908 · Mar 26, 2014 at 07:18 AM
I was doing this recently and I found it pretty straight forward:
Color myPixel = GetComponent<SpriteRenderer>().sprite.texture.GetPixel(x,y);
What you receive is of the type Color. You can also use GetPixels and get a block of the texture.
http://docs.unity3d.com/Documentation/ScriptReference/Color.html
Make sure you are calculating correctly the position of the click and the pixel you want to check.
Good luck :)
Goddamnit I hate unity's documentation. No mention of texture under sprite. Thank you very much! Hopefully they update the documentation when they update to version 5 this year :)
Follow this Question
Related Questions
Loading a Sprite (Unity 4.3) in resource folder and setting it in sprite renderer 6 Answers
Converting transparent Texture2D to Sprite 0 Answers
Load Unity 4.3 Sprites with AssetBundles 5 Answers
why texture2d sprite rendering not showing in game 0 Answers
How to read sprites/textures from an Animator current animation? 0 Answers