Jump to content
Unity Insider Forum

Szenerienvielfalt


nordseekrabe

Recommended Posts

Moin, moin,

bin vor ein paar Tagen dem Spiel "Layers of Fear" begegnet, das meinem Projektversuch von der Spiellogik her sehr ähnlich ist (natürlich

ist dieses Spiel 10000mal professioneller !!). Meine Frage: hier begegnet man vielen Räumen in einer Szene, in meinem Spiel habe ich dafür 

ca. 40 Szenen, was das ganze erheblich komplizierter macht.  Also, wie hat dieses Team diese Vielzahl von Backgrounds in eine 

Szene gepackt. Welche Technik  ? Geht das mit Tilemaps oder wie auch immer ?

Eine schöne Woche noch und Gruß von der Ostseeküste

Peter (Nordseekrabbe)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die prompte Antwort. Bilder oder ein Video kann ich leider nicht übermitteln. Der Spieler betritt die Diele und kann nun durch das komplette Gebäude laufen. In meinem Projekt komme ich von Raum zu Raum nur über ein Skript "Szenenwechsel", was den SceneManager aufruft. Das genannte Spiel entspricht somit der Realität, kontinuierliche Bewegung im Raum, die Kamera folgt dem Spieler; Raumteile und andere Räume, die bislang nicht sichtbar sind, zeigt die Kamera mit der fortschreitenden Bewegung des Spielers im Raum. Das alles spielt sich, so wie ich mir das vorstelle, in einer Szene ab.

Garnicht so einfach, einen einfachen Ablauf im Alltag verständlich zu beschreiben. Ich hoffe, du konntest nachvollziehen, was ich meine.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wahrscheinlich ist der Grundaufbau meines Projektes zu laienhaft. Ich erstelle eine Szene, indem ich ein Sprite (1024x512, PPU100) in die Hierarchy lege. Der auf dem Sprite dargestellte Raum ist nun die Szene (Sprite.Küche == Scene.Küche). Alle interessanten Objekte des Raumes werden zu GameObjekten der Szene mit ihren erwünschten Eigenschaften (Collider, Script,etc.). Wenn der Spieler den Raum verlassen will, gelangt er durch Click auf den Button "Gehe Zu" mittels Scenemanger.LoadScene(x) in den Raum/die Szene seiner Wahl. Also hier verfolgt die Kamera nicht den Spieler, der Spieler klickt sich mit der Maus von Gameobjekt zu GameObjekt(untersuche, öffne, nehme, kombiniere, etc).

In dem oben beschriebenen Spiel läuft der Spieler (mittels Kamera, als First Person Adventurer), wie ja in vielen Games, durch die Szene. Diese ist aber im Gegensatz zu meiner,  "unendlich" groß, also er läuft vom Erdgeschoss ins Obergeschoss und wieder zurück in den Keller ohne einmal einen Szenenwechsel-Button betätigen zu müssen !. Das o.g. Spiel hatte ich nur angesprochen, weil es meiner Story und meinem Spielaufbau sehr ähnlich ist. Diese beschriebene Technik ist mir unbekannt; ich stelle mir also vor, viele (ca.40) Sprites (Bild eines Raumes) in eine "Szene" zu packen und dann den Spieler (im Sinne eines FPS, aber ohne Shooting) durch das Haus sausen zu lassen.  

Alles vermutlich sehr, sehr Anfänger-like, aber nur durch Fragen und Probieren und natürlich viel, viel Lesen wird man Fortschritte erleben. Als Rentner habe ich zumindest Zeit...

Grüße von der Ostseeküste

Peter (Nordseekrabbe)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schade, dass keine Antwort mehr kommt ! Hätte doch zu gerne wenigstens eine Info, dass meine Anfrage idiotisch, naiv oder sonst wie daneben war. Es liegt aber hoffentlich nicht an meinem Hinweis auf meinen Rentnerstatus ? Dennoch, einen schönen Tag an alle.

Gruß von einer regnerischen Ostseeküste

Peter (Nordseekrabbe)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tja, was soll man denn sagen?
Man kann so ein Spiel mit 40 Szenen bauen oder aber nur mit einer Szene. Liegt ganz an den Vorlieben des Erstellers und an den Ressourcen, die einem der Rechner zur Verfügung stellt.

Sascha hat dir ja schon eine Möglichkeit genannt. Einfach alle Szenensprites in die Szene rein, und je nach Raum das entsprechende Sprite aktivieren. Das vorige aktivierte Sprite muss natürlich zur selben Zeit deaktiviert werden. Mit den Objekten, mit denen du interagieren kannst, machst du das genauso. Du könntest also Für jede Szene einen Überordner in der Hierachie anlegen und ihn RaumX nennen. Dort legst du alle Objekte rein, die für den RaumX wichtig sind. Mit den anderen Räumen machst du das so ähnlich.
Gehst du von RaumX zu zu RaumY wird der ganze Ordner RaumX deaktiviert und RaumY akiviert. Jetzt nur noch deine Spielfigur an die richtige Eingangsposition verschieben und fertig isses. Das passiert alles in einem Frame, ist also sofort geschehen.

Probiers einfach mal aus. 
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich verstehe es so dass es hier um eine Art Point&Click Adventure geht.
Sowas ähnliches habe ich auch mal gemacht.

In meiner Hirarchy lagen nur Camera und 2 GameObjekte.
Objekt 1 war mein "GameManager".
Hier habe ich alle Scripte zusammen gepackt welche in jedem Level (Raum) wieder benötigt werden.

Objekt 2 war mein "RoomManager".
Hier habe ich immer alle Objekte des Raums geladen.

Ich habe dazu einen Raum in diesem Objekt zusammen gebastelt und ihn dann als Prefab abgelegt.
ich habe also nicht immer wieder eine Scene geladen, sondern einfach die Prefabs der einzelnen Räume.

Spielerdaten wie Inventar und so habe ich im Gamemanger verarbeitet und zwischengespeichert.
Dieser war ja fest und muste nicht immer neu initialisiert werden.

Inwiefern sich diese methode auf die Performance auswirkt (Ladezeiten) kann ich dir aber leider nicht mehr sagen.
War eines meiner erten Projekte und ist schon eine ganze Weile her.

Ich hoffe das war einigermaßen verständlich. 😬
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank, das war verständlich und wird von mir auch umgesetzt werden. Insgesamt wird es mit so zahlreichen Szenen nicht so ganz einfach, insbesondere auch mit dem Speichern. Es müssen dann die Objekte, die eingesammelt wurden, und natürlich die Veränderungen (z.B. Entriegeln von Türen erledigt usw.) die bereits erfolgt sind, bei jedem Szenenwechsel gespeichert werden. Auch soll der Spieler mal 'ne Pause machen dürfen etc.

Aber erst einmal besten Dank füre Eure Anregungen 

Gruß 

Peter (Nordseekrabbe)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...