0 Pluspunkte 0 Minuspunkte
Wie kann ich ein PNG Bild aus dem Asset Ordner in der Unity Runtime als Textur auf ein Mesh laden?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Hier ist ein Beispiel Script in C#.

using UnityEngine;

public class TextureLoader : MonoBehaviour
{
    public string texturePath = "Assets/Textures/your_texture.png"; // Pfad zur Textur

    void Start()
    {
        // Lade die Textur von der angegebenen Dateipfad
        Texture2D texture = LoadTexture(texturePath);

        // Überprüfe, ob die Textur erfolgreich geladen wurde
        if (texture != null)
        {
            // Hole das Renderer-Komponente des Mesh
            MeshRenderer meshRenderer = GetComponent<MeshRenderer>();

            // Erstelle ein neues Material und weise die geladene Textur zu
            Material material = new Material(Shader.Find("Standard")); // Verwende den gewünschten Shader
            material.mainTexture = texture;

            // Weise das Material dem MeshRenderer zu
            meshRenderer.material = material;
        }
        else
        {
            Debug.LogError("Fehler beim Laden der Textur");
        }
    }

    Texture2D LoadTexture(string path)
    {
        // Lade die Textur von der angegebenen Dateipfad
        byte[] fileData = System.IO.File.ReadAllBytes(path);
        Texture2D texture = new Texture2D(2, 2);
        texture.LoadImage(fileData); // Lädt die Texturdaten in die Textur

        return texture;
    }
}
von (544 Punkte)