DI3FL4MM3 Geschrieben 20. September 2021 Melden Share Geschrieben 20. September 2021 Hallo Leute, Wie schon in meinem Vorstellungsthema geschrieben bin ich relativ neu in Unity aber konnte schon so Einiges lernen. Um meine aktuelle Lernkurve ein wenig zu steigern, habe ich mich entschlossen diesem Forum beizutreten und im Ernstfall hier nachzufragen. Ich komme nun zu folgendem Problem: Ich habe vor einigen Wochen schon mit meinem Projekt angefangen und arbeite seitdem mit Canvases, Buttons usw. Dafür benötige auch ein Event System, auch das habe ich und siehe da alles funktioniert. Nun wollte ich ein wenig die Performance optimieren und habe gehört das ein Raycast Target besagte Performance kostet. Ich deaktiviere also blind alle Raycast Targets und nichts funktioniert mehr(logisch). Danach habe ich in jedem Button das nötige Image wieder mit dem Raycast Target ausgestattet und es hat auch alles super funktioniert. Nach weiteren Änderungen und ein großen Umbau der Spielmechanik funktioniert aber mein UI nur noch zum Teil. Die erste Ebene der Buttons funktioniert Problem los, alles danach nicht, trotz Raycast Target. UI OpenPause(funktioniert) Pause Continue(funktioniert nicht) Exit(funktioniert nicht) Was genau ist bei Raycast Target zu beachten oder hab ihr vielleicht eine genaue Idee was ich falsch mache.? MfG Alex Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 20. September 2021 Melden Share Geschrieben 20. September 2021 vor 3 Minuten schrieb DI3FL4MM3: Um meine aktuelle Lernkurve ein wenig zu steigern, habe ich mich entschlossen diesem Forum beizutreten und im Ernstfall hier nachzufragen. Nice! Hallo vor 4 Minuten schrieb DI3FL4MM3: Was genau ist bei Raycast Target zu beachten oder hab ihr vielleicht eine genaue Idee was ich falsch mache.? Joa, wenn man mit einem Pointer (Maus oder Touch) damit interagieren will, muss das an sein, weil das Event System einen Raycast macht, um zu schauen, was du mit dem Pointer berührt hast. Wenn du übrigens nur mit Tastatur oder Gamepad durch das Menü navigierst, braucht's das auch nicht. Aber da kann man dann auch einfach ein eigenes EventSystem bauen, das gar nicht erst raycastet und hat die beste Performance-Ersparnis Wenn ein Ding interagierbar ist und auch Raycast Target an hat, dann solltest du da auch draufklicken können. Wenn das nicht geht, ist es am wahrscheinlichsten, dass das Ding von etwas anderem verdeckt ist. Da du hier ein Pause-Menü hast, stellt sich auch die Frage, ob du die Zeit anhältst (Time.timeScale = 0). Das kann für UI auch manchmal schlecht sein, wenn man da nicht an ein paar Schrauben dreht. Generell gilt übrigens, dass Performance nicht immer sofort optimiert werden muss. Klar, zum Lernen probiere alles mal aus. Aber es gibt so genannte "Premature Optimization". Das steht dafür, dass Arbeitszeit am Projekt unnötig verschwendet wird, um die Performance zu verbessern, obwohl diese von vornherein gar nicht schlecht war. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
DI3FL4MM3 Geschrieben 20. September 2021 Autor Melden Share Geschrieben 20. September 2021 Hey Sascha, vielen Dank für den Input. Lustigerweise habe ich gerade ein wenig rumgespielt und es funktioniert vollständig wenn ich den Gameview vergrößere. Ich meine lediglich die Fenster Anordnung des Editors. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 20. September 2021 Melden Share Geschrieben 20. September 2021 Das... klingt überaus krumm. Sowas hab ich noch nie gehört, und da fällt mir auch irgendwie nix zu ein 🤔 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
DI3FL4MM3 Geschrieben 22. September 2021 Autor Melden Share Geschrieben 22. September 2021 Hallo Leute, Ich habe diese Problem teilweise immer noch. Aus irgendeinem Grund reagiert das UI nicht wenn der Gameview im Editor eine bestimmte Größe hat. Bei geringster Änderung funktioniert wieder alles einwandfrei. Das Problem an der Sache ist, bei meinem Tablet kann ich diesen View nicht ändern, genauso wenig bei meinem xiaomi redmi 8(hier funktionieren lediglich die scrollviews nicht). Bei meine Pixel 3a funktioniert alles einwandfrei. LG Alex Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sir_Mathew Geschrieben 23. September 2021 Melden Share Geschrieben 23. September 2021 Hi, ich denke durch ändern der Größe, ändert sich auch die Größe bzw. die Position von Elementen die deine Button verdecken. Hatte ich auch mal. Hab ein Image zum teil Transparent gehabt aber nicht Skalliert. Hab meine Buttons zwar gesehen aber nur bei größeren View klicken können. Schalte doch einfach alle Image und Panels ab und schau welches stört. Panels kann man mit Raycast Target abschalten durchklickbar machen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
DI3FL4MM3 Geschrieben 24. September 2021 Autor Melden Share Geschrieben 24. September 2021 Ich habe ein wenig rumprobiert, wäre ja auch irgendwo logisch gewesen. Leider scheint dies nicht das Problem zu sein. Und beim Ändern des Gameviews spielt die Größe auch überhaupt keine Rolle, der View muss nur einmal neu gerendert werden und alles funktioniert wieder. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sir_Mathew Geschrieben 24. September 2021 Melden Share Geschrieben 24. September 2021 Dann können wir leider auch nicht helfen. Man müsste dein ganzes Projekt nach Fehlern suchen. Müsstest also alles hochladen. So aus der ferne sehen wir ja nicht was du gemacht hast. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 24. September 2021 Melden Share Geschrieben 24. September 2021 @DI3FL4MM3 Im Zweifelsfall dein UI nochmal neu bauen. Durch das an- und ausschalten der Raycast Target-Eigenschaft bleibt eigentlich nichts dauerhaft anders als vorher. Vorher hat's ja auch funktioniert. Wenn man nicht rausfinden kann, was sich geändert hat, muss man halt neu bauen. Und generell sollte man sich in Versionskontrolle einarbeiten. Damit kannst du verschiedene Versionen deines Codes vergleichen und dann die Änderungen finden, nach denen es plötzlich nicht mehr geklappt hat. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
DI3FL4MM3 Geschrieben 24. September 2021 Autor Melden Share Geschrieben 24. September 2021 vor 42 Minuten schrieb Sascha: Und generell sollte man sich in Versionskontrolle einarbeiten. Damit kannst du verschiedene Versionen deines Codes vergleichen und dann die Änderungen finden, nach denen es plötzlich nicht mehr geklappt hat. Das Thema ist mir tatsächlich nicht unbekannt aber in Unity habe ich mich damit noch nicht auseinandergesetzt. Trotzdem Danke euch beiden. 👍 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.