2D Partikelsystem problem [erledigt]

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

PhillipK

Betreff: 2D Partikelsystem problem [erledigt]

BeitragSo, Feb 22, 2009 13:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey!

Ich bin grade auf der suche nach möglichkeiten, wie man ein feuer, eine explosion, eine kleine druckwelle darstellen kann.
Direkt für B3d gibts ja keine funktionen dafür, darum habe ich das codearchive durchforstet und bin mit Hilfe der sufu auf Das hier gestoßen.

Leider bin ich mit meinem newb 1mal1 da am ende :>

Wenn ich partikel erstelle, dann sind sie "garnicht da" - und wenn ich das UpdateParticles(camera) rausnehme, dann hab ichn haufen Sprites die auf mein Testobjekt zeigen.

Ich versuch eine art Feuer zu erstellen..

ParticleSource ist ein pivot der sich bewegt. Allerdings auf den X/Z koordinaten, Y ist meine höhe.
Die particle sind nur sichtbar, wenn ich die quelle und die cam nach links bewege. Dann kann ich "nach rechts draufgucken".

Mit UpdateParticles(camera) sehe ich wie gesagt garnix. Allerdings gibts auch kein laggen.. also entweder sehe ich die particle nur nicht, oder sie sind so schnell weg, das es garnicht langsamer wird.^^

Also dachte sich mr. phillip das er den Script das er den Sourcescript der Particle erweitert, um eine function die die ausrichtung der Particle einstellt.
Leider steige ich durch Types nicht durch & die variablennamen sind etwas.. wirr :>

Meine frage also:

(1) Warum genau sehe ich nix wenn ich den Pivot bewege?
(2) Liegts an UpdateParticles(camera) das die particle nach links zeigen oder sind sie im allgemeinen nicht auf die Cam ausgerichtet?

Ich hoffe ich hab hier keinen absoluten anfängerfehler eingebaut und bin nur zu doof ihn zu sehen..

Code: [AUSKLAPPEN]
Function AddEffect(entity, flag)
   If flag=0 Then
      player(0,0,10) = CreateParticleSource(0,0,0, player_pivot)
      SetParticleSourceTex(player(0,0,10), Rain)
      SetParticleSourceRot(player(0,0,10), -360, 360)
      SetParticleSourceLocked(player(0,0,10), 0)
      SetParticleSourceColorStart(player(0,0,10), 255, 220, 0, 255)
      SetParticleSourceColorEnd(player(0,0,10), 255, 220, 0, 0)
      SetParticleSourceLifetime(player(0,0,10), 2000)
      SetParticleSourceScale(player(0,0,10), 0.5, 1.0)
   EndIf
End Function

entity ist im moment mein Pivot, flag wird später eine 'einstellung'. Zb 0 = feuer, 1 = explosion undsoweiter.

Code: [AUSKLAPPEN]
Function UpdateEffect()
   If a = 10 CreateParticle(player(0,0,10))
   a = (A + 1) Mod 11
End Function

Aus dem Beispielscript der Particle geklaut. player(0,0,10) ist eine an den pivotgebundene Particle Quelle.

a ist global definiert, UpdateEffect() wird im mainloop aufgerufen.

Ich hoffe mir kann geholfen werden^-^

Mfg, Phillipk Smile

EDIT:

Ich hab nun weiter rumgesucht, und bin auf die Devils Particle Engine gestoßen. Nun verwende ich sie :> Ich denke ich benötige die antworten nichtmehr, aber wer das problem weiß, kann gerne antworten um evtl anderen zu helfen, die das selbe problem haben aber nicht so einfach auf Devil's stuff umsteigen können^-^

Xaymar

ehemals "Cgamer"

BeitragSo, Feb 22, 2009 23:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Da fragst du doch gleich mal mich, da ich die ja geschrieben hab. Ich hatte da noch nicht eingeplant mit rotieren und bewegen. es war sozusagen eine vorversion.
Ich setze mich morgen mal dran und schreib die weiter, da ich se selber brauch.

MfG
CGamer
Warbseite

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group