Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

27.05.2020, 19:37

C# UNITY3D - Prefabs werden komisch gerendert

Heyo Leute,

ich brauche wirklich Hilfe bei dieser Angelegenheit, sitze seit 3 Tagen und nach etlichen g>ooglen und selber ausprobieren, komme ich iwie einfach nicht drauf, ich habe iwie auch gerade nen Brett vorm Kopf ..

Es geht um ein Programm, wo ich Zur laufzeit, aus bestehenden Prefabs (es gibt 4 versch. Kategoriren, Cake, Gum, Ice, Bonbon) und aus diesen möchte ich zufällig einen ermitteln (das habe ich hinbekommen!) und basierend auf dieser SOrt, möchte ich ganz gerne eine Prefab instanz zur Laufzeit erzeugen
(habe ich auch hinbekommen!) bzw mehr oder weniger, sie werden falsch positioniert


// {Cake, Candy1}
// {Cake, Candy2}
// {Gum, Candy3}
// {Gum, Candy4}
// {Cake, Candy5}
// {Cake, Candy6}
// {Gum, Candy7}
// {Cake, Candy8}

Nun ist es iwie so, das bei der Funktion "BakeCandyFromCategory" die Candies irgendwie SO erzeugt werden? (look image below!)

hier die Funktion dazu, ich weiß nicht iwie, wieso er die so produziert, vorher ging alles richtig, und seit dem ich die Funktion in die statische Klasse ausgelagert habe, geht das net mehr, habe wie gesagt, nen brett vor dem Kopf... :S

C#-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 public static Candy BakeCandyFromCategory(Transform transform, Vector3 tilePos, SpecificItemCategory category)
        {
            Candy tmp = new Candy(category);

            GameObject prototypeByCategory = null;

            prototypeByCategory = allCandyPrototypes.First(x => x.name == tmp.Tag);   //das ist ein Empty GameObject und die Kinder sind die 4 anderen 
                                                                                      //KategoryPrefabs!

            GameObject _clone()
            {
                var clone = UnityEngine.Object.Instantiate(prototypeByCategory, tilePos, prototypeByCategory.transform.rotation);
                clone.transform.SetParent(transform, false);
                clone.SetActive(true);

                if (clone == null)
                    throw new ArgumentNullException(nameof(clone) + " couldnt be instantiated for some reason");

                return clone;
            }

            tmp.Prefab = _clone();

            //print(tmp.Tag);
            return tmp;
        }



Ich danke im voraus schon für eure Geduld beim Lesen und niochmehr wenn jemand eine Idee dazu hat :)

LG
»MonkaBoy« hat folgendes Bild angehängt:
  • error pic.png

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »MonkaBoy« (27.05.2020, 19:53)


2

27.05.2020, 19:54

Ich bin so ein Dummkopf,... Wegen Coderefactoring, ist mir ein Fehler in der Mainloop passiert, wo die "column--" in der innersten Loop geschieht und dann dieses Merkwürdige Muster entsteht ^^

Irgendwie fallen mir diese Dinge ikmmer nur auf, wenn ich es poste xD Sry dafür