RVolume
From RoboBlitz Editor Wiki
RVolumes are the RoboBlitz version of normal unreal Volumes. A RTriggerVolume inherits from RVolume and is the equivelent to Unreal Trigger Volumes.
Important Note: RoboBlitz was designed to use RVolumes and RTriggerVolumes instead of Volumes and Trigger Volumes. Volumes which were used in the development RoboBlitz include Blocking volumes, RShowHideTriggerVolume, RTriggerVolume, and RVolumes. RDestructibles are not effected or detected by normal volumes. (Although it would be ok to use a normal Volume if you only want it to affect Static Meshes).
Lets setup an Ambush to try them both out
Contents |
The Ambush
You can grab the two room subtractive BSP map I made for this tutorial here: RBArenaAmbush It doesn't contain any of the interesting parts of this tutorial though, it's just something to get you started.
Lets put the ambush at the end of this spooky tunnel:
Causing the Ambush with an RTriggerVolume
The first step is placing an RTriggerVolume that will give us an RTouch event when Blitz enters the volume. Since this is a subtractive map, I just non-uniform scaled the brush I used to carve out the room that the ambush is going in. If you right click on the corner of the brush you can scale the brush around that corner (which means that corner won't move). Grab the bottom of the brush and scale it vertically and you should get a brush that fits exactly in the bottom of the room. It's important to note that only rectangular brushes should be used to create RVolumes and RTriggerVolumes (squares are fine).
Now Right-click on the brush and choose Add Volume->RTriggerVolume. You can move the brush away and see your new RTriggerVolume in the room. Select the RTriggerVolume and right click in the Kismet window and choose New Event Using RTriggerVolume_0. Now right click and select New Condition->Roboblitz->Is Player Part. Connect the Touched tab of the RTouch event to the In tab of Is Player Part. Connect the event's Instigator and Is Player Part's Bot tab to a new object variable.
Now when Blitz drives into the RTriggerVolume impulse should flow out of the Is Player tab. Setup a few RBaddieSpawnPads around the Ambush room. (Until the RBaddieSpawnPad page is filled in, check the Archetypes page and make appropriate changes).
Make sure to add plenty of MISC_PostDefaultLoad.Factory.RollingTurretFactoryArch' (AKA Phompii) and a few MISC_PostDefaultLoad.Factory.HoverJetFactoryArch (AKA Fancakes) to the spawnpads BFArchetypes so the ambush is really scary. ;)
Next select all the SpawnPads by right clicking on a SpawnPad and selecting Select All RBArenaSpawnPad. Edit their properties (either right click and select properties or just hit F4) and uncheck bSpawnOnLevelStart so the spawnpads don't start spawning baddies as soon as the map starts.
While the SpawnPads are still selected go to Kismet and add a Toggle element. You could also right click in the Kismet window and add all the object variables at once, but then you'd still have to link them all to the Toggle element. You could right click on the Target tab and select "New Object Vars Using RBArenaBaddieSpawnPad,...", which would create and link one object variable for each BaddieSpawnPad you had selected, then you wouldn't have to make links to each spawn pad by hand. But there's an even easier way to hook up these spawn pads! Right click and select New Variable->Object->Object List. Right click on the new Object List variable and select Insert Selected Actors Into Object List. This one variable now represents all the BaddieSpawnPads!
Hook the Is Player Part's Is Player tab to the Turn On tab of the Toggle element.
Blitz is dead for sure. He's trapped in a pit with enough Phompii to make any computer lag like frozen sloth covered in molases.
Helping Blitz Escape With A Gravity RVolume
Lets give Blitz a chance by placing some gravity volumes that will allow him to drive out of the pit.
Resize your brush that goes up the back wall of the room like this:
Now right click on the brush and select Add Volume->RVolume. Select the volume and edit it's properties. In the Gravity section check "bAffectGravity" to make this RVolume into a gravity volume. To determine which direction the gravity in the volume pushes blitz edit the gravity field strength. A quick way to tell which direction your volume is facing is to check the handles (the colored arrows on an object when it's selected). The red arrow is the X axis, the green arrow is the Y axis and the blue arrow is the Z axis. Lets make our gravity volume go in the opposite direction of the green arrow, so we'll make a negative Y value. Since the normal gravity is -1400 in the Z direction, we'll set Y to -1400 so it feels familiar.
Now make a similiar gravity volume along the roof and set it's gravity to 1400 in the Z so Blitz will stick to the ceiling. Make sure that the cieling volume is above the end of the wall volume so blitz will "fall" towards the ceiling when he gets high enough, otherwise he'd just stay stuck on the wall. If you space it just right Blitz should be able to jump back "up" into the wall volume and drive back down the wall. Also remember to size the volume so there aren't any gaps, otherwise Blitz might fall out of it.
Make sure the end nearest the door doesn't completely touch the wall, since we want Blitz to fall out of the volume and into the doorway (assuming the player can maneuver Blitz well enough to pull that off).
You might also want to add some particle emiters so the player knows where to drive.
Turning Gravity Volumes On and Off
Gravity RVolumes can be toggled in Kismet with the Toggle action just like lights. If you'd like a volume to be inactive when the level begins uncheck bApplyPhyscs in the PhysicsVolume section.





