- Home /
Problems with Resources.Load method
Hi all, I am developing a videogame where there are some players and the color of their t-shirt will change depending on the selection of the user in a menu. For this reason, I have all the textures in "psd" format in the folder "Assets/Resources", but when I try to load it in the "Start" method:
mat = Resources.Load("redTshirt", typeof(Material)) as Material;
if (mat == null)
{
print("null");
}
else
{
print("It is NOT null");
}
The result is "null". I do not know what I am doing wrong.... I want to assign this material later to the Skinned Mesh Renderer... obviously, it is not working because I cannot load the Material. But I do not know what else to try. I tried exporting the psd file into a png, and even creating a new project, but I get the same result.
Can anyone tell me what I am doing wrong?
Thank you very much !
Answer by Strixie13 · Jul 11, 2018 at 08:35 PM
Remember textures are just one part of a material. In that code you are trying to set a material equal to a texture which will not work. They are two different things.
To assign a material you need to have an actual material in the resources folder. From there, you can load up that material and "attach" it to your character. [Resources folder has a Material labeled "Mat1" for this example]
Public GameObject testObj;
Void Start()
{
testObj.GetComponent<Renderer>().material = (Material)Resources.Load("Mat1");
}
If you want to use the same material and just swap out the textures, use this next one instead. I would just save it as PNG or JPEG, guessing PSD will cause you problems. This will access the material on your object and swap out the texture.
testObj.GetComponent<Renderer>().material.mainTexture = (Texture)Resources.Load("textureName");
Thank you very much !!! You are right, and I have a problem understanding "$$anonymous$$aterial" and "Texture".
I have to study a lot !! Thank you again. ;)
Your answer
Follow this Question
Related Questions
Help with script 1 Answer
Error building Player because scripts had compiler errors 2 Answers
Getting an error while trying to get scene name 1 Answer
Deal Damage On Collision 3 Answers
Error In Lives While Respawning 1 Answer