Planetenatmosphäre von außen - wie geht das?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Ayman

Betreff: Planetenatmosphäre von außen - wie geht das?

BeitragMo, Feb 07, 2005 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi zusammen,

Hat einer ne Idee wie man den visuellen Effekt einer Planetenatmosphäre - aus dem Weltall betrachtet - erzeugen könnte?

Mein bisheriger Ansatz: Der Planet ist eine Sphere mit Wasser/Landmassen (wegen mir auch noch Wolken) als Colormap. Die Atmosphäre ist eine etwas größere zweite Sphere, hellblau und mit einem ziemlich durchsichtigen Alphawert.

Das Problem: Diese Atmosphäre hat zum Rand hin keinen weichen Übergang, sondern einen harten . Aber gerade diesen weichen Übergang hätte ich gerne.

Eine andere Idee wäre es vielleicht ein halbtransparentes Sprite für den Atmosphäreneffekt zu verwenden indem man es vor den Planeten legt - Ausrichtung stets orthogonal zur Kamereblickrichtung, aber das funktioniert bei geringen Distanzen (Kamera <--> Planet) nicht mehr.

Dritte Möglichkeit: Eine Halbkugel mit einer Atmosphärentextur, die in etwa wie ein weißer Ring mit sehr weichen Übergängen aussieht - wieder halbtransparent. Die Halbkugel müsste erneut immer zur Kamera ausgerichtet werden.

Gehe ich aber wieder näher heran (sehr nahe), dann verschwindet der meine Ringtextur wieder hinter dem Horizont ... es sei denn vielleicht ich skaliere die Textur in Abhängigkeit meiner (Kamera) Entfernung zum Planeten ... ?

Was meint ihr dazu?

Grüße
Ayman

P.S.: Es gibt schicke Beispiele in Spielen wie (X-Tension, Freelancer, etc.). Nur wie machen die das ???
 

NetPad

BeitragMo, Feb 07, 2005 23:25
Antworten mit Zitat
Benutzer-Profile anzeigen
also für solche sachen wird in den spielen eigentlich immer alpha-blending benützen. leder weiss ich bloss, wie man das mit c++ und directx realisieren könnte.

grs NP

Ayman

BeitragDi, Feb 08, 2005 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
@NetPadZitat:
also für solche sachen wird in den spielen eigentlich immer alpha-blending benützen.

Dann erkläre mir bitte kurz das Konzept von Alpha-Blending. _Was_ tut es?

Grüße
Ayman
 

Dreamora

BeitragDi, Feb 08, 2005 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du einen weichen übergang willst, musst du wohl die Alphawerte der Vertices manuell setzen, so dass die Vertices, die aus Sicht der Kamera "aussen" wären durchsichtiger werden.

Wenn keine Wolkenbewegung oder so gewünscht ist, kannst du ansonsten auch eine Fläche vor den Planeten kleben der auf die Kamera ausgerichtet ist und ein Atmosphärenbild hat, das weich ausblendet Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

NetPad

BeitragDi, Feb 08, 2005 23:04
Antworten mit Zitat
Benutzer-Profile anzeigen
alpha-blending wird überall da genutzt, wo man transparente bereiche hat. mit directx ist es möglich verschiedene parameter festzulegen.
blending ist ja als "überblenden" zu verstehen.
mithilfe von direktx ist es jedoch auch möglich diese parameter zu animieren. dadurch können sehr schöne effekte erzielt werden. eben als beispiel atmosphären. für eine sonne wäre es auch sehr gut geeignet. oder ein schutzschild eines raumschiffes

grs NP

Ayman

BeitragMi, Feb 09, 2005 16:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora schriebZitat:
Wenn du einen weichen übergang willst, musst du wohl die Alphawerte der Vertices manuell setzen, so dass die Vertices, die aus Sicht der Kamera "aussen" wären durchsichtiger werden.

Das ist es. Daran hatte ich bisher nicht gedacht.

Danke sehr, jetzt klappt's Smile

Ich habe jetzt ein flaches Mesh erstellt, dass einen Kranz/Ring darstellt. Innere Alphas sind 0.5, äußere sind Null. Farbe des Meshes ist Hellblau, keine Textur. Meshmittelpunkt ist der Mittelpunkt des Planeten. Diesen Kranz richte ich jetzt immer so aus, dass er exakt am gerade sichtbaren Horizont (Tangente zw. Kamerastrahl und Planetenkugel) aus dem Planeten herauswächst.

Grüße
Ayman

Flachzange

BeitragMo, Feb 14, 2005 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich würd einfach einen großen Sprite so platzieren, dass er über den Planetenrand herausragt! Mit ner Alphamap, die nen runden Farbverlauff hat müsste das doch ganz nett aussehen!
I'm no superman...!

Mattis_the_brain

BeitragMo, Feb 14, 2005 20:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Jup Flachzange genau so wirds gemacht und wenn man das richtig macht sieht das auch richtig gut aus... Must aber mit dem richtigen CameraZoomWert arbeiten damit das immer schön passig ist.

Flachzange

BeitragDi, Feb 15, 2005 18:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Jepp! Bei Star Trek: Bridge Commander wird das ganz eindrucksvoll in Szene gesetzt:

http://www.pcgames.de/screensh...CF296E.jpg
I'm no superman...!

Bob

BeitragMo, Feb 28, 2005 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry das ich den Beitrag nochmal aufmache.
Das ganze interessiert mich aber auch sehr weil ich grade auch am Atmosphären Problem arbeite.

Flachzanges Vorschalg mit dem Sprite würde ich gerne realisieren.
Leider sieht das bei mir irgendwie Sch... aus.
Hat mal einer 'ne kurze Demo?.

Habe ein Vertständnisproblem mit dem Plazieren.
Wo genau kommt das Sprite hin?. Exakt in die Mitte des Planeten oder vor den Planeten. Vor den Planet würde bedeuten das dass Sprite, je nach Kamera Position, um das Zentrum des Planeten rotieren muss um immer vor dem Planeten zu Stehen.
Bei meinen Versuchen habe ich das Sprite mal in das Zentrum des Planeten gesteckt. Es schaut zu allen Seiten etwas raus. Wenn ich aber mit der Kamera schwenke, sieht man, je nach Position, die Atmosphäre hinter dem Planet verschwinden. EntityOrder hilft hier leider auch nicht.

Danke.

Ayman

BeitragMo, Feb 28, 2005 16:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi nochmal,

der Knackpunkt ist der richtige Rotationswinkel des Atmosphärenobjektes (egal ob nun mein Kranz mit Meshalpha oder Flachzanges Sprite - geht sicher beides gut) bei großer Nähe der Kamera zum Planeten. In dem Fall verschwindet die Atmosphäre hinter dem Horizont, wenn man die automatisch von Blitz3D orthogonal zur Blickrichtung ausgerichteten Sprites verwendet.

Wer das nicht braucht, weil die Kamera immer weit entfernt ist, ist mit dem Sprite gut bedient. Wer aber auf dem Planenten etwa landen oder auch nur in einen niedrigen Orbit eintreten will, der muss halt bezüglich der Rotation des Atmosphärenobjekts selber Hand anlegen.

Grüße
Ayman
uomini cercano uomini

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group