Wenn Sie einen lokalen Multiplayer mit geteiltem Bildschirm erstellen möchten, müssen Sie zwei Kameras verwenden und deren direktes Ansichtsfenster ändern:
https://docs.unity3d.com/ScriptReference/Camera-rect.html
Für vertikal geteilten Bildschirm: (x, y, Breite, Höhe)
- 1. Kamera: (0, 0, 0,5, 1) ► links
- 2. Kamera: (0,5, 0, 0,5, 1) ► rechts
Für horizontalen geteilten Bildschirm: (x, y, Breite, Höhe)
- 1. Kamera: (0, 0,5, 1, 0,5) ► oben
- 2. Kamera: (0, 0, 1, 0,5) ► unten
Keine Notwendigkeit, zwei Welten zu haben. Wenn Sie jedoch möchten, dass die Spieler eine eigene Benutzeroberfläche haben, müssen Sie sich die Culling-Masken ansehen
https://docs.unity3d.com/ScriptReference/Camera-cullingMask.html
Platziere alle Objekte von Spieler 1 in einer neuen Ebene ("Player1Layer"), alle Objekte von Spieler 2 in einer anderen ("Player2Layer") und stelle sicher, dass auf der Kamera von Player 1 nicht "Player2Layer" aktiviert ist Culling-Maske, während in der Kamera des Players 2 "Player1Layer" nicht in der Culling-Maske aktiviert ist.
WICHTIGE NOTIZ
Es scheint, dass eine zusätzliche Konfiguration erforderlich ist, um die GUI einem bestimmten Spieler anzuzeigen. Ich weiß nicht wirklich warum.
Jeder Spieler muss seine eigenen haben:
Hauptkamera mit:
- Richtiges Ansichtsfenster richtig
- Ein
Depth
Wert, der auf 0 gesetzt ist
- Eine Keulungsmaske
Everything
, außer Player1Layer
undPlayer2Layer
Eine zweite Kamera mit:
- Richtiges Ansichtsfenster richtig
- Ein
Depth
Wert, der auf 1 gesetzt ist
- Eine Keulungsmaske für
Player1Layer
(oder Player2Layer
für den 2. Spieler)
Eine dedizierte Leinwand mit:
- Rendermodus auf Bildschirmbereich - Kamera eingestellt
- Die richtige Kamera in # 2 konfiguriert
Befestigen Sie der Einfachheit halber die beiden Kameras eines bestimmten Players an einem eindeutigen übergeordneten Element und bewegen Sie das übergeordnete Element so, dass die beiden Kameras folgen. Vielleicht können Sie die Kameras Nr. 2 auf (0, 0, 0) halten. Ich habe nicht getestet.