Hints, tips and tutorials for 3D modelling & content creation
|
KatsBits
Creating 3D models, meshes &
game content
3D modelling & meshing, level editing and textures makingHints, tips and tutorials for 3D modelling & content creation [back]Steam jet effect for RtCWNext, using more than one Steam effect >> Contents
Using "target_smoke" to create 'steam' ^Although there are a couple of entities we could use to create this
effect they don't quite do what we want in this case; a plain old
jet of steam, each entity having it's own particular properties giving
different results ingame. The best one to use for this effect is the
target_smoke enitity as it's settings can be changed quite
easily to get different results ![]() Entity inspector setup for steam effects Brushwork set up ^The most straight forward way of creating a jet of steam is to place a couple of entities around some brushwork and have the effect 'active' (starts in the 'on' state) when the game loads. It also means there are no fancy entity connections / trigger calls which keeps things nice and simple (also in thoery means the effect works in both SP & MP). In the image below some pipes have been placed into position, note the pipe support just before the bend, in this case the pipes have been made from both brushes and patchmesh cylinders. It's important to note that any brushwork in something like this is 'detail' flagged (patchmeshes are 'detail' flagged by default) [select a brush > right-click > make detail], if it isn't the entity will get corrupted and the effect won't work (this is becasue the brush will cut into the entity). ![]() Example brushwork Entity set up ^The image below shows the entity setup for the jet of steam. A target_speaker, target_smoke and an info_notnull.
A couple of things to remember;
![]() Entity placement relative to brushwork Steam effect in game ^The entity set up described above (an in the sample *.map file) produces a very 'slow' steam jet, just one or two puffs of smoke per second. You can see the angle the smoke follows is similar to the one described by the entity setup (shown above) incidentally the steam looks a bit funny because we've managed to capture a single 'frame' which tends to isolate the individual 'sprites' the consititute the smoke itself..! ![]() Effect in game Using "trigger_hurt" to 'burn' player ^A nifty trick; place a trigger_hurt brush covering the approximate area of the steam jet and it creates a 'hotspot'; players get hurt by the hot jet of steam. Trigger setup for this - check 'silent' (de-activates the frying sound) and 'slow' (means hurt value is per second not per server frame which makes it happen faster) and give the trigger a low 'dmg' (damage) value. ![]() Trigger hurt placement General notes ^This 1st method is the least problematic, for some reason the entity starts to get a little bit tempremental when you alter it's start state (it's trigger 'alerted' rather than 'on' all the time) which is compounded the more you try to do or entities you try to use. For more complex useage it's best to script an event like this rather than have it active physically in a map. The key to this setup is the 'delay' flag on the target_smoke as this effects how much smoke is actually emitted; the lower the number (the default value is 100) the shorter the spawntime on each of the little sprites used to physically make the smoke clouds, so setting it at 20 gives you a pretty dense jet, 500 on the other hand gives a very 'thin' one with few clouds (see the example map for this). Keep in mind as well the distance between the target_smoke entity and the info_notnull will also greatly effect the speed of the ejecting smoke, it'll start to thin out the greater the distance. As well as brushes corrupting the target_smoke other entities can do this as well so watch the placement of other items around it. |