2016-07-15 3 views
0

zu bekommen Ich habe ein System, in dem, wenn Sie durch ein Zeichen laufen, wird ein Popup-Dialog erstellen, der in Ordnung ist (nur der Popup-Teil), aber wenn ich versuche zu machen Je nachdem, wie viel Text angezeigt wird (Content Size Fitter), kann ich etwas anpassen, was mir überhaupt keinen Sinn macht. Bei der Verwendung von World Space muss meine Schrift auf Text-Komponenten 0 sein (macht auch keinen Sinn), so dass ein Buchstabe nicht die Größe von 100 Einheiten hat und die Kombination dieser beiden Ausgaben mich fast verrückt gemacht hat, aber das ist der Grund warum Ich bin hier, ihr könnt mich retten!Seltsame Ergebnisse beim Versuch, UI-Elemente auf eine dynamische Größe in Unity

Mein Setup für mein Zeichen:

enter image description here enter image description here

Dies ist nun der Dialog, der vom Inspektor betrachtet gelaicht wird (nicht in der Szene/Spielansicht gezeigt noch):

enter image description here enter image description here

Jetzt ist dies, wenn der Spieler in der Nähe des Schildes mit allen Komponenten geht, die Sie in th sehen e screenshots:

enter image description here

Wie Sie die Höhe meines dialoguePanel aus irgendeinem Grund zu 321 und New Years geht immer in der Nähe ist nicht so diesen Countdown sehen kann ich nicht zufrieden bin. Es sollte sich anpassen, wie viel Text darin ist. Ich meine, ich habe einen Tooltip gemacht, der fast 100% identisch ist, nur dass Canvas kein World Space, sondern Screen Space - Overlay ist. Darüber hinaus scheint es, dass jeder Text, den ich in World Space verwende, 0 ist. Bitte helfen Sie mir dabei, meinen Verstand zu verlieren.

+1

Sie "Screen Raum Overlay" verwenden müssen und Sie MÜSSEN "Scale mit Bildschirmgröße" es ist nur so einfach zu verwenden. Die anderen Optionen sind nicht verfügbar und funktionieren nicht. Es ist so einfach, es gibt nichts anderes. Es ist nur eines dieser lustigen Dinge über Unity, dass sie versehentlich die Standardeinstellungen zu anderen Einstellungen gemacht haben (die nicht funktionieren). – Fattie

+0

@JoeBlow http://stackoverflow.com/documentation/unity3d/commit –

Antwort

1

Weltraum Leinwand ist ein bisschen schwierig. Und rate mal, was noch schwieriger ist: Content-Size-Fitter. Eine der Lösungen besteht darin, dass Sie Ihr Dialogfeld-Benutzeroberflächenelement manuell in der Szene an der gewünschten Position hinzufügen und seine Werte im Inspektor so anpassen, dass das, was Sie in der Szenenansicht sehen möchten, dann als Voreinstellung gespeichert wird.

Lesen Sie mehr über How Content Size Fitter works und es gibt eine weitere Sache über die Benutzeroberfläche bei der Arbeit mit World Space Canvas. UI ist viel zu groß als deine anderen Szenenelemente. Um dieses Problem zu lösen, müssen Sie es wie im Abschnitt Specify the size of the Canvas in the world beschrieben skalieren.

Hoffe, es hilft :)

Verwandte Themen