Originalpost von Zapper im OC-Blog
Die letzten Wochen war ich mit dem neuen Partikelsystem für OC beschäftigt. Der sichtbare Unterschied ist, dass es sehr viel performanter ist!* Aber auch für die Entwickler gibt es spannende Neuerungen: Es ist jetzt einfacher das Verhalten der Partikel zu definieren. Ich bin schon gespannt was für Effekte daraus entstehen werden!
Der folgende Part ist eher für die Entwickler relevant, da ich jetzt auf technische Details eingehe :-)
Die alte Particle.txt ist nun obsulet. Naja, fast – Name und Facet (um die Partikelgrafik zu definieren) bleiben noch erhalten. Die anderen Einstellungen werden nun über Script genauer gesagt über proplists gesteuert. Hier ein Beispiel, wie einne proplist aussieht:
var particles = { Size = PV_KeyFrames(0, 0, 0, 100, 1, 750, 1, 1000, 6), Alpha = PV_KeyFrames(0, 0, 255, 750, 255, 1000, 0), DampingX = 700, DampingY = 700, ForceY = PV_KeyFrames(0, 0, 0, 750, 0, 900, -10 * GetGravity()), R = 255, G = 255, B = PV_Linear(255, 0), Rotation = PV_Direction(), BlitMode = GFX_BLIT_Additive, Phase = PV_Step(1, 0, 2), Stretch = PV_Speed(2 * 1000, 1000), CollisionVertex = 750, OnCollision = PC_Bounce() };
for (var i = 0; i < 500; ++i) { var angle = Random(360); var speed = RandomX(5, 40); CreateParticleEx("Fire", 0, 0, Sin(angle, speed), -Cos(angle, speed), RandomX(5, 1 * 36), particles, nil);
}
Dir ist vielleicht aufgefallen, dass man jetzt eine Menge der Einstellungen eines Partikels animieren kann, beispielsweiße die Größe und die Farbe und sogar die Physik-Einstellung um Dämpfung, Gravitation und Wind zu simulieren. Mehr Infos dazu gibt es in der Partikel-Dokumentation bzw. in CreateParticleEx. Das alte Partikelsystem ist nach wie vor vorhanden, aber ich empfehle auf das neue umzusteigen!
* Das neue Partikelsystem rendert alle Partikel desselben Typs mit einem einzigen Draw Call, was weniger Arbeit für die GPU und somit weniger zu dem bekannten ruckeln führen sollte. Zusätzlich wird die Partikel-Physik in einem parallelen Thread zum normalen Spiel simuliert, was ebenfalls die Performanz verbessern sollte.
Eine Antwort auf „OpenClonk: Neues Partikelsystem“
Wow, wird besonders für neue Zauber interessant!
Speziell die erste Animation hat mich sofort an Zauber denken lassen :D