Splitscreen und Skyboxen (mit Screenshot)

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

theotheoderich

Betreff: Splitscreen und Skyboxen (mit Screenshot)

BeitragDo, Okt 21, 2004 13:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,
irgendwie stehe ich momenten völlig auf dem Schlauch.
In meinem Spiel bekämpfen sich 2 Panzer auf einem Terrain.
Die ganze Sache funktioniert mit pro Frame mit einem Rendervorgang und zwei Kameras. So, nun die Frage.

Ich habe zwei Skyboxen (für je einen Panzer) die sich mit jeweils mit den Fahrzeugen mitbewegen. Die Sichtweite im Spiel ist nicht sehr hoch, würde ich nur eine Skybox rund ums Terrain verwenden, wäre die evtl. für die Panzer nicht mehr sichtbar.

Wie bekomme ich es nun hin, das die Skybox von Spieler 1 nicht in der Kamera von Spieler 2 zu sehen ist. Sieht blöd aus, wenn diese sich überschneiden. Ausblenden, verstecken oder so ist nicht, da wie gesagt beide Kameras in einem Vorgang berechnet werden. Und wenn die Skybox von Spieler 1 da ist, wird sie von Kamera 2 natürlich angezeigt.

Ich hoffe Ihr wisst wie ich das meine. Hier der Screenshot, wie es momentan aussieht.

user posted image

Vielen Dank schon mal im voraus.

@Jan_
Dein Tipp zu meinem CreateListener-Thread hat wunderbar funktioniert.
Danke nochmal!

Gruß

TheoTheoderich
[/img]

Jan_

Ehemaliger Admin

BeitragDo, Okt 21, 2004 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Skybox,
hm,
Du kannst die Skys auf den 2D buffer malen,
ansonsten die Skyboxen klein machen, und um den Player rum.
between angels and insects

theotheoderich

BeitragDo, Okt 21, 2004 14:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Jan_,

danke für Deine schnelle Antwort.

Kann ich denn mit der Methode auch einen Himmel gestalten, der sich beim Rotieren des Panzers mitdreht?

So wirklich glücklich bin ich damit nicht, aber mir fällt beim besten Willen auch nichts Besseres ein. Werde ich heute abend mal ausprobieren (wenn unser Kleiner im Bett ist, was dauern kann Confused ).

Die Skyboxen klein machen, würde auch nichts bringen. Die Panzerfahrzeuge können sich ja auch begegnen und spätestens dann würden sich die Boxen wieder überlappen.

Question Gibt es denn keine Möglichkeit Entitys für eine bestimmte Kamera auszublenden Question

Ich würde das Spiel auch am liebsten netzwerkfähig machen, dann kann eh nur ein Spieler an einem Rechner sitzen und diese ganze Splitscreenproblematik erübrigt sich. Leider habe ich nur einen PC (und einen Amiga 1200 der mich hier aber auch nicht weiter bringt).

Danke nochmal

Gruß

TheoTheoderich
Gruß
TheoTheoderich
--
The box label said, "Requires Windows XP or better.", so I bought an Amiga Computer.
 

BIG BUG

BeitragDo, Okt 21, 2004 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wenn du das Ganze doch in zwei Vorgängen renderst? Ist das wirklich viel langsamer?
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

Jan_

Ehemaliger Admin

BeitragFr, Okt 22, 2004 7:19
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Theo

benutzt du entityorder für die Skyboxen?
falls nicht, schaue dir das mal an.

Zu 2D, Ja, kannst du.
Du setzt den hintergrund, aus Tiles zusammen, und verschiebst sie um den betrachtungswinkel.

Achtung, denke daran, das die leute verschiedene Auflösungen haben, dadurch musst du einen sehr hochaufgelösten Hintergrund nehmen.

3. Möglichkeit, 2x Welt rendern, wie BigBug angefragt hatte.
Du nimmst nur 1ne Kamera, REnderst, verschiebst mit rectcopy den oberen Teil der 2 Bildschirmhälften, nach unten, verschiebst die kammera, setzt Skybox ... und renderst wieder, dadurch ist der 1. Gerenderte unten und der 2. gerenderte oben.

Geschwindigkeit geht, dürfte dich nur 1-2 ms kosten
between angels and insects

theotheoderich

BeitragFr, Okt 22, 2004 9:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

danke für Eure Antworten. Da mein DSL gestern nicht funktionierte, komme ich erst jetzt zum Antworten.

Die ganze Sache 2x rendern kommt nicht in Frage, da die Geschwindigkeit doch bei Explosionen arg in den Keller geht.

Wie von Jan_ vorgeschlagen, setze ich nun 2D Bilder in den Hintergrund. Diese scrollen nach links oder rechts, wenn der Panzer sich dreht. Die Auflösung muss noch nicht mal so hoch sein. Mehr als 1027x768 läßt sich im Spiel nicht einstellen. Das Himmelsbild braucht also eine max. Höhe von 768/2 Pixeln. Ist verkraftbar, wenn man ein JPG verwendet.


Ich habe jetzt nur das nächste Problem. Ist ganz ähnlich. Vor dem Panzer generiert eine Funktion immer (mehr oder weniger dichtes) Gras, das dann über den Alphawert eingeblendet wird.
Fahren zwei Panzer aufeinander zu verdoppelt sich in jeder Kameransicht natürlich das Gras und die Performance geht in den Keller. Dreht ein Panzer sich weg, so veringert sich auf wunderbare Weise das Gras vor dem Panzer. Sieht interessant aus.

Ich hatte schon die Idee die Position sämtlicher Grasbüschel vor Spielbeginn in ein Array zu speichern (nur X, Z Werte).
Meine Terrain Highmap ist 512x512 Pixel groß (ich verwende das normale BlitzTerrain, ist einfacher, mehr brauche ich nicht).
Die Terrainscalierung ist 1, ich unterteile die ganze Sache einfach in 512x512 Tiles, prüfe für jedes Tile, ob es aufgrund der Entfernung für einen Panzer sichtbar ist.
Wenn ja, erstelle ich ich in diesen Tilebereich Meshes für die Grasbüschel und lösche sie wieder, wenn sich der Panzer entfernt.
Fahren nun zwei Panzer aufeinnander zu, sehen beide die nur einmal erstellten Gräser.
Damit die Grasbüschel aber nicht hinter dem Panzer auch erstellt werden (sieht man ja nicht), müsste man für jedes Tile also die Entfernung zur Kamera prüfen, und ob es im Sichtbereich liegt.

War jetzt nen bisschen viel, aber was meint Ihr, würde das klappen.
Sollte eigentlich.

So bis denn

Gruß

TheoTheoderich
Gruß
TheoTheoderich
--
The box label said, "Requires Windows XP or better.", so I bought an Amiga Computer.

Jan_

Ehemaliger Admin

BeitragFr, Okt 22, 2004 10:11
Antworten mit Zitat
Benutzer-Profile anzeigen
lege die Gras bereiche in ein dim!

Dim Grässer#(512,512)
Dann gibst du ihnen immer einen Wert von 0-1, abhängig von der entfernung und der 2. Panzer setzt nur den Wert höher, wenn er näher dran ist.

schaue dir mal die Delta befehle an, damit kannst du die Grad nehmen.
das ist aber nur sinnvoll, wenn du Single surface Grass hast, ansonsten löst das Blitz für dich,

Das Sichtfeld ist 55 Grad Auf der X Achse.

Das mit Doppelt Rendern dürfte nciht so langsam sein, weil du ja nur eine Kamera renderst, (kann sein, das ich micht irre)
between angels and insects

theotheoderich

BeitragFr, Okt 22, 2004 10:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Jan_,

danke nochmal für die schnelle Antwort. Bist Du eigentlich den ganzen Tag im BlitzForum Smile

Ich glaube wie Du es beschrieben hast mache ich es auch. Auf jedem Tile können mehrere Gräser liegen. Damit ich nicht die Entfernung von jedem der 512x512 Tiles zum Panzer prüfen muss, überprüfe ich nur die Entfernung innerhalb eines bestimmten Tileradius zum Panzer. Alles darüber hinaus ist eh zu weit weg. Der Panzer kann zwar, sagen wir mal 20-30 Tiles weit sehen, aber kleine Grasbüschel sind nur z. B. 3-5 Tiles weit zu erkennen.

Werde es heute abend direkt mal ausprobieren.
Wenn ich dann die Kollisionserkennung noch ein bisschen überarbeite, kann ich mir vielleicht am Wochenende mit meiner Frau schon einige Testgefechte liefern.
Eine Alpha- oder gar eine Demoversion möchte ich erst veröffentlichen, wenn das Spiel wirklich läuft. Mit simplem Menü, Panzerauswahl und korrekter Kollision (die hakt noch ein wenig).

Ich habe schon so häufig Sachen angefangen und diese nicht fertig bekommen (siehe mein Sim-City Spiel), die Blöße möchte ich mir hier (und anderswo) nicht nochmal geben Embarassed

Werde mich mal die Tage melden, wie weit ich gekommen bin.

Vielen Dank nochmal

Gruß

TheoTheoderich
Gruß
TheoTheoderich
--
The box label said, "Requires Windows XP or better.", so I bought an Amiga Computer.

Jan_

Ehemaliger Admin

BeitragMo, Okt 25, 2004 7:27
Antworten mit Zitat
Benutzer-Profile anzeigen
theotheoderich hat Folgendes geschrieben:

danke nochmal für die schnelle Antwort. Bist Du eigentlich den ganzen Tag im BlitzForum Smile


nope, ich bin auf arbeit, und ärgere mich mit progen herum, und da ist es schön, zu sehen, das manche sich noch mehr damit herum ärgern.
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group