Boat Wake (Kiel und Bugwasser)

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

vanjolo

Betreff: Boat Wake (Kiel und Bugwasser)

BeitragDi, Apr 01, 2008 11:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi
ich versuche verzweifelt eine schöne Lösung für ein boat wake zu finden.
Mit einem Partikelmanager ist das Ergebnis nicht sehr schön. Wie würdet ihr das machen? Für glattes Wasser ohne Wellengang kein Problem, aber wie bei Wellen? Ich bin echt ratlos Confused

user posted image

The_Nici

BeitragDi, Apr 01, 2008 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
in DX7 ist es schwer, denn erst DX8 unterstützte gute Shader, also auch tolle fürs Wasser.
Du könntest es mit Sprites machen (Bei mir sah das eigtl. noch toll aus). Funktioniert aber nur gut wenn man nur von oben her guckt.
 

vanjolo

BeitragDi, Apr 01, 2008 17:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Gab es hier nicht mal ein Spielprojekt mit Speedbooten die hatten glaube ich auch Bug und Kielwasser mit Sprites. Leider finde ich das durch suchen im Forum nicht mehr. Wer ein Idee hat bitte melden Wink

The_Nici

BeitragDi, Apr 01, 2008 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Jop, das sollte im WIP sein. War von Matthias.

btw falls du nur Top-Ansicht willst, hab ich mal was gemacht gehabt.
Bild: Klick mich, ich bin ein Link!

Habe es mit diesen zwei Funktionen gemacht:


Code: [AUSKLAPPEN]

Function Createbowwave(mesh, rotation%, xg#, zg#, time%)
   If xg<>0 Or zg<>0 And MilliSecs()-wtime>=Rand(time,time+20)-(Int(xg)*Int(zg)+0.1)*1000 Then
      a.welle=New welle
      a\sprite=CopyEntity(wsprite)
      a\x=EntityX(mesh)
      a\y=EntityY(mesh)+0.01
      a\z=EntityZ(mesh)
      a\time=MilliSecs()
      a\alpha=1
      a\scale=0.3
      wtime=MilliSecs()
      PositionEntity a\sprite, a\x, a\y, a\z
      RotateSprite a\sprite,rotation
   EndIf
End Function

Function Updatebowwave()
   For timec.welle=Each welle
      timec\alpha=timec\alpha-0.02
      timec\scale=timec\scale+Rnd(0.01,0.03)
      EntityAlpha timec\sprite, timec\alpha
      ScaleSprite timec\sprite, timec\scale, timec\scale
      If MilliSecs()-timec\time>=1000 Then
         FreeEntity timec\sprite
         Delete timec
      EndIf
   Next
End Function


Der Type dazu:
Code: [AUSKLAPPEN]

Type welle
   Field sprite
   Field x#
   Field y#
   Field z#
   Field time
   Field alpha#
   Field scale#
End Type


Bild habe ich ein Dreieckiges Wellendingsi genommen, welches dann gegen hinten hochgescaled wird.
  • Zuletzt bearbeitet von The_Nici am Di, Apr 01, 2008 18:07, insgesamt einmal bearbeitet

theotheoderich

BeitragDi, Apr 01, 2008 17:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es damals auch mit Sprites gemacht.
Direkt hinter das Fahrzeug, immer grösser werden lassen und dabei den Alphawert immer durchsichtiger werden lassen.

user posted image

Hier das verwendet Sprite, habe ich mal im Netz gefunden.

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

vanjolo

BeitragDi, Apr 01, 2008 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Super das ihr mich nicht hängen last. Aber wie ist es bei Wellen? Bei glatter Oberfläche schaut es gut aus.
Confused (ich krieg gleich Kopfweh.. Crying or Very sad )

The_Nici

BeitragDi, Apr 01, 2008 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Wäre sehr rechenintensiv eine ganze Plane zu verändern.
 

vanjolo

BeitragMi, Apr 09, 2008 11:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Leider hab ich jetzt einige Tage versucht ein Kielwasser hinzubekommen. Bei glatter Fläche ist es ja einfach, aber bei Wellen anscheinend mit Blitz nicht zu machen. Ich habe auch bei BlitzBasic in den Foren gestöbert und da wurde es auch noch nie programmiert. Meine Idee einen Sportbootspiel mit Blitz zu machen kann ich dann ja wohl vergessen Crying or Very sad

theotheoderich

BeitragMi, Apr 09, 2008 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum gibst Du Deine gute Spielidee auf, nur weil Du einen! Effekt nicht realisieren kannst.

Schau Dir doch mal das Bootsrennen von GTA ViceCity an. Simpel gemacht, macht aber Laune.
Gruß
TheoTheoderich
--
The box label said, "Requires Windows XP or better.", so I bought an Amiga Computer.

BladeRunner

Moderator

BeitragMi, Apr 09, 2008 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es Dir um die Wellenberechnung als solches geht, sollte dir die Wellengleichung helfen, siehe dazu u.a. hier: http://leifi.physik.uni-muench...wellen.htm
Die Formel ist halt auf alle punkte um das boot herum anzuwenden und das über eine gewisse Zeit.
Alternativ könntest du natürlich auch die Schaumkrone faken, sprich als eigenes Modell erstellen und mit dem Boot bewegen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Moses

BeitragMi, Mai 07, 2008 9:41
Antworten mit Zitat
Benutzer-Profile anzeigen
man könnte kleinere partikel verwenden und diese knapp über die wellige oberfläche des wassers 'gleiten' lassen, is halt etwas rechenlastig, ka wie toll du das brauchst...
 

vanjolo

BeitragSa, Mai 17, 2008 13:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke ich habe es über Partikel gemacht und die Partikeldemo in Blitz dafür modifiziert. Sieht für mich ganz gut aus.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group