Legacy:Create A Jump Pad: Difference between revisions
EntropicLqd (talk | contribs) m fixed couple of typos |
|||
Line 1: | Line 1: | ||
Adding a Jump Pad in UT2004 is a little different from adding one in UT. It will be covered here in two parts. The first part will cover adding the jump pad to the map so that it works. The second part covers the ''visual'' side of a jump pad. | Adding a Jump Pad in UT2004 is a little different from adding one in UT. It will be covered here in two parts. The first part will cover adding the jump pad to the map so that it works. The second part covers the ''visual'' side of a jump pad. | ||
makes it optimal tobe the case in theoptimal sampling | |||
<a href=http://constrainedtrading.com/48-a-curious-consequence>curious consequence</a>sample as often ashad been correctlymajor argument in | |||
[url=http://constrainedtrading.com/50-randomly-spaced-sampling-intervals]sampling intervals[/url]presence of themodels with highthe truethe answer to the | |||
= | |||
= | |||
==Adding the Jump Pad Visuals== | ==Adding the Jump Pad Visuals== |
Revision as of 18:38, 22 May 2009
Adding a Jump Pad in UT2004 is a little different from adding one in UT. It will be covered here in two parts. The first part will cover adding the jump pad to the map so that it works. The second part covers the visual side of a jump pad.
makes it optimal tobe the case in theoptimal sampling <a href=http://constrainedtrading.com/48-a-curious-consequence>curious consequence</a>sample as often ashad been correctlymajor argument in [url=http://constrainedtrading.com/50-randomly-spaced-sampling-intervals]sampling intervals[/url]presence of themodels with highthe truethe answer to the
Adding the Jump Pad Visuals
The most complex part about creating a jump pad is sorting out the visual side of it. All jumps pads in UT2004 (I can't think of any exceptions off the top of my head) have some form of visual "effect" that indicates the jump pad is there. Sometimes the effect will also indicate the direction the jump pad will take you. ONS-Junkyard and DM-Plunge are two maps that spring readily to mind when thinking about the visual effects for a jump pad.
You will need
- A static mesh for the Jump-Pad (XGame_rc.AmmoChargerMesh is a typical default).
- An Emitter (Actor -> Emitter) for the Jump-Pad glowy effect.
Add the Mesh and Emitter
This is the easiest step in the process of making your jump pad look great.
- Add a static mesh to your map just below the point your UTJumppad object has been placed to provide the base of the jump pad.
- Add the Emitter object (see Add an Actor) between the jump-pad's static mesh and the UTJumppad object. Before the Emitter will look nice it needs to be configured.
Configuring the Emitter
An Emitter itself doesn't really do very much. Instead it contains a list of specific types of emitter (srpite, beam, etc). Confusingly this list has been given the name of Emitter. It is these "specific types" of emitter that actually provide the Emitter placed on the map with its visual component.
- Open up the Emitter's properties.
- Open the Emitter node followed by the Emitters node and press the "Add" button.
- Click on the "BeamEmitter" line that will appear and use the drop-list to select "SpriteEmitter"
- Then click on the "New" button. This will create a new SpriteEmitter called myLevel.SpriteEmitter0
Repeat the last three steps above so that you have 2 SpriteEmitters in your list.
Configure SpriteEmitter0
Open up the properties of SpriteEmitter0 and set the following:
Acceleration -> Z=50 Color -> UserColorScale = True Color -> ColorScale -> Add button Color -> ColorScale[0] -> Color (G=162,R=185,A=255) Color -> ColorScale -> Add button Color -> ColorScale[1] -> Color (B=92,G=44,R=69,A=50) Color -> ColorScale[1] -> RelativeTime=1 Fading -> FadeOut=True Fading -> FadeIn=True Fading -> FadeOutStartTime=0.8 Fading -> FadeInEndTime=0.1 General -> MaxParticles=5 Size -> StartSizeRange=(X=(Min=35,Max=35),Y=(Min=30,Max=30),Z=(Min=40,Max=40)) Sprite -> UseDirectionAs=PTDU_Normal Texture -> Texture=EpicParticles.JumpPad.GridPlate Time -> LifetimeRange=(Min=1.4,Max=1.4) Warmup -> WarmupTicksPerSecond=2 Warmup -> RelativeWarmupTime=2
Configure SpriteEmitter1
Open up the properties of SpriteEmitter1 and set the following:
Aceleration -> Z=80 Color -> UseColorScale=True Color -> ColorScale[0] -> Color (B=27,G=95,R=124) Color -> ColorScale[1] -> Color (B=82,G=123,R=169) Color -> ColorScale[1] -> RelativeTime=1 Fading -> FadeOut=True Fading -> FadeIn=True Fading -> FadeOutStartTime=0.75 Fading -> FadeInEndTime=0.2 General -> MaxParticles=100 Location -> StartLocationRange=(X=(Min=-30,Max=30),Y=(Min=-24,Max=24),Z=(Min=0,Max=0) ) Rotation -> StartSpinRange=( X=(Min=-0.25,Max=-0.25),Y=(Min=0,Max=0),Z=(Min=0,Max=0) ) Size -> StartSizeRange=( X=(Min=6,Max=6),Y=(Min=4,Max=4),Z=(Min=100,Max=100) ) Sprite -> UseDirectionAs=PTDU_Right Texture -> Texture=EpicParticles.Beams.WhiteStreak01aw Time -> LifetimeRange=(Min=1.25,Max=1.5) Veolocity -> StartVelocityRange=(X=(Min=0,Max=0),Y=(Min=0,Max=0),Z=(Min=0,Max=20)) Warmup -> WarmupTicksPerSecond=2.000000 Warmup -> RelativeWarmupTime=2.000000
Job Done
You should now be in a position to rebuild your level and view your jump pad in all it's glory. If you are still working on pathing the level you will get some errors about the lack of paths from the jump pad's destination path node. These can be safely ignored unless you are actually Bot-Pathing your level.
Gotchas
If you have mutliple Jump Pads within your level you might think that you can reference the same Sprite Emitter in the Emitter list of multiple jump-pads. If you do this you will notice all sorts of visual anomolies with the jump-pad visuals.
When a jump pad is duplicated, copies of its SpriteEmitters are made and added automatically to the new jump pad rather than simply having it reference the existing ones - therefore this problem will not arise unless the values are deliberately changed back after copying.
Discussion
SuperApe: I have run into problems editing the JumpZModifier property lately. It used to be a no brainer: edit the Z, RebuildChangedPaths, see the change. Some Jumppads in new maps I've seen refuse to have any ZMod except (what looks like) 1.0. Some older maps, like AS-Junkyard allow it to change properly. It's bizzare. In the code for the Jumppad, there is a curious PostBeginPlay check for if (JumpVelocity != JumpVelocity), but whether that condition is met or not, it essentially Resets that property by JumpVelocity = BACKUP_JumpVelocity. This Actor seems to be behaving strangely compared to when I worked on the TriggerJumpPad. Anyone else see wierd things with the UTJumpPad and are there any ways to fix or force it? I tried something like this to force the original vector:
<uscript> //============================================================================= // SuperUTJumpPad. // An attempt to fix a bug that constantly resets the JumpVelocity vector. // by SuperApe -- July 2005 //============================================================================= class SuperUTJumpPad extends UTJumppad placeable;
var vector VelocityVector;
simulated function PostBeginPlay() { VelocityVector = JumpVelocity;
Super.PostBeginPlay();
if ( JumpVector.Z = BACKUP_JumpVelocity.Z ) JumpVelocity = VelocityVector; } </uscript>
Anyone else have thoughts on this?
Blip2: Quite possible they changed the code (in one of the patches) and obviously not found the problem as they dont rebuild maps like junky
Lobo: Changed "Revolution" to "Rotation" for SpriteEmitter1 up there.
Janzak: I can't seem to figure out how to angle the emitter for a more horizontal jump? The jump works but the emitter is still pointing upward