Particel & Co, gibts eine gute Partikel-Engine?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

VirtualDreams

Betreff: Particel & Co, gibts eine gute Partikel-Engine?

BeitragDi, Jan 20, 2004 12:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin, wer kennt eine richtig gute Particel-Engine, mit der man so ziemlich alles machen kann!

Und noch ne Frage: wie bekommt man beim Terrain weiche übergänge von Texturen hin zb von steinigen grund zum grassigen grund. Ich brauch aber nich solche gülleideen von wegen multitexturing, das nützt mir nämlich rein gar nix.

Triton

BeitragDi, Jan 20, 2004 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
"Gülleideen" sind das ganz sicher nicht.

Die einfachste Möglichkeit ist aber immernoch vorher beide texturen zusammenzurechnen (die Farbwerte also additiv zu behandeln) und später die Übergangstextur einzusetzen. Das zusammenrechnen kannst du mit einem eigenen Programm, oder mit gängigen Grafikprogrammen wie Photoshop o.Ä bewerkstelligen.


Zum Thema Partikel"engine"; schau dich mal im Codearchiv/alten Codearchiv um, oder noch besser, code es dir selber.

Zumindest einfache Partikel kann man recht einfach realisieren.

Jan_

Ehemaliger Admin

BeitragDi, Jan 20, 2004 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit der Gülle Idee von Multitexturing ging es bei mir richtig gut!

Jan_ hat Folgendes geschrieben:

Damit gehen Explosionen und eigentlich alles, aber nicht direckt unterstützt.

Danke, Alles von mir! Twisted Evil
between angels and insects

VirtualDreams

BeitragMi, Jan 21, 2004 10:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit der Gülle Idee ist vielleicht ein bissel übertrieben gewesen, aber ich probier die sachen mal aus, sind vielleicht doch nich so schlecht.

x-pressive

BeitragDo, Jan 22, 2004 12:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich finde, das geht auch einfacher. Ich habe vorgestern mal eine Partikelfunktion geschrieben:

http://www.x-pressive.com/down...leTest.zip
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

VirtualDreams

BeitragFr, Jan 23, 2004 10:38
Antworten mit Zitat
Benutzer-Profile anzeigen
THX, die Particle-Engine hat mir auf den ersten Blick schon sehr gut gefallen. Die ist wirklich 1a klasse. Nun weiß ich aber nicht in wie weit man sie modifizieren kann, heißt Feuer damit zu simulieren oder Rauch(schwaden). Und ob man eventuell das gosub(Spagetticode=Schlechter Programmierstil) wegbekommen könnte. Ich schau mal selber drüber...

x-pressive

BeitragFr, Jan 23, 2004 12:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich benutze gerne Gosub statt Function, wenn man keine Parameter übergeben muß, da schneller. Spaghetti-Code gibt's nur mit GOTO, GOSUB ist der nette Freund von nebenan Smile

Hier noch ein Smoke-Beispiel mit derselben Technik, nur eben anderen Parametern. Das zeigt, wie einfach und flexibel das ist:

http://www.x-pressive.com/down...eSmoke.zip

Feuer geht genauso, einfach nur eine andere Spritegrafik nehmen, die Sprites rötlich färben (statt wie hier leicht blau) und ein bisschen mit den Parametern spielen.

Vielleicht könnte man es noch verbessern, wenn man DIMs statt Types benutzt (da schneller), aber das würde eindeutig auf Kosten der Lesbarkeit des Codes gehen.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

VirtualDreams

BeitragFr, Jan 23, 2004 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo, danke, ich hab schon ein bissel mit den parametern rumgespielt.
Da sind sachen die gefallen mir sehr gut und andere weniger.
Kann sein das ich den Code als grundlagen für eine eigene Engine nutze, aber nur ansatzweise, da ich mit Partikeln mehr vorhab als man denkt.
Aber zurzeit bleibt mir keine Zeit zum Probieren, da ich an einem WorldEditor bastle, der sehr viel Zeit in Anspruch nimmt, von dort aus will ich die Partikel dann auch steuern können.

PS. GoSub find ich trotzdem als Spaghetticode, denn das könntest du auch als function ohne Parameter machen. Denn z.B. in VC++ gibts das nicht und der Code ist sauberer wenn auch ünübersichtlich. Bloß mal am Rande: Jede Sprungmarke verbraucht Speicher und das für die ganze runtime.

x-pressive

BeitragFr, Jan 23, 2004 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
VirtualDreams hat Folgendes geschrieben:
...da ich mit Partikeln mehr vorhab als man denkt.


Ein Partikel-zu-Euro Konverter wäre nützlich Smile
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Devils Child

BeitragSo, Mai 01, 2005 9:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab eine gute fire-demo geproggt.
Code: [AUSKLAPPEN]

Graphics3D 640, 480, 32, 2
AmbientLight 255, 255, 255
SetBuffer BackBuffer()
SeedRnd MilliSecs()

;Camera
Cam = CreateCamera()
CameraRange Cam, .1, 1000000
CameraClsColor Cam, 70, 70, 255

;Vertex
Vertex = CreatePivot()

;Sprites
Global Fire[100], Smoke3[100]
Dim xtrans2#(100), ytrans2#(200), ztrans2#(200)
For i = 1 To 100
  Fire[i] = LoadSprite("Smoke.bmp")
  EntityColor Fire[i], Rnd(150, 255), Rnd(0, 100), 0
  xtrans2#(i) = Rand(-100, 100)
  ytrans2#(i) = Rand(0, 400)
  ztrans2#(i) = Rand(-100, 100)
  xtrans2#(i) = xtrans2#(i) / 10000
  ytrans2#(i) = ytrans2#(i) / 10000
  ztrans2#(i) = ztrans2#(i) / 10000

  Smoke3[i] = LoadSprite("Smoke.bmp")
  EntityAlpha Smoke3[i], .1
Next

cnt1 = 1
cnt2 = 50

PositionEntity Cam, 0, 0, 5
While Not KeyHit(1)
  If KeyDown(200) Then p2 = p2 - 1
  If KeyDown(208) Then p2 = p2 + 1
  If KeyDown(203) Then p1 = p1 + 1
  If KeyDown(205) Then p1 = p1 - 1
  PositionEntity Cam, Sin(p1) * 5, Cos(p2) * 5, Cos(p1) * 5
  PointEntity Cam, Vertex

  cnt1 = cnt1 + 1: If cnt1 > 100 Then cnt1 = 1
  cnt2 = cnt2 + 1: If cnt2 > 100 Then cnt2 = 1
  PositionEntity Fire[cnt1], 0, 0, 0
  PositionEntity Smoke3[cnt2], 0, 0, 0
  For i = 1 To 100
    TranslateEntity Fire[i], xtrans2#(i), ytrans2#(i), ztrans2#(i)
    TranslateEntity Smoke3[i], xtrans2#(i), ytrans2#(i), ztrans2#(i)
  Next

  RenderWorld
  Flip
Wend
 

INpac

BeitragSo, Mai 01, 2005 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn's richtig schnell sein soll (und schön > meist hohe partikelanz. notwendig), reichen die blitz3d-sprites vom speed nicht aus, Child vom Devil.
Da braucht man schon ma Single-Surface-Engines, die richtig schnell sind...

http://www.blitzbasic.com/tool...php?cat=15

x-pressive

BeitragDi, Mai 03, 2005 8:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Guckst du hier: Particle Candy Smile
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

INpac

BeitragDi, Mai 03, 2005 14:20
Antworten mit Zitat
Benutzer-Profile anzeigen
jo, Particle Candy mag ich schon immer - nur der Preis ist für mich eben als Hobby-Coder zu hoch Smile - aber feine sache.

Jan_

Ehemaliger Admin

BeitragDi, Mai 03, 2005 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, Lotus Particle engine!

(Sage ich)
between angels and insects

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group