Legacy:TrailEmitter - Unreal Wiki

# Legacy:TrailEmitter

### From Unreal Wiki, The Unreal Engine Documentation Site

UT2004 :: Object >> ParticleEmitter >> TrailEmitter

## Description

### General

A Trail emitter is used when creating some sort of effect that 'follows' a specific object as it moves. The way the effect is accomplished is by taking the desired texture and stretching it to the desired length and then following the projectile at that given length untill the projectile is no longer flying.

Additional effects are applied to the texture, ColorScale and SizeScale (see ParticleEmitter) are two you'll likely want to play with first.

The behaviour of TrailEmitters in UT2003 and earlier builds behaves differently, however. Instead of trailing behind the Emitter, the trails are more like a thrown ball of toilet paper - the individual particle moves, and a trail follows IT - this means that the movement of the thing to be trailed has to be defined when the particle is created. The rest of the text on this page refers to TrailEmitters in UT2004 and later builds.

### Particle Life

This is affected by a number of things. It would be best to think of each unit worth of trail to cost x points in the total trail length. Therefore when MaxPointsPerTrail is exceeded by x*(somedistance) the first point get's removed to make room for new points.

Providing this does not come into play we have to deal with PointLifeTime and it's very similar cousin LifetimeRange. Both specify a specific amount of time that pieces of the trail exist. Therefore, the smaller value between these two variables is going to be the one that defines the life of your trail points.

## Properties

var ETrailShadeType TrailShadeType

    enum ETrailShadeType
    {
            PTTST_None,                             // Full particle color
            PTTST_RandomStatic,             // particle color * random opacity set once
            PTTST_RandomDynamic,    // particle color * random opacity, updated every tick
            PTTST_Linear,                   // smooth linear fade out (begining = 100%, end = 0%)
            PTTST_PointLife                 // linear fade relative to point's life
    };

var ETrailLocation TrailLocation

    enum ETrailLocation
    {
            PTTL_AttachedToParticle,        // Attached to Particle
            PTTL_FollowEmitter                      // Attached to Particle, with added emitter's velocity
    };

var int MaxPointsPerTrail
  This defines the 'complexity' of the emitter, the lower the value is, the smaller the MAXIMUM distance is from the projectile to the end of the trail.
var float DistanceThreshold
  The maximum length of any given segment of the trail. If you set it to zero, the engine will hang.
var it MaxTrailTwistAngle
var float PointLifeTime
  This controls the amount of time *in seconds?* that pieces of the trail will stay visible. This is not an ultimate definition of the life of pieces of the trail, however.
var bool UseCrossedSheets
  Although this is a guess, it looks like this applies the texture 2 times, one at a *rotation* 90 degrees from that of the first. This both makes the trail look a little more complex but increases overall trail brightness as well.
var transient array<ParticleTrailData> TrailData
var transient array<ParticleTrailInfo> TrailInfo
var transient vertexbuffer VertexBuffer
var transient indexbuffer IndexBuffer
var transient int VerticesPerParticle
var transient int IndicesPerParticle
var transient int PrimitivesPerParticle

##### Views

- Legacy
- Discussion
- Current revision

##### Search