Mostly Harmless

UE3:UTProjectile (UDK)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UDK Object >> Actor >> Projectile >> UTProjectile

Contents

Package: 
UTGame
Direct subclasses:
UTDecoy, UTProj_CicadaRocket, UTProj_Grenade, UTProj_LinkPlasma, UTProj_MantaBolt, UTProj_Rocket, UTProj_ScorpionGlob_Base, UTProj_ShockBall
This class in other games:
UT3

UTProjectile

This is our base projectile class.

Properties[edit]

AccelRate[edit]

Type: float

Acceleration magnitude. By default, acceleration is in the same direction as velocity

AmbientSound[edit]

Type: SoundCue

The sound that is played looped.

bAdvanceExplosionEffect[edit]

Type: bool

If true, this explosion effect expects to be orientated differently and have extra data passed in via parameters

bAttachExplosionToVehicles[edit]

Type: bool

If true, attach explosion effect to vehicles

Default value: True

bCheckProjectileLight[edit]

Type: bool

Make true if want to spawn ProjectileLight. Set false in TickSpecial() once it's been determined whether Instigator is local player. Done there to make sure instigator has been replicated

bImportantAmbientSound[edit]

Type: bool

If true, never cut out ambient sound for perf reasons

bShuttingDown[edit]

Type: bool

if true, the shutdown function has been called and 'new' effects shouldn't happen

bSuppressExplosionFX[edit]

Type: bool

used to prevent effects when projectiles are destroyed (see LimitationVolume)

bSuppressSounds[edit]

Type: bool

Additional Sounds

Buoyancy[edit]

Type: float

Water buoyancy. A ratio (1.0 = neutral buoyancy, 0.0 = no buoyancy)

bWaitForEffects[edit]

Type: bool

if True, this projectile will remain alive (but hidden) until the flight effect is done

bWideCheck[edit]

Type: bool

for console games (wider collision w/ enemy players)

CheckRadius[edit]

Type: float


CustomGravityScaling[edit]

Type: float

custom gravity multiplier

Default value: 1.0

DecalDissolveParamName[edit]

Type: name

MaterialInstance param name for dissolving the decal *

Default value: 'DissolveAmount'

DecalHeight[edit]

Type: float


DecalWidth[edit]

Type: float


DurationOfDecal[edit]

Type: float

How long the decal should last before fading out *

Default value: 4.0

ExplosionDecal[edit]

Type: MaterialInterface

decal for explosion

ExplosionLightClass[edit]

Type: class<UTExplosionLight>

Class of ExplosionLight

ExplosionSound[edit]

Type: SoundCue

The sound that is played when it explodes

GlobalCheckRadiusTweak[edit]

Type: float

FIXME TEMP for tweaking global checkradius

Default value: 0.5

InstigatorBaseVehicle[edit]

Type: Vehicle

if this projectile is fired by a vehicle passenger gun, this is the base vehicle considered the same as Instigator for purposes of bBlockedByInstigator

MaxEffectDistance[edit]

Type: float

This value sets the cap how far away the explosion effect of this projectile can be seen

Default value: 10000.0

MaxExplosionLightDistance[edit]

Type: float

Max distance to create ExplosionLight

Default value: 4000.0

ProjectileLight[edit]

Type: PointLightComponent

LightComponent for this projectile (spawned only if projectile fired by the local player)

ProjectileLightClass[edit]

Type: class<PointLightComponent>

Class of ProjectileLight

ProjEffects[edit]

Type: ParticleSystemComponent

This is the effect that is played while in flight

ProjExplosionTemplate[edit]

Type: ParticleSystem


ProjFlightTemplate[edit]

Type: ParticleSystem

Effects Template

TerminalVelocity[edit]

Type: float

TerminalVelocity for this projectile when falling

Default value: 3500.0

TossZ[edit]

Type: float


Default values[edit]

Property Value
bBlockedByInstigator False
bCollideComplex True
bSwitchToZeroCollision True
Components[0] CylinderComponent'CollisionCylinder'
DamageRadius 0.0

Subobjects[edit]

CollisionCylinder[edit]

Class: Engine.CylinderComponent

Inherits from: Projectile.CollisionCylinder

Property Value
ReplacementPrimitive None

Functions[edit]

Static functions[edit]

CalculateTravelTime[edit]

static final function float CalculateTravelTime (float Dist, float MoveSpeed, float MaxMoveSpeed, float AccelMag)

calculate travel time for something to move Dist units with the given movement parameters

Parameters:

  • Dist - distance to travel
  • MoveSpeed - starting speed
  • MaxMoveSpeed - maximum speed (acceleration stops being applied when we reach this)
  • AccelMag - rate of acceleration

Returns:

travel time

GetRange[edit]

simulated static function float GetRange ()

Overrides: Projectile.GetRange

returns the maximum distance this projectile can travel

StaticGetTimeToLocation[edit]

static simulated function float StaticGetTimeToLocation (Object.Vector TargetLoc, Object.Vector StartLoc, Controller RequestedBy)

Overrides: Projectile.StaticGetTimeToLocation

static version of GetTimeToLocation()

Native functions[edit]

GetTerminalVelocity[edit]

native function float GetTerminalVelocity ()

Overrides: Actor.GetTerminalVelocity

returns terminal velocity (max speed while falling) for this actor. Unless overridden, it returns the TerminalVelocity of the PhysicsVolume in which this actor is located.

Events[edit]

CreateProjectileLight[edit]

simulated event CreateProjectileLight ()

CreateProjectileLight() called from TickSpecial() once if Instigator is local player

Destroyed[edit]

simulated event Destroyed ()

Overrides: Projectile.Destroyed


GetHomingTarget[edit]

event Actor GetHomingTarget (UTProjectile Seeker, Controller InstigatedBy)


Landed[edit]

simulated event Landed (Object.Vector HitNormal, Actor FloorActor)

Overrides: Actor.Landed

Explode when the projectile comes to rest on the floor. It's called from the native physics processing functions. By default, when we hit the floor, we just explode.

PostBeginPlay[edit]

simulated event PostBeginPlay ()

Overrides: Projectile.PostBeginPlay

When this actor begins its life, play any ambient sounds attached to it

PreBeginPlay[edit]

event PreBeginPlay ()

Overrides: Projectile.PreBeginPlay


SetInitialState[edit]

simulated event SetInitialState ()

Overrides: Actor.SetInitialState


Shutdown[edit]

simulated event Shutdown ()

Overrides: Actor.ShutDown

Clean up

TornOff[edit]

event TornOff ()

Overrides: Actor.TornOff


Other instance functions[edit]

CalcCamera[edit]

simulated function bool CalcCamera (float fDeltaTime, out Object.Vector out_CamLoc, out Object.Rotator out_CamRot, out float out_FOV)

Overrides: Actor.CalcCamera

(Description copied from Actor.CalcCamera)
Calculate camera view point, when viewing this actor.

Parameters:

  • fDeltaTime - delta time seconds since last update
  • out_CamLoc - Camera Location
  • out_CamRot - Camera Rotation
  • out_FOV - Field of View

Returns:

true if Actor should provide the camera point of view.

CanSplash[edit]

simulated function bool CanSplash ()

Overrides: Projectile.CanSplash


CheckMaxEffectDistance[edit]

simulated function bool CheckMaxEffectDistance (PlayerController P, Object.Vector SpawnLocation, optional float CullDistance)

Overrides: Actor.CheckMaxEffectDistance


EffectIsRelevant[edit]

simulated function bool EffectIsRelevant (Object.Vector SpawnLocation, bool bForceDedicated, optional float CullDistance)

Overrides: Actor.EffectIsRelevant


Explode[edit]

simulated function Explode (Object.Vector HitLocation, Object.Vector HitNormal)

Overrides: Projectile.Explode

Explode this Projectile

GetPawnOwner[edit]

simulated function Pawn GetPawnOwner ()

called when this Projectile is the ViewTarget of a local player

Returns:

the Pawn to use for rendering HUD displays

GetTimeToLocation[edit]

simulated function float GetTimeToLocation (Object.Vector TargetLoc)

Overrides: Projectile.GetTimeToLocation

returns the amount of time it would take the projectile to get to the specified location

HideProjectile[edit]

simulated function HideProjectile ()

Hide any meshes/etc.

Init[edit]

function Init (Object.Vector Direction)

Overrides: Projectile.Init

Initialize the Projectile

MyOnParticleSystemFinished[edit]

simulated function MyOnParticleSystemFinished (ParticleSystemComponent PSC)


ProcessTouch[edit]

simulated function ProcessTouch (Actor Other, Object.Vector HitLocation, Object.Vector HitNormal)

Overrides: Projectile.ProcessTouch


ProjectileHurtRadius[edit]

simulated function bool ProjectileHurtRadius (float DamageAmount, float InDamageRadius, class<DamageTypeDamageType, float Momentum, Object.Vector HurtOrigin, Object.Vector HitNormal, optional class<DamageTypeImpactedActorDamageType)

Hurt locally authoritative actors within the radius. Projectile version if needed offsets the start of the radius check to prevent hits embedded in walls from failing to cause damage

SetExplosionEffectParameters[edit]

simulated function SetExplosionEffectParameters (ParticleSystemComponent ProjExplosion)

sets any additional particle parameters on the explosion effect required by subclasses

ShouldSpawnExplosionLight[edit]

simulated function bool ShouldSpawnExplosionLight (Object.Vector HitLocation, Object.Vector HitNormal)

ShouldSpawnExplosionLight() Decide whether or not to create an explosion light for this explosion

SpawnExplosionEffects[edit]

simulated function SpawnExplosionEffects (Object.Vector HitLocation, Object.Vector HitNormal)

Spawn Explosion Effects

SpawnFlightEffects[edit]

simulated function SpawnFlightEffects ()

Spawns any effects needed for the flight of this projectile

States[edit]

WaitingForVelocity[edit]

state used only on the client for projectiles with AccelRate > 0 to wait for Velocity to be replicated so we can use it to set Acceleration the alternative would be to make Velocity repnotify in Actor.uc, but since many Actors (such as Pawns) change their velocity very frequently, that would have a greater performance hit

WaitingForVelocity.Tick[edit]

simulated event Tick (float DeltaTime)

Overrides: Actor.Tick (global)