Partikelengine
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
E. Urbachehemals "Basicprogger"Betreff: Partikelengine |
Do, Jul 13, 2006 19:38 Antworten mit Zitat |
|
---|---|---|
Eine PartikelEngine, die nach dem folgenden Prinzip arbeitet:
Es gibt verschiedene Arten von Partikeln, die alle Methoden einer Basisklasse TParticle erben. Für jeden Partikeltyp gibt es eine Update-Funktion, aber damit es nicht zu umständlich wird, kann man mit UpdateParticleEngine() alle Partikeltypen und das dazugehörige System updaten. Partikel haben für alles einen Start- und einen Endwert. Zwischen diesen Werten wird dann interpoliert. Davon betroffen sind Position, Rotation, Skalierung, Farbe, Alpha und Geschwindigkeit. Als kleines Extra gibt es noch die Gravity-Partikel, die von der X- oder der Y-Achse angezogen werden. Partikel, die vom Wind beeinflusst werden, können über die Hermite-Interpolation erzeugt werden. Screenshots: Die folgenden Klassen sind fest in der Engine integriert: Code: [AUSKLAPPEN] TParticle
TParticleTween TParticleHermite TParticleWind TParticleGravityX TParticleGravityY TParticleGravityXY TEffect TParticleTemplate TEmitterTween Außer den Partikeln selbst gibt es auch noch Emitter, die Partikel in einem bestimmten Winkel erstellen und auch rotieren können. Im Moment ist nur ein Emittertyp implementiert, da er am häufigsten verwendet wird: Code: [AUSKLAPPEN] TEmitterTween
Wer eine eigene Partikelklasse schreiben will, der kann sie von der Basisklasse TParticle ableiten und die Methoden Update(), Draw(), Move() und Reset() überschreiben. Ein neues Feature stellen die Effekte dar, die flexibel aus Dateien geladen werden können. Es gibt zahlreichne Extras für die Werte in den Effektdateien, die durch die Skriptsprache realisiert werden. Beispielsweise kann ein Effekt zufällig auf dem Bildschirm platziert und ein Sound mit der richtigen Balance abgespielt werden. Code: [AUSKLAPPEN] TEffect
Effekte speichern Templates, die Schablonen für einen Partikeltyp. Die Templates werden automatisch vom Partikelsystem verwendet, man muss also nicht umständlich eigene Schablonen erstellen, sie werden einfach aus Dateien geladen und als TEffect zurückgeliefert. Code: [AUSKLAPPEN] TParticleTemplate
Mit der Funktion LoadEffect wird ein solcher Effekt aus einer Datei geladen und mit der Methode Play abgespielt/gestartet: Code: [AUSKLAPPEN] Global myEffect:TEffect = LoadEffect("fire.ini")
myEffect.Play() Diese Effektdateien mit der Endung .ini sehen beispielsweise so aus: Code: [AUSKLAPPEN] [Sound]
soundFile=sample5-sound1.wav soundRate=1.0 soundPan=RelativeToX() soundDepth=-1.0 soundVolume=0.9 group=1 [/Sound] [Fire] image=sample3-img1.png count=10 group=1 x=MouseX() y=MouseY() endX=x+Rand(-200,200) endY=y+Rand(-200,200) rotation=Rand(10,350) endRotation=Rand(10,350) alpha=1.0 endAlpha=0.0 scaleX=1.0 scaleY=1.0 endScaleX=2.0 endScaleY=2.0 r=255 g=255 b=0 endR=255 endG=0 endB=0 speed=0.2 endSpeed=0.1 [/Fire] [Smoke] image=&Fire count=5 group=1 x=0 y=0 endX=x+Rand(-200,200) endY=y+Rand(-200,200) rotation=0 endRotation=360 alpha=0.5 endAlpha=0.0 scaleX=1.0 scaleY=1.0 endScaleX=2.0 endScaleY=2.0 r=128 g=128 b=128 endR=32 endG=32 endB=32 speed=0.2 endSpeed=0.1 [/Smoke] Die Funktionen sind vollständig dokumentiert. Sollte man einmal die Parameter für CreateParticleTween vergessen, einfach auf den Befehl klicken und F1 drücken. Links: Download (Win32) (6,59 MB) Download (Win32, ohne Beispielcodes) (16 KB) Sample-Download mit 7 Beispielcodes (Win32 EXE) (4,36 MB) Support-Forum Website |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
- Zuletzt bearbeitet von E. Urbach am Mi, Mai 09, 2012 15:06, insgesamt 5-mal bearbeitet
BtbN |
Do, Jul 13, 2006 21:36 Antworten mit Zitat |
|
---|---|---|
Sorry, würd ja gerne testen, aber ohne Source oder eine kompilierte Linux version geht das leider nicht. | ||
E. Urbachehemals "Basicprogger" |
Sa, Jul 15, 2006 8:52 Antworten mit Zitat |
|
---|---|---|
Ich hab ja extra dazugeschrieben, dass es nur für Win32 ist
Schau mal bitte bei deinen PNs vorbei. |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
E. Urbachehemals "Basicprogger" |
So, Jan 21, 2007 14:49 Antworten mit Zitat |
|
---|---|---|
Update 1.2.2
Hinzugefügt: Datei-basierte Effekte Hinzugefügt: TParticleTemplate Hinzugefügt: TParticleWind Hinzugefügt: UpdateParticleEngine Hinzugefügt: Dokumentation Optimiert: Geschwindigkeit Update 1.1.2 Hinzugefügt: TEmitterTween Hinzugefügt: UpdateEmitters Hinzugefügt: CreateParticleHermite Optimiert: Geschwindigkeit |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
Wild-Storm |
So, Feb 04, 2007 12:00 Antworten mit Zitat |
|
---|---|---|
Wäre es nicht möglich, dass du den Code einer Person deines Vertrauens, der auch ein anderes OS hat, zu geben und das Modul dann zu kompilieren?
Ich glaube kaum, dass hier Leute sind, die Interesse daran haben, den Code weiterzugeben! Da die Screens richtig geil aussehen wärs halt cool, das auch auf anderen Systemen zu haben Wenn du niemanden findest kann ichs dir auch schnell kompilieren (für Linux).. mfg |
||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
E. Urbachehemals "Basicprogger" |
Di, Mai 27, 2008 9:15 Antworten mit Zitat |
|
---|---|---|
Da ich Blitz Max schon seit einiger Zeit nicht mehr aktiv nutze und Open Source unterstützen möchte, gebe ich nun den Quellcode von meiner Partikelengine (Partikelsystem) frei:
Nutzungsbedingungen: Zitat: - Für kommerzielle und private Projekte frei nutzbar
- Es ist erlaubt, den Quellcode zu verändern und neu zu kompilieren, aber die Änderungen müssen im Blitz Basic Portal publiziert werden: https://www.blitzforum.de/foru...hp?t=18855 Wurde nur auf Windows getestet, sollte aber auch auf anderen Plattformen funktionieren. Der Quellcode ist alt und es gibt von meiner Seite keinen Support (wenn jemand Bugs entdeckt, werde ich die selbstverständlich fixen, wenn ich die Zeit dafür finde). Außerdem gibt es keine Keyframe-Interpolation. Wer diese benötigt, sollte sich ein anderes Modul suchen oder den Quellcode modifizieren und den neuen Quellcode hier vorstellen. Links: Nur Quellcodes + Sample-Codes (20,5 KB, ohne Grafiken, Sounds und vorkompilierten Binaries, nur Quellcodes) Das ganze Paket mit möglicherweise veralteten Binaries (7,07 MB, Quellcodes + vorkompilierte Samples + Screenshots + Grafiken + Sounds) |
||
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik |
Übersicht BlitzMax, BlitzMax NG Codearchiv & Module
Powered by phpBB © 2001 - 2006, phpBB Group