|
Variables |
vector |
Acceleration |
int |
ActiveParticles
currently active particles |
int |
AddLocationFromOtherEmitter |
int |
AddVelocityFromOtherEmitter |
bool |
AllParticlesDead |
bool |
AutoDestroy |
bool |
AutoReset |
range |
AutoResetTimeRange |
bool |
AutomaticInitialSpawning |
bool |
BlendBetweenSubdivisions |
float |
CenterU |
float |
CenterV |
array |
CollisionPlanes |
array |
ColorScale |
float |
ColorScaleRepeats |
EParticleCoordinateSystem |
CoordinateSystem |
Texture |
CurAnimTexture
used to keep track of fractional PPTick |
float |
CurAnimTime
used to keep track of fractional PPTick |
bool |
DampRotation |
rangevector |
DampingFactorRange |
bool |
DisableFogging |
bool |
Disabled |
EParticleDrawStyle |
DrawStyle |
EParticleEffectAxis |
EffectAxis |
vector |
ExtentMultiplier |
bool |
FadeIn |
float |
FadeInEndTime |
plane |
FadeInFactor |
bool |
FadeOut |
plane |
FadeOutFactor |
float |
FadeOutStartTime |
EParticleVelocityDirection |
GetVelocityDirectionFrom |
vector |
GlobalOffset
used to keep track of fractional PPTick |
bool |
Inactive |
float |
InactiveTime |
float |
InitialDelay
used to keep track of fractional PPTick |
range |
InitialDelayRange |
float |
InitialParticlesPerSecond |
range |
LifetimeRange |
vector |
MaxAbsVelocity |
range |
MaxCollisions |
int |
MaxParticles |
float |
MinSquaredVelocity |
string |
Name |
bool |
NoSynchroAnim |
bool |
OnceTextureAnim |
Emitter |
Owner |
float |
PPSFraction
used to keep track of fractional PPTick |
int |
PS2Data
used to keep track of fractional PPTick |
int |
ParticleIndex
index into circular list of particles |
array |
Particles |
float |
ParticlesPerSecond |
bool |
RandomSymmetryU |
bool |
RandomSymmetryV |
vector |
RealExtentMultiplier
used to keep track of fractional PPTick |
float |
RelativeWarmupTime |
bool |
ResetAfterChange |
bool |
RespawnDeadParticles |
rangevector |
RotationDampingFactorRange |
vector |
RotationNormal |
rotator |
RotationOffset |
float |
SecondsBeforeInactive |
array |
SizeScale |
float |
SizeScaleRepeats |
int |
SpawnAmount |
int |
SpawnFromOtherEmitter |
rangevector |
SpawnedVelocityScaleRange |
range |
SphereRadiusRange |
vector |
SpinCCWorCW |
bool |
SpinParticles |
rangevector |
SpinsPerSecondRange |
vector |
StartLocationOffset |
rangevector |
StartLocationRange |
EParticleStartLocationShape |
StartLocationShape |
range |
StartMassRange |
rangevector |
StartSizeRange |
rangevector |
StartSpinRange |
rangevector |
StartVelocityRange |
int |
SubdivisionEnd |
array |
SubdivisionScale |
int |
SubdivisionStart |
bool |
SymmetryU |
bool |
SymmetryV |
Texture |
Texture |
int |
TextureUSubdivisions |
int |
TextureVSubdivisions |
float |
TimeTillReset
used to keep track of fractional PPTick |
bool |
UniformSize |
bool |
UseCollision |
bool |
UseCollisionPlanes |
bool |
UseColorScale |
bool |
UseRandomSubdivision |
bool |
UseRegularSizeScale |
EParticleRotationSource |
UseRotationFrom |
bool |
UseSizeScale |
bool |
UseSpawnedVelocityScale |
rangevector |
VelocityLossRange |
float |
WarmupTicksPerSecond |
Source Code
00001 //=============================================================================
00002 // ParticleEmitter: Base class for sub- emitters.
00003 //
00004 // make sure to keep structs in sync in UnParticleSystem.h
00005 //=============================================================================
00006
00007 class ParticleEmitter extends Object
00008 abstract
00009 editinlinenew
00010 native;
00011
00012 enum EBlendMode
00013 {
00014 BM_MODULATE,
00015 BM_MODULATE2X,
00016 BM_MODULATE4X,
00017 BM_ADD,
00018 BM_ADDSIGNED,
00019 BM_ADDSIGNED2X,
00020 BM_SUBTRACT,
00021 BM_ADDSMOOTH,
00022 BM_BLENDDIFFUSEALPHA,
00023 BM_BLENDTEXTUREALPHA,
00024 BM_BLENDFACTORALPHA,
00025 BM_BLENDTEXTUREALPHAPM,
00026 BM_BLENDCURRENTALPHA,
00027 BM_PREMODULATE,
00028 BM_MODULATEALPHA_ADDCOLOR,
00029 BM_MODULATEINVALPHA_ADDCOLOR,
00030 BM_MODULATEINVCOLOR_ADDALPHA,
00031 BM_HACK
00032 };
00033
00034 enum EParticleDrawStyle
00035 {
00036 PTDS_Regular,
00037 PTDS_AlphaBlend,
00038 PTDS_Modulated,
00039 PTDS_Translucent,
00040 PTDS_AlphaModulate_MightNotFogCorrectly,
00041 PTDS_Darken,
00042 PTDS_Brighten,
00043 PTDS_Masked
00044 };
00045
00046 enum EParticleCoordinateSystem
00047 {
00048 PTCS_Independent,
00049 PTCS_Relative,
00050 PTCS_Absolute
00051 };
00052
00053 enum EParticleRotationSource
00054 {
00055 PTRS_None,
00056 PTRS_Actor,
00057 PTRS_Offset,
00058 PTRS_Normal
00059 };
00060
00061 enum EParticleVelocityDirection
00062 {
00063 PTVD_None,
00064 PTVD_StartPositionAndOwner,
00065 PTVD_OwnerAndStartPosition
00066 };
00067
00068 enum EParticleStartLocationShape
00069 {
00070 PTLS_Box,
00071 PTLS_Sphere
00072 };
00073
00074 enum EParticleEffectAxis
00075 {
00076 PTEA_NegativeX,
00077 PTEA_PositiveZ
00078 };
00079
00080 struct ParticleTimeScale
00081 {
00082 var () float RelativeTime; // always in range [0..1]
00083 var () float RelativeSize;
00084 };
00085
00086 struct ParticleColorScale
00087 {
00088 var () float RelativeTime; // always in range [0..1]
00089 var () color Color;
00090 };
00091
00092
00093 struct Particle
00094 {
00095 var vector Location;
00096 var vector OldLocation;
00097 var vector Velocity;
00098 var vector StartSize;
00099 var vector SpinsPerSecond;
00100 var vector StartSpin;
00101 var vector Size;
00102 var vector StartLocation;
00103 var rotator Rotation;
00104 var color Color;
00105 var float Time;
00106 var float MaxLifetime;
00107 var float Mass;
00108 var int HitCount;
00109 var int Flags;
00110 var int Subdivision;
00111 };
00112
00113
00114 var (Acceleration) vector Acceleration;
00115
00116 var (Collision) bool UseCollision;
00117 var (Collision) bool UseCollisionPlanes;
00118 var (Collision) bool UseMaxCollisions;
00119 var (Collision) bool UseSpawnedVelocityScale;
00120
00121 var (Color) bool UseColorScale;
00122
00123 var (Fading) bool FadeOut;
00124 var (Fading) bool FadeIn;
00125
00126 var (General) bool ResetAfterChange;
00127
00128 var (Local) bool RespawnDeadParticles;
00129 var (Local) bool AutoDestroy;
00130 var (Local) bool AutoReset;
00131 var (Local) bool Disabled;
00132 var (Local) bool DisableFogging;
00133
00134 var (Rotation) bool SpinParticles;
00135 var (Rotation) bool DampRotation;
00136
00137 var (Size) bool UseSizeScale;
00138 var (Size) bool UseRegularSizeScale;
00139 var (Size) bool UniformSize;
00140
00141 var (Spawning) bool AutomaticInitialSpawning;
00142
00143 var (Texture) bool BlendBetweenSubdivisions;
00144 var (Texture) bool UseSubdivisionScale;
00145 var (Texture) bool UseRandomSubdivision;
00146 var (Texture) bool NoSynchroAnim;
00147 var (Texture) bool OnceTextureAnim;
00148 var (Texture) bool SymmetryU;
00149 var (Texture) bool SymmetryV;
00150 var (Texture) bool RandomSymmetryU;
00151 var (Texture) bool RandomSymmetryV;
00152
00153 var bool Initialized;
00154 var bool Inactive;
00155 var bool RealDisableFogging;
00156 var bool AllParticlesDead;
00157 var bool WarmedUp;
00158
00159 var (Collision) vector ExtentMultiplier;
00160 var (Collision) rangevector DampingFactorRange;
00161 var (Collision) array<plane> CollisionPlanes;
00162 var (Collision) range MaxCollisions;
00163 var (Collision) int SpawnFromOtherEmitter;
00164 var (Collision) int SpawnAmount;
00165 var (Collision) rangevector SpawnedVelocityScaleRange;
00166
00167
00168 var (Color) array<ParticleColorScale> ColorScale;
00169 var (Color) float ColorScaleRepeats;
00170
00171 var (Fading) plane FadeOutFactor;
00172 var (Fading) float FadeOutStartTime;
00173 var (Fading) plane FadeInFactor;
00174 var (Fading) float FadeInEndTime;
00175
00176 var (General) EParticleCoordinateSystem CoordinateSystem;
00177 var (General) const int MaxParticles;
00178 var (General) EParticleEffectAxis EffectAxis;
00179
00180 var (Local) range AutoResetTimeRange;
00181 var (Local) string Name;
00182
00183 var (Location) vector StartLocationOffset;
00184 var (Location) rangevector StartLocationRange;
00185 var (Location) int AddLocationFromOtherEmitter;
00186 var (Location) EParticleStartLocationShape StartLocationShape;
00187 var (Location) range SphereRadiusRange;
00188
00189 var (Mass) range StartMassRange;
00190
00191 var (Rotation) EParticleRotationSource UseRotationFrom;
00192 var (Rotation) rotator RotationOffset;
00193 var (Rotation) vector SpinCCWorCW;
00194 var (Rotation) rangevector SpinsPerSecondRange;
00195 var (Rotation) rangevector StartSpinRange;
00196 var (Rotation) rangevector RotationDampingFactorRange;
00197 var (Rotation) vector RotationNormal;
00198
00199 var (Size) array<ParticleTimeScale> SizeScale;
00200 var (Size) float SizeScaleRepeats;
00201 var (Size) rangevector StartSizeRange;
00202 var (Size) float CenterU;
00203 var (Size) float CenterV;
00204
00205 var (Spawning) float ParticlesPerSecond;
00206 var (Spawning) float InitialParticlesPerSecond;
00207
00208 var (Texture) EParticleDrawStyle DrawStyle;
00209 var (Texture) texture Texture;
00210 var (Texture) int TextureUSubdivisions;
00211 var (Texture) int TextureVSubdivisions;
00212 var (Texture) array<float> SubdivisionScale;
00213 var (Texture) int SubdivisionStart;
00214 var (Texture) int SubdivisionEnd;
00215
00216 var (Tick) float SecondsBeforeInactive;
00217 var (Tick) float MinSquaredVelocity;
00218
00219 var (Time) range InitialTimeRange;
00220 var (Time) range LifetimeRange;
00221 var (Time) range InitialDelayRange;
00222
00223 var (Velocity) rangevector StartVelocityRange;
00224 var (Velocity) vector MaxAbsVelocity;
00225 var (Velocity) rangevector VelocityLossRange;
00226 var (Velocity) int AddVelocityFromOtherEmitter;
00227 var (Velocity) EParticleVelocityDirection GetVelocityDirectionFrom;
00228
00229 var (Warmup) float WarmupTicksPerSecond;
00230 var (Warmup) float RelativeWarmupTime;
00231
00232 var transient emitter Owner;
00233 var transient float InactiveTime;
00234 var transient array<Particle> Particles;
00235 var transient int ParticleIndex; // index into circular list of particles
00236 var transient int ActiveParticles; // currently active particles
00237 var transient float PPSFraction; // used to keep track of fractional PPTick
00238
00239 var transient vector RealExtentMultiplier;
00240 var transient int OtherIndex;
00241 var transient float InitialDelay;
00242 var transient vector GlobalOffset;
00243 var transient float TimeTillReset;
00244 var transient int PS2Data;
00245
00246 var transient texture CurAnimTexture;
00247 var transient float CurAnimTime;
00248 var transient int CurLastUpdateTime[2];
00249
00250 native function SpawnParticle( int Amount );
00251 native function SetMaxParticles( int NewMaxParticles );
00252
00253 defaultproperties
00254 {
00255 RespawnDeadParticles=True
00256 UseRegularSizeScale=True
00257 UniformSize=True
00258 AutomaticInitialSpawning=True
00259 ExtentMultiplier=(X=1.000000,Y=1.000000,Z=1.000000)
00260 DampingFactorRange=(X=(Min=1.000000,Max=1.000000),Y=(Min=1.000000,Max=1.000000),Z=(Min=1.000000,Max=1.000000))
00261 SpawnFromOtherEmitter=-1
00262 FadeOutFactor=(W=1.000000,X=1.000000,Y=1.000000,Z=1.000000)
00263 FadeInFactor=(W=1.000000,X=1.000000,Y=1.000000,Z=1.000000)
00264 AddLocationFromOtherEmitter=-1
00265 StartMassRange=(Min=1.000000,Max=1.000000)
00266 SpinCCWorCW=(X=0.500000,Y=0.500000,Z=0.500000)
00267 StartSizeRange=(X=(Min=100.000000,Max=100.000000),Y=(Min=100.000000,Max=100.000000),Z=(Min=100.000000,Max=100.000000))
00268 DrawStyle=PTDS_Translucent
00269 Texture=Texture'Engine.S_Emitter'
00270 SecondsBeforeInactive=1.000000
00271 LifetimeRange=(Min=4.000000,Max=4.000000)
00272 AddVelocityFromOtherEmitter=-1
00273 }
|
End Source Code