2015-12-25 2 views
1

J'ajoute un cube à la scène d'unité. Je veux définir la texture de ce petit en utilisant une image.Unité - Lire l'image et définir la texture

J'utilise ci-dessous le code pour charger l'image et la texture set:

Texture2D text2D = new Texture2D(Screen.width, Screen.height,TextureFormat.RGB24 , false); 
text2D.SetPixels(((Texture2D)Resources.Load("image")).GetPixels()); 
MeshRenderer renderer = cube.GetComponent<MeshRenderer>(); 

renderer.material.mainTexture = text2D; 

Je ne vois qu'un cube gris et non l'image sur la scène.

+1

[avez-vous lu la documentation de setPixels()?] (Http://docs.unity3d.com/ScriptReference/Texture2D.SetPixels.html) –

Répondre

1

Vous pouvez raccourcir ce un peu avec seulement:

renderer.material.mainTexture = Resources.Load<Texture2D>("image"); 

Notez que si l'image est introuvable, vous obtenez nulle.

1

Pour voir les changements sur la Texture2D, utilisez text2d.Apply();

1

Ceci est encore plus facile à faire.

Essayez

public GameObject _cube; 

void Start() 
{ 
    Renderer rend = _cube.GetComponent<Renderer>(); 
    rend.material.mainTexture = Resources.Load ("image") as Texture; 
}