Jump to content
Unity Insider Forum

Gradient HDR = false


Singular

Recommended Posts

Hallo zusammen, ich schon wieder.

ich habe hier eine Reihe von Gradienten, die ich mir Code zufällig generieren lasse. sieht in etwa so aus:

void Start()
    {
        for(int i = 0; i < gradients.Length; i++)
        {
            GradientColorKey[] gck = new GradientColorKey[4];

            gck[0] = NewKey(0);
            gck[1] = NewKey(0.4f);
            gck[2] = NewKey(0.9f);
            gck[3] = NewKey(1f);

            gradients[i].colorKeys = gck;
            gradients[i].mode = GradientMode.Blend;
        }
    }

    private GradientColorKey NewKey(float time)
    {
        int r = 0;
        int g = 0;

        if (Random.Range(0, 2) == 0)
        {
            r = Random.Range(0, 256);
            g = Random.Range(120, 256);
        }
        else
        {
            r = Random.Range(80, 256);
            g = Random.Range(0, 256);
        }

        int b = Random.Range(0, 141);

        Color c = new Color(r, g, b);
        return new GradientColorKey(c, time);
    }

 

Jetzt habe ich folgende Probleme:

Zum einen wird die Farbe immer auf "HDR" eingestellt, was dazu führt, dass die Objekte immer weiß angezeigt werden. Zum anderen wird die Farbe immer auf Fixed umgestellt. Selbst dann, wenn ich hin gehe und das Blend selbst eintrage, (im Game Mode) wird es, so als würde es in irgendeiner Update Methode wieder auf Fixed umgestellt.

Vielen Dank.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 15.10.2022 um 11:42 schrieb Singular:

Zum einen wird die Farbe immer auf "HDR" eingestellt, was dazu führt, dass die Objekte immer weiß angezeigt werden.

Wenn du statt 0.0 bis 1.0 lieber 0 bis 255 haben willst, musst du Color32 benutzen. Ansonsten korrigiere einfach deine Zahlenwerte in die richtige Skala ;)

Am 15.10.2022 um 11:42 schrieb Singular:

Zum anderen wird die Farbe immer auf Fixed umgestellt. Selbst dann, wenn ich hin gehe und das Blend selbst eintrage

Da weiß ich gerade nix. Meinst du, dass du das im Inspector wärend des Play Modes einstellst?

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor 22 Stunden schrieb Sascha:

Wenn du statt 0.0 bis 1.0 lieber 0 bis 255 haben willst, musst du Color32 benutzen. Ansonsten korrigiere einfach deine Zahlenwerte in die richtige Skala ;)

Ah, okay das versuche ich mal. Color war bisher das einzige, was ich verwendet habe.

vor 22 Stunden schrieb Sascha:

Da weiß ich gerade nix. Meinst du, dass du das im Inspector wärend des Play Modes einstellst?

Richtig. Wärend das Spiel läuft. Da die Farbe vorher ja noch nicht da war, weil sie ja durch den Code generiert wird. Die Farben nutze ich für Objekte als "ColorOverLifetime" und da sieht man es dann auch deutlich, dass die Farbe springt und nicht wie bei blend von der einen in die andere über geht.

Nein in die Update Methode verwende ich nicht um es auf Fixed um zu stellen^^. Die ist sowieso leer

Link zu diesem Kommentar
Auf anderen Seiten teilen

Okay, Color32 war des rätsels lösung. 😃 Allerdings, bleibt das Problem mit dem Fixed.

Ich habe auch herausgefunden, dass das Problem nur dann auftritt, wenn es ein Objekt gibt, das diesen Gradienten anfragt. Gibt es kein Objekt, das einer Farbe zugeordnet wird, kann ich zwischen Fixed und Blend ohne Probleme im Game Mode hin und her wechseln. Die Objekte selbst ändern aber nichts an dieser Farbe. Die holen sich ihre Farbe über eine Get Funktion und speichern diesen selber ab. Dabei wird aber auch nicht der mode auf Fixed umgestellt. also nie... es gibt auch keinen Grund dazu...

Link zu diesem Kommentar
Auf anderen Seiten teilen

VERGISS ES!!! Habe den Fehler gefunden. Er saß, wie so oft zwischen Tastatur und Bürostuhl... Habe ihn beseitigt... 🤔

Ich habe mich in den Objekten verschrieben, und tatsächlich Blend, Fixed geschrieben und schon war der Fehler perfekt.

Achso und da ich beseitigt wurde wollte ich mich noch schnell bedanken für deine Hi 🔴[NullReferenceExeption: Object reference not set to an instance of an object Programmer.instance() (at Assets/Office/Programmer.cs 76)]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...