Page 1 of 1

Help with vapor/mist/steam effect

Posted: Sun Jan 06, 2008 7:47
by Rhino_66
I am converting a multi-level wad over to GZDoom that I had originally written to work with Doomsday (JDoom). I don't think I'll be using the Doomsday port any longer because of the flexibility offered by GZDoom and ZDoom.

I was able to modify the script code needed in JDoom to create the following mist effect from a teleporter effect written by another author.

Image

It's a nice rolling vapor effect, that works really well when coupled with a waterfall ambient sound. The particle generator effect is associated with the flat in JDoom. This means that the mist is generated over the entire surface, not just a spawn point.

Since I am new to the ACS scripting, I have been unable to duplicate the effect. I have been able to get the models and most of the other scripting to work based on the tutorials here and the ZDoom wiki.

Does anyone have a suggestion (i.e. ACS script or DECORATE) that will duplicate the pictured effect. I don't care whether it is a script, actor, or combination.

I have looked at the steam jet effect coding from Ultimate Torment & Torture, but it doesn't really work with my application of the effect. It may be that the steam jet is too rapid, or that it's generating from a narrow point.

Any advice (including coding, sprites, decorate entries) would be greatly appreciated.

Thanks.


.

Posted: Sun Jan 06, 2008 10:29
by KeksDose
Here is an example I just made... I was struggling with it a bit, but it should work :)

Download

In this example, you need a mapspot with a tag for each basin. You can take notes, or use a certain range to make recognizing 'em easier.

If this is a bit laggy for you, set down the 'SetFactor' value a bit :) Also, I've included a steam actor which doesn't spawn when it's not seen -- This reduces lag, like in TCOTD:A, where you can enjoy it without having about 1/2 framerate ;) This example is build for Heretic, but it can be ported easily.

What those scripts do is simply retrieve the coordinates of each spot which 'fix' chooses. Vapor* is then set to Fix, which means it won't retrieve from a wrong spawnspot and spawn everything somewhere else. Factor and SetFactor are just how many times they spawn.

Enjoy!

Posted: Sun Jan 06, 2008 18:56
by Rhino_66
Thank you VERY much, KeksDose!!! This is pretty much exactly what I needed.


Here is the effect in GZDoom 1.0.29 (need to update to 1.0.30 for testing...)

Image

I had to add an ALPHA line to the actor to tone down the additive effect. I first tried setting the renderstyle to translucent, but the box around the .png file is then displayed. By setting the alpha to 0.3, the brightness is toned down and the vapor doesn't rise as high.

Again, thank you!



.

Posted: Sun Jan 06, 2008 19:59
by Enjay
Rhino_66 wrote:I first tried setting the renderstyle to translucent, but the box around the .png file is then displayed.
You could avoid that problem by saving the PNG with genuinely transparent areas rather than using a black area.

Posted: Mon Jan 07, 2008 13:33
by KeksDose
Correct, and as an addition, you could delete the renderstyle line and tone down the alpha value a bit... so it looks nice and hazy :)