Help with vapor/mist/steam effect

Advanced OpenGL source port fork from ZDoom, picking up where ZDoomGL left off.
[Home] [Download] [Git builds (Win)] [Git builds (Mac)] [Wiki] [Repo] [Bugs&Suggestions]

Moderator: Graf Zahl

Locked
Rhino_66
Posts: 6
Joined: Sat Oct 13, 2007 13:35

Help with vapor/mist/steam effect

Post 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.


.
User avatar
KeksDose
Stronghold Team
Posts: 319
Joined: Thu Apr 12, 2007 21:35
Location: Germany

Post 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!
Rhino_66
Posts: 6
Joined: Sat Oct 13, 2007 13:35

Post 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!



.
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Post 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.
User avatar
KeksDose
Stronghold Team
Posts: 319
Joined: Thu Apr 12, 2007 21:35
Location: Germany

Post 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 :)
Locked

Return to “GZDoom”