GLBasic forum

Other languages => GLBasic - de => Topic started by: WPShadow on 2006-Jan-18

Title: Explosion
Post by: WPShadow on 2006-Jan-18
Hi!

Eine Kreativfrage:

Wie erzeugt man am besten eine Explosion im Raum, wenn, sagen wir mal, ein Raumschiff explodiert?

Mir geht es nicht um die Teile, die herumfliegen! Das Problem habe ich schon gelöst. Mein Problem ist das Feuer und der Lichtblitz, der dabei entsteht!!!

Falls ihr Ideen habt, dann helft mir bitte...
Title: Explosion
Post by: WPShadow on 2006-Jan-18
Anbei noch eine Frage: Kann man X_Collisionaabb() irgendwie rotieren?

Ich würde gerne ein Rechteck vor meinem Objekt aufziehen, doch leider sind nur die Kombinationen mit xz# und y# möglich...

Und wie erzeuge ich am Besten ein halbdurchsichtiges Schutzschild? Am Besten in Blau... :-)
Title: Explosion
Post by: WPShadow on 2006-Jan-18
Letzt Frage:

Im Inneren einer X_Collision Kugel kann kein Objekt sein, oder? Das wird dann automatisch als als X_Collision = 1 angezeigt. Wie könnte ich zumindest vor dem Schiff eine "Collision - Halbkugel" erzeugen, die registriert, wenn z.B. eine Rakete darauf aufschlägt? Mir geht es darum, den Schutzschild nicht nur optisch darzustellen, sondern auch den Effekt zu erzeugen, daß eine Rakete auf einer "Energieoberfläche" aufschlägt, wobei dieser auch Energie verliert, was wiederum registriert werden muß, ob es überhaupt getroffen wurde...
Title: Explosion
Post by: Kitty Hello on 2006-Jan-18
Ufz!
Eins nachmandern.
Explosionen macht man sinnvollerweise mit ALPHAMODE und X_SPRITE. Dabei die Partikel nach aussen gehen lassen und ausblenden.
Ich hab mal sowas gemacht, ich post's mal gleich unter "Code Snippets"

Die AABB kannst Du mit einem vorherigem X_ROTATION drehen.

Ein Schutzschild würd' ich als Kugel modellieren, mit so blau-löchrigem Blitztexturen. Dann ganz am Schluss mit ALPHAMODE 0.5 um das Raumschiff herum zeichnen. Vielleicht blinken lassen? Dabei mit X_TEXTUREOFFSET oder mit 2 Texturen (einfach um 90° drehen z.B.) so einen Blink/Blitzeffekt erzielen. Klar was ich mein??

Den Aufschlag einer Rakete auf das Schutzschild würde ich so machen:
Einfach die Entfernung des Schusses von der Kugelmitte berechnen:
Code (glbasic) Select
dx = x_schuss - x_kugel
dy = ...
distanz = SQR(dx*dx + dy*dy + dz*dz)
IF distanz < Kugel_radius THEN Aufschalg()
Title: Explosion
Post by: WPShadow on 2006-Jan-18
Bekomme die AABB rotation nicht hin:

X_ROTATION 30, 0, 1, 0
X_COLLISIONAABB (2, 0, 0, 0, 0, 10, 100)

X_ROTATION 30, 0, 1, 0
m = X_COLLISIONAABB (2, 0, 0, 0, 0, 10, 100)

Wie schreibe ich das am Besten???
Title: Explosion
Post by: Kitty Hello on 2006-Jan-18
Ach  -mein Fehler. X_ROTATION freht das Objekt, nicht die Box. Hm... Vielleicht dann doch lieber 2 Boxen verwenden, oder Kugeln?