Atmosphäre

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

NightPhoenix

Betreff: Atmosphäre

BeitragSa, Nov 24, 2007 10:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie kann ich am besten eine Atmosphäre um einen Planeten darstellen?
Eine einfache Sphere, mit Transparenz ist zu einfach ^^

Beispielsweise diese hier sieht sehr ansprechend aus:
http://www.blitzbasic.com/gall...amp;page=1

Ich tippe mal auf einen Sprite im Zentrum mit EntityOrder, das hat aber nach meinen Tests den Nebeneffekt dass wenn man zu nah ran fliegt die optische Wölbung der Sphere das Sprit verdeckt, keine "weniger"-Beleuchtung (Schattierung) auf den Schattenseiten der Planeten erfolgt, da es ja nur eine Fläche wäre und außerdem keine übergreifender Film von der Atmosphäre noch über die zum Spieler gewandte Seite des Planeten verläuft, sozusagen als leuchtender Saum sich noch um die Vorderseite legt.

Das ist meine momentane Lösung:
http://marinext.ma.funpic.de/i...tmoBad.PNG
eine Sphere mit Transparent verlaufender Textur, welche immer zum Spieler gedreht wird, wodurch der beschriebene "Saum" (übergreifender Film) von der seitlichen Atmosphäre noch über die Vorderseite des planeten verläuft. Außerdem wird die Beleuchtung von allen Seiten ebenso unterstützt.
Jetzt fehlt nur noch der weiche Übergang zum Weltraum.
*edit = true*
Achja und wenn ich die Sphere verwende verschmelzen die Polygone aufgrund Gleitkommagenauigkeit irgendwann, wordurch das so komisch flimmert. Das spricht wiederrum für ein Sprite, da passiert sowas nicht ^^
*edit = false*

Kann mir jemand gute Tipps, oder eine ganz andere Lösungmöglichkeit geben?


MfG. NightPhoenix

Lobby

BeitragSa, Nov 24, 2007 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Also die Ungenauikeit von Float kann man durch 'Vergrößerung' der Szene vermeiden, ich empfehle dir
da schon Sphere, jedoch mehrere(ähnlich wie Nebeleffekte an Kameras in B3D)

Z.B.:
Code: [AUSKLAPPEN]
...
Planet=Createsphere(100)
EntityColor Planet,255,50,50

For R#=0.1 to 0.5 step 0.1
    sphaere=CreateSphere(100,Planet)
    Scaleentity sphaere,1+R#,1+R#,1+R#
    EntityColor sphaere,0,0,255
    EntityAlpha sphaere,0.1
    ;FlipMesh sphaere    ;Kannst du für einen 'Besonderen' Effekt aktivieren ;-)
Next
...


Texturieren dürfte kein Problem darstellen Wink


Jetzt Garantie für den Code!
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux
  • Zuletzt bearbeitet von Lobby am Sa, Nov 24, 2007 12:32, insgesamt 2-mal bearbeitet

Foppele

BeitragSa, Nov 24, 2007 12:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich schätze mal das der Starstrike Planet oder zumindest seine Atmosphäre bloss ein Sprite oder gar nur ein Hintergrundbild ist,
ich denke mit den normalen Blitz Funktionen kriegt man sowas in 3D nicht hin, dafür hat man zuwenig Kontrolle über die Texturkoordinaten. Sonst könnte man die AthmosphärenSphere mit einer Verlaufstextur belegen und die Texturkoordinaten mit der Spielerposition verbinden.
Hat noch keiner sowas wie Texturesupports geschrieben?

NightPhoenix

BeitragSa, Nov 24, 2007 12:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau das wollte ich eben nicht, weil wenn man nahe heranfliegt müsste man dennoch die Abstufung zwischen den Spheren erkennen können. Allerdings könnte man die menge auch deutlich erhöhen, polygonsparende Spheres verwenden, und mit AddMesh zusammenfassen. So müsste es nicht mehr so auffallen.
mmmh...
Ich probiers mal ^^
mfg.

*edit*
Doch ich schätze schon dass es umsetzbar ist, auch wenn man dafür eine ausgeklügelte Kombination zwischen Spheres und Sprites brauch. Obwohl die Belichtung der Sprites dann natürlich schonwieder dazwischenfunkt...
Alternativ würde das mit den vielen Spheres klappen, wenn man genug verwendet. Ein Glow-Effekt könnte das ganze dann auch noch wunderbar zum leuchten bringen.
Optisch ist das mit den Spheren wohl doch am besten, obwohl so ein Sprite hinter dem Planeten schon gut aussieht, wird aber leider nicht real beleuchtet ^^

Foppele

BeitragSa, Nov 24, 2007 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es richtig geil werden soll hätte ich noch eine andere Lösung, und zwar eine Incidence/Fresnel Funktion für die Vertexcolors schreiben, mit dem Dot3 Product. Ich hab sowas schon mal mit Softimage gebaut, müsste sich auch für Blitz umsetzen lassen.
user posted image

Foppele

BeitragSa, Nov 24, 2007 14:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Bitteschön, meld dich wenn dich der Code interessiert...
user posted image

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group