FlameThrower: Proposed Modification
Moderator: Moderators
Uh huh, I think that bubblization at the start is the only thing imperfect with it. I don't think any randomization is possible since that would interfere with the weapon's actual functioning and would be set by the mod... the idea with stretching the first few frames Z-wise would probably work good though.
First off, the "bubbling" really doesn't look that bad, and looks better if the starting particle size is a little bigger.
Second off, introducing a random "wobble"... erm... that'd be hard. I don't think I'm up for that yet, because it'd have to wobble, then be subject to random vectorization during the burst or firing event... kind've hard.
As for stretching along the vector... that would require that they were aligned along their vector in the first place. Which, aside from Lasers (BeamWeapons, BeamLasers) ... they aren't. I've had more than half a mind to look at the code that does that, and see if I can't port it over and use it for all of the Projectile types... it's not a terribly expensive thing to do, and it'd open up a lot more possibilities in terms of look and feel.
Second off, introducing a random "wobble"... erm... that'd be hard. I don't think I'm up for that yet, because it'd have to wobble, then be subject to random vectorization during the burst or firing event... kind've hard.
As for stretching along the vector... that would require that they were aligned along their vector in the first place. Which, aside from Lasers (BeamWeapons, BeamLasers) ... they aren't. I've had more than half a mind to look at the code that does that, and see if I can't port it over and use it for all of the Projectile types... it's not a terribly expensive thing to do, and it'd open up a lot more possibilities in terms of look and feel.
- TechnoTone
- Posts: 165
- Joined: 23 Aug 2005, 22:02
I think oriented particles would be sufficient for any stretching, you could just have your particles be elongated along the firing direction.
I don't think it'd work easily for missile trails, that's a lot of particles and having each missile emit that much would kill the framerate. You'd either have to reduce the rate or just paint a similar graphic on the texture loaded as the missile trail.
I don't think it'd work easily for missile trails, that's a lot of particles and having each missile emit that much would kill the framerate. You'd either have to reduce the rate or just paint a similar graphic on the texture loaded as the missile trail.
Yeah, here's some documentation. Basically, FlameThrowers can use the following variables:
Intensity: How much additive alpha is being applied. It's a float, values over 1 can be used (and might be useful in certain contexts).
RGBColor: The starting color value, RGB, in float3 configuration like all other color values in Spring, i.e.: "1 0 0" is pure Red.
RGBColor2: The ending color value.
Size: Starting size of the projectile, in Spring Units (a.k.a., "elmos").
SizeGrowth: The amount, in Spring Units, that the radius expands, per frame.
Texture1: Texture1 is a bitmap, which must be (for best results anyhow) a TGA, 32-bit, with an alpha channel!
That's pretty much it. Making it do specific things is up to the user combining these variables
Intensity: How much additive alpha is being applied. It's a float, values over 1 can be used (and might be useful in certain contexts).
RGBColor: The starting color value, RGB, in float3 configuration like all other color values in Spring, i.e.: "1 0 0" is pure Red.
RGBColor2: The ending color value.
Size: Starting size of the projectile, in Spring Units (a.k.a., "elmos").
SizeGrowth: The amount, in Spring Units, that the radius expands, per frame.
Texture1: Texture1 is a bitmap, which must be (for best results anyhow) a TGA, 32-bit, with an alpha channel!
That's pretty much it. Making it do specific things is up to the user combining these variables

I'm still discussing things with JC. The code revision he made to my source was shorter, but didn't work the same way mine does when compiled, and if he leaves it that way, it won't work like it does in the screenies
I'm sending him a revision that cuts down on some of the math steps, but includes my error-checking.

I'm sending him a revision that cuts down on some of the math steps, but includes my error-checking.