Overview | Package | Class | Source | Class tree | Glossary | UnrealScript Documentation |
previous class next class | frames no frames |
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041 00042 00043 00044 00045 00046 00047 00048 00049 00050 00051 00052 00053 00054 00055 00056 00057 00058 00059 00060 00061 00062 00063 00064 00065 00066 00067 00068 00069 00070 00071 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 00108 00109 00110 00111 00112 00113 00114 00115 00116 00117 00118 00119 00120 00121 00122 00123 00124 00125 00126 00127 00128 00129 00130 00131 00132 00133 00134 00135 00136 00137 00138 00139 00140 00141 00142 00143 00144 00145 00146 00147 00148 00149 00150 00151 00152 00153 00154 00155 00156 00157 00158 00159 00160 00161 00162 00163 00164 00165 00166 00167 00168 00169 00170 00171 00172 00173 00174 00175 00176 00177 00178 00179 00180 00181 00182 00183 00184 00185 00186 00187 00188 00189 00190 00191 00192 00193 00194 00195 00196 00197 00198 00199 00200 00201 00202 00203 00204 00205 00206 00207 00208 00209 00210 00211 00212 00213 |
// Normal particle emitter Class XEmitter extends XParticleEmitter Native Abstract; enum ESpawnPosType { SP_Box, SP_Sphere, SP_Cylinder, SP_BoxSphere, SP_BoxCylinder }; struct SpeedRangeType { var() float VelocityScale,Time; }; struct Speed3DType { var() vector VelocityScale; var() float Time; }; struct RevolveScaleType { var() vector RevolutionScale; var() float Time; }; struct ScaleRangeType { var() float DrawScaling,Time; }; struct ColorScaleRangeType { var() float Time; var() vector ColorScaling; }; enum EEmitterTriggerType { ETR_ToggleDisabled, ETR_ResetEmitter, ETR_SpawnParticles }; enum EEmitterPartCol { ECT_HitNothing, ECT_HitWalls, ECT_HitActors, ECT_HitProjTargets }; enum ESpriteAnimType { SAN_None, // No animationing, just use current frame SAN_PlayOnce, // Play once through animation on it's lifetime SAN_PlayOnceInverted, // Play once but inverted the animation. SAN_LoopAnim // Constantly loop the animation over and over like any sprite }; struct Box { var() vector Min,Max; var byte IsValid; }; // Natively updated variables, do not touch. var transient float NextParticleTime,SpawnInterval,ResetTimer; var transient byte SpeedScaleCount,DrawScaleCount,ParticleTexCount,ColorScaleCount; var transient Coords CacheRot; var transient vector OldSpawnPosition; var transient box RendBoundingBox; var array<XEmitter> SpawnCombiners,LifeTimeCombiners,DestructCombiners,WallHitCombiners; // For editor to save list and implement in map. var transient array<XEmitter> TSpawnC,TLifeTimeC,TDestructC,TWallHitC; // For in game runtime to use. var(EmGeneral) const int MaxParticles; // This can't be changed after it has been init. var(EmGeneral) float ParticlesPerSec; var(EmGeneral) float LODFactor; // Increased time % on particle emitting while on low detail level. var(EmGeneral) FloatRange LifetimeRange,AutoResetTime; var(EmGeneral) Actor FinishedSpawningTrigger; var(EmRevolution) RangeVector RevolutionOffset; var(EmRevolution) RangeVector RevolutionsPerSec; var(EmRevolution) array<RevolveScaleType> RevolutionTimeScale; var(EmRevolution) vector RevolutionOffsetUnAxis; var(EmVisuals) texture ParticleTextures[16]; var(EmVisuals) ERenderStyle ParticleStyle; var(EmCombiner) name ParticleSpawnTag; // A second emitter to emit particle over spawn location of a new particle. var array< class<XEmitter> > ParticleSpawnCClass; // Class definition for mod authors (for ready-to-use FX) var(EmCombiner) name ParticleKillTag; // A second emitter to emit particle over kill location of a particle. var array< class<XEmitter> > ParticleKillCClass; // Class definition for mod authors (for ready-to-use FX) var(EmCombiner) name ParticleWallHitTag; // A second emitter to emit particle over wallhit location of a particle. var array< class<XEmitter> > ParticleWallHitCClass; // Class definition for mod authors (for ready-to-use FX) var(EmCombiner) IntRange CombinedParticleCount; // When this Emitter actor is a combiner, spawn this amount of particles. var(EmCombiner) name ParticleLifeTimeTag; // Emit this particle every X amount of seconds of this particles lifetime. var array< class<XEmitter> > ParticleLifeTimeCClass; // Class definition for mod authors (for ready-to-use FX) var(EmCombiner) FloatRange ParticleLifeTimeSDelay; // Spawn delay for lifetime combiner. var(EmFade) float FadeInTime,FadeOutTime; // Scaling from 0 to 1 (in lifetime scale). var(EmFade) float FadeInMaxAmount; // Max scaleglow when on full fade in. var(EmVisuals) FloatRange StartingScale; var(EmVisuals) RangeVector Scale3DRange; var(EmVisuals) ScaleRangeType TimeScale[5]; // Same rules applies to this one as SpeedScale. var(EmVisuals) array<Speed3DType> TimeDrawScale3D; var(EmVisuals) ESpriteAnimType SpriteAnimationType; var(EmVisuals) float PartSpriteForwardZ; var(EmVisibility) Box VisibilityBox; var(EmVisibility) float CullDistance,CullDistanceFadeDist; // Only render when camera is closer than this range. var(EmPosition) RangeVector BoxLocation; var(EmPosition) FloatRange SphereCylinderRange; var(EmPosition) ESpawnPosType SpawnPosType; var(EmPosition) vector SpawnOffsetMultiplier; var(EmMeshPos) Actor UseActorCoords; // Use actor mesh vertexes as random spawn positions. var(EmMeshPos) Box VertexLimitBBox; // Only spawn in vertexes within this bounding box var(EmMeshPos) int SingleIVert; // Only spawn in this vertex index. var(EmTrigger) EEmitterTriggerType TriggerAction; var(EmTrigger) IntRange SpawnParts; var(EmSpeed) SpeedRangeType SpeedScale[5]; // Set speedtime to something else then 0 to make it used (and always start from lowest time and go higher). var(EmSpeed) RangeVector ParticleAcceleration; var(EmSpeed) RangeVector BoxVelocity; var(EmSpeed) FloatRange SphereCylVelocity; var(EmSpeed) ESpawnPosType SpawnVelType; var(EmSpeed) vector VelocityLossRate; var(EmSpeed) array<Speed3DType> SpeedTimeScale3D; var(EmCollision) EEmitterPartCol ParticleCollision; var(EmCollision) EHitEventType WallImpactAction,WaterImpactAction; var(EmCollision) vector ParticleExtent,ParticleBounchyness; var(EmCollision) float HittingActorKickVelScale; // Allow hitting actor to kick the particles. var(EmCollision) float MinBounceVelocity; // At least have this high speed after bounce in order to continue. var(EmSound) ParticleSndType ImpactSound,SpawnSound,DestroySound; var(EmSound) float MinImpactVelForSnd; // Minimum impact velocity for impact sound. var array<XParticleForces> ForcesList; // This is the actual list, filled in by editor from native codes. var(EmForces) name ForcesTags[4]; // List of particle force actors in level, 'ForcesListCount' defines the count of valid ones in this list. var(EmVisuals) RangeVector ParticleColor; // Particle spawn color var(EmVisuals) ColorScaleRangeType ParticleColorScale[5]; // Particle lifespan color scale var(EmCorona) RangeVector CoronaColor; var(EmCorona) texture CoronaTexture; var(EmCorona) float CoronaFadeTimeScale,CoronaMaxScale,CoronaScaling,MaxCoronaDistance; var(EmCorona) vector CoronaOffset; // Bitmask var(EmRevolution) bool bRevolutionEnabled,bEffectsVelocity; var(EmGeneral) bool bDisabled,bRespawnParticles,bAutoDestroy,bAutoReset,bSpawnInitParticles,bDisableRender; var(EmVisuals) bool bUseRandomTex; // If enabled, it will use random texture, otherwise animate (starting from tex[0]->tex[X]) var(EmVisibility) bool bBoxVisibility,bAutoVisibilityBox; // Should render only when player sees the box bounds. var(EmVisibility) bool bDistanceCulling; var(EmVisibility) bool bStasisEmitter; // Only render when emitter zone has been recently rendered. var(EmVisibility) bool bNoUpdateOnInvis; // Stop updating emitter particles when not rendered. var(EmPosition) bool bRelativeToRotation; var(EmPosition) bool bUseRelativeLocation; // Location/Rotation/Velocity should be relative to emitter actor? var(EmPosition) bool bGradualSpawnCoords; // As Emitter actor moves, spawn them smoothly between the old and new location. var(EmMeshPos) bool bUseMeshAnim; // Slower: use mesh animated frame rather than static frame. var(EmSpeed) bool bVelRelativeToRotation,bCylRangeBasedOnPos,bAccelRelativeToRot; var(EmCorona) bool bCheckLineOfSight,bActorsBlockSight; var(EmCorona) bool bParticleCoronaEnabled; var(EmCorona) bool bCOffsetRelativeToRot; // Corona offset should be relative to particle rotation? var transient bool bHasLossVel,bHasAliveParticles; var const bool bDestruction,bRotationRequest; var bool BACKUP_Disabled; native(1766) final function SpawnParticles( int Count ); native(1767) final function SetMaxParticles( int MaxParts ); native(1768) final function Kill(); // Stop spawning particles and auto-destroy when all particles are gone. native(1769) final function EmTrigger(); // Trigger this emitter. simulated function PostBeginPlay() { BACKUP_Disabled = bDisabled; } simulated function Trigger( Actor Other, Pawn EventInstigator ) { EmTrigger(); } simulated function Reset() { bDisabled = BACKUP_Disabled; } defaultproperties { MaxParticles=50 LODFactor=1.850000 LifetimeRange=(Min=4.000000,Max=4.000000) ParticleTextures(0)=Texture'Engine.S_Pawn' ParticleStyle=STY_Translucent CombinedParticleCount=(Min=1,Max=1) ParticleLifeTimeSDelay=(Min=0.200000,Max=0.500000) FadeOutTime=1.000000 FadeInMaxAmount=1.000000 StartingScale=(Min=1.000000,Max=1.000000) Scale3DRange=(X=(Min=1.000000,Max=1.000000),Y=(Min=1.000000,Max=1.000000),Z=(Min=1.000000,Max=1.000000)) VisibilityBox=(Min=(X=-128.000000,Y=-128.000000,Z=-128.000000),Max=(X=128.000000,Y=128.000000,Z=128.000000)) CullDistance=2000.000000 CullDistanceFadeDist=1.000000 SpawnOffsetMultiplier=(X=1.000000,Y=1.000000,Z=1.000000) SingleIVert=-1 WallImpactAction=HIT_Bounce ParticleBounchyness=(X=1.000000,Y=1.000000,Z=1.000000) ImpactSound=(SndPitch=(Min=1.000000,Max=1.000000),SndRadius=(Min=500.000000,Max=500.000000),SndVolume=(Min=1.000000,Max=1.000000)) SpawnSound=(SndPitch=(Min=1.000000,Max=1.000000),SndRadius=(Min=500.000000,Max=500.000000),SndVolume=(Min=1.000000,Max=1.000000)) DestroySound=(SndPitch=(Min=1.000000,Max=1.000000),SndRadius=(Min=500.000000,Max=500.000000),SndVolume=(Min=1.000000,Max=1.000000)) CoronaColor=(X=(Min=1.000000,Max=1.000000),Y=(Min=1.000000,Max=1.000000),Z=(Min=1.000000,Max=1.000000)) CoronaFadeTimeScale=2.000000 CoronaMaxScale=2.000000 CoronaScaling=1.000000 MaxCoronaDistance=2000.000000 bEffectsVelocity=True bRespawnParticles=True bSpawnInitParticles=True bStasisEmitter=True bNoUpdateOnInvis=True bUseMeshAnim=True bCheckLineOfSight=True bNoDelete=False } |
Overview | Package | Class | Source | Class tree | Glossary | UnrealScript Documentation |
previous class next class | frames no frames |