Jump to content
Unity Insider Forum

GUI aufteilen 3D View und Bereiche für Steuerung und Infos


Recommended Posts

Hallo,

ich habe meine ersten Gehversuche hinter mir.

Ich habe eine Plane als Untergund ein einfaches 3D Objekt und eine Beleuchtung.

Dann habe ich eine MouseOrbit Kamera.

Das MouseOrtbit Script habe ich editiert.

Es wird nur ausgeführt wenn die linke Maustaste gedrückt ist.

Mit dem Mausrad kann man die Distanz der Kamera verändern.

Soweit klappt alles.

 

 

Jetzt kommt die Frage

Ich möchte meine GUI gerne aufteilen so das sie nicht nur aus der 3D Ansicht besteht.

Auf der rechten Seite möchte ich gerne einen 200 Pixel breiten Bereich für meine Steuerung haben.

Unten möchte ich einen 50 Pixel hohen Bereich haben.

 

 

Labels und Buttons habe ich schon in meine 3D GUI per Script eingefügt.

Das kappt zwar ist aber nicht so gut.

Ich habe Beispielsweise einen Slider eingebaut der mit meiner MouseOrbit Steuerung

kollidiert. Bewege ich den Slider bewegt sich auch die Ansicht.

 

 

Vielen dank schon mal.

 

 

Ulli

Link zu diesem Kommentar
Auf anderen Seiten teilen

So 2D-GUI machst du z.B. mit OnGUI. Einfach mal suchen.

Kleines Beispiel:

void OnGUI()
{
 GUILayout.Box("Hallo");
}

 

Du kannst aber z.B. auch die neuen 2D-Sprites nehmen, und sie z.B. an eine zweite Kamera kleben.

Oder du wartest noch ein bisschen, bis die neue UnityGUI mit Unity 4.6 raus kommt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie kann ich denn 2 Kameras gleichzeitg anzeigen lassen?

Einfach eine zweite Kamera platzieren (GameObejct => Create Other => Camera).

Dann depth so einstellen, dass sie über der normalen gerendert wird.

Dann empfiehlt sich beim Clearing noch "Depth Only", wenn du siehst, was es macht, ist klar warum ;)

 

Wann kommt den die Version 4.6 raus?

"Diesen Sommer" oder so. Es gibt offenbar immerhin schon ne Closed Beta.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ich habe jetzt nochmal etwas mit OnGUI gespielt.

Das funktioniert auch so wie ich mir das dachte.

Nur eins bekomme ich nicht hin.

Meine Boxen sind halb transparent.

Ich möchte aber das die Boxen einen andere Farbe bekommen und weniger transparent sind.

Gui.Color hat nicht funktioniert.

 

Ulli

 

using UnityEngine;
using System.Collections;
public class MainMenu : MonoBehaviour {
// Use this for initialization
public float hSliderValue = 0;
void OnGUI () {

 GUI.Box(new Rect(0, Screen.height-80,Screen.width-200, 80), "");
 GUI.Box(new Rect(Screen.width-200, 0,200,Screen.height), "");
 hSliderValue = GUI.HorizontalSlider (new Rect(25, Screen.height-25,Screen.width-250, 25), hSliderValue, 0.0F, 10.0F);
}
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Habs hin bekommen.

 

Danke nochmal

 

Ulli

 

 

using UnityEngine;
using System.Collections;
public class MainMenu : MonoBehaviour {
public GUIStyle meinStyle;
// Use this for initialization
public float hSliderValue = 0;
void OnGUI () {

 GUI.Box(new Rect(0, Screen.height-50,Screen.width-201, 80), "", meinStyle);
 GUI.Box(new Rect(Screen.width-200, 0,200,Screen.height), "", meinStyle);
 hSliderValue = GUI.HorizontalSlider (new Rect(25, Screen.height-25,Screen.width-250, 25), hSliderValue, 0.0F, 10.0F);
}
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...