The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
Difference between revisions of "UE3:Actor events (UDK)"
m (→ReplicatedEvent) |
(→PostRenderFor: Explained how this function is executed and what determines the visiblity of actors using this.) |
||
(One intermediate revision by one other user not shown) | |||
Line 337: | Line 337: | ||
{{code|simulated event '''PostRenderFor''' ({{cl|PlayerController}} '''PC''', {{cl|Canvas}} '''Canvas''', {{tl|Vector|Object|structs}} '''CameraPosition''', {{tl|Vector|Object|structs}} '''CameraDir''')}} | {{code|simulated event '''PostRenderFor''' ({{cl|PlayerController}} '''PC''', {{cl|Canvas}} '''Canvas''', {{tl|Vector|Object|structs}} '''CameraPosition''', {{tl|Vector|Object|structs}} '''CameraDir''')}} | ||
− | + | This function is only called if the Actor is visible as determined by the '''LocalPlayer''''s '''GetActorVisibility''' function, or either if '''bPostRenderIfNotVisible''' is true. | |
+ | To use this functionality your '''HUD''' instance must have '''bDrawOverlays''' set to true and your Actor must have registered itself by calling its player '''HUD''' '''AddPostRenderedActor''' function. | ||
+ | |||
+ | This function is called by '''NativePostRenderFor''' whom's origin is instigated by the '''HUD''' class. | ||
====PostTouch==== | ====PostTouch==== | ||
Line 354: | Line 357: | ||
{{code|event '''RanInto''' ({{cl|Actor}} '''Other''')}} | {{code|event '''RanInto''' ({{cl|Actor}} '''Other''')}} | ||
− | + | Called if Other collided with this actor while moving. | |
====ReceivedNewEvent==== | ====ReceivedNewEvent==== |
Latest revision as of 19:09, 22 December 2012
Contents
- 1 Events
- 1.1 AnimTreeUpdated
- 1.2 Attach
- 1.3 BaseChange
- 1.4 BecomeViewTarget
- 1.5 BeginAnimControl
- 1.6 BroadcastLocalizedMessage
- 1.7 BroadcastLocalizedTeamMessage
- 1.8 Bump
- 1.9 CollisionChanged
- 1.10 ConstraintBrokenNotify
- 1.11 DebugFreezeGame
- 1.12 Destroyed
- 1.13 Detach
- 1.14 EncroachedBy
- 1.15 EncroachingOn
- 1.16 EndViewTarget
- 1.17 Falling
- 1.18 FellOutOfWorld
- 1.19 FinishAnimControl
- 1.20 ForceNetRelevant
- 1.21 GainedChild
- 1.22 GetActorEyesViewPoint
- 1.23 GetActorFaceFXAsset
- 1.24 GetFaceFXAudioComponent
- 1.25 HealDamage
- 1.26 HitWall
- 1.27 InterpolationChanged
- 1.28 InterpolationFinished
- 1.29 InterpolationStarted
- 1.30 Landed
- 1.31 LostChild
- 1.32 ModifyHearSoundComponent
- 1.33 NotifySkelControlBeyondLimit
- 1.34 OnAnimEnd
- 1.35 OnAnimPlay
- 1.36 OnRanOver
- 1.37 OnRigidBodySpringOverextension
- 1.38 OnSleepRBPhysics
- 1.39 OnWakeRBPhysics
- 1.40 OutsideWorldBounds
- 1.41 OverRotated
- 1.42 PhysicsVolumeChange
- 1.43 PlayActorFaceFXAnim
- 1.44 PlayParticleEffect
- 1.45 PostBeginPlay
- 1.46 PostDemoRewind
- 1.47 PostInitAnimTree
- 1.48 PostRenderFor
- 1.49 PostTouch
- 1.50 PreBeginPlay
- 1.51 RanInto
- 1.52 ReceivedNewEvent
- 1.53 ReplicatedDataBinding
- 1.54 ReplicatedEvent
- 1.55 ReplicationEnded
- 1.56 Reset
- 1.57 RigidBodyCollision
- 1.58 RootMotionExtracted
- 1.59 RootMotionModeChanged
- 1.60 ScriptGetTeamNum
- 1.61 SetAnimPosition
- 1.62 SetInitialState
- 1.63 SetMorphWeight
- 1.64 SetSkelControlScale
- 1.65 ShutDown
- 1.66 SpawnedByKismet
- 1.67 SpecialHandling
- 1.68 StopActorFaceFXAnim
- 1.69 TakeDamage
- 1.70 Tick
- 1.71 Timer
- 1.72 TornOff
- 1.73 Touch
- 1.74 TrailsNotify
- 1.75 TrailsNotifyEnd
- 1.76 TrailsNotifyTick
- 1.77 UnTouch
- Actor events in other games:
- RTNP, U1, UT, U2, U2XMP, UE2Runtime, UT2003, UT2004, UT3
- Other member categories for this class:
- enums, instance functions, internal variables, native functions, structs
Please help improve this article or section by expanding it. |
Events[edit]
AnimTreeUpdated[edit]
Notification called when one of our meshes gets his AnimTree updated
Attach[edit]
Called on this Actor when another Actor used SetBase() to set this to it's Base.
Parameters:
- Other is the Actor who changed it's Base.
BaseChange[edit]
Called when we get our Base set to something else than it was before. This is also called during the destruction process of this Actor.
BecomeViewTarget[edit]
Called when a PlayerController used SetViewTarget() to focus us.
Parameters:
- PC is the PlayerController focusing us.
BeginAnimControl[edit]
Called when we start an AnimControl track operating on this Actor. Supplied is the set of AnimSets we are going to want to play from.
BroadcastLocalizedMessage[edit]
BroadcastLocalizedTeamMessage[edit]
Bump[edit]
If bBlockActors or bBlockPlayers is on, this event function gets called for both objects. This event function gets called by the engine only once - at the initial time of the collision.
CollisionChanged[edit]
Called when collision values change for this actor (via SetCollision/SetCollisionSize).
ConstraintBrokenNotify[edit]
When a constraint is broken we will get this event from c++ land.
DebugFreezeGame[edit]
Debug Freeze Game dumps the current script function stack and pauses the game with PlayersOnly (still allowing the player to move around).
Destroyed[edit]
Called during the destruction of the Actor via Destroy().
Detach[edit]
Called if another Actor uses SetBase() and sets his new Base to another Actor and we were the old Base before. Also called during the destruction of an Actor.
Parameters:
- Other is the Actor who changed it's Base.
EncroachedBy[edit]
Called when we get pushed somewhere and there isn't enough space at this location for us to exist.
Parameters:
- Other is the Actor who pushed us into the encroached location.
EncroachingOn[edit]
Called when this Actor is encroaching on Other and we couldn't find an appropriate place to push Other to
Returns:
- true to abort the move, false to allow it
Parameters:
- Other is the Actor whe are encroaching on.
Warning: do not abort moves of PHYS_RigidBody actors as that will cause the Unreal location and physics engine location to mismatch
EndViewTarget[edit]
Called when a PlayerController uses SetViewTarget() to focus another Actor or none and we were focused before.
Parameters:
- PC is the focusing PlayerController.
Falling[edit]
Called once when we enter PHYS_Falling.
FellOutOfWorld[edit]
Called when the actor falls out of the world 'safely' (below KillZ and such)
FinishAnimControl[edit]
Called when we are done with the AnimControl track.
ForceNetRelevant[edit]
Forces this actor to be net relevant if it is not already by default, only works on level placed actors (bNoDelete)
GainedChild[edit]
Called when another Actor used SetOwner() to set ourself as it's Owner. Happens also if we specify the Owner while spawning the Actor.
Parameters:
- Other is the Actor who is now owned by us.
GetActorEyesViewPoint[edit]
Returns the point of view of the actor. Note that this doesn't mean the camera, but the 'eyes' of the actor. For example, for a Pawn, this would define the eye height location, and view rotation (which is different from the pawn rotation which has a zeroed pitch component). A camera first person view will typically use this view point. Most traces (weapon, AI) will be done from this view point.
Parameters:
- out_Location - location of view point
- out_Rotation - view rotation of actor.
GetActorFaceFXAsset[edit]
Used by Matinee in-game to mount FaceFXAnimSets before playing animations.
GetFaceFXAudioComponent[edit]
Function for allowing you to tell FaceFX which AudioComponent it should use for playing audio for corresponding facial animation.
HealDamage[edit]
The reverse of TakeDamage(); heals the specified amount
Parameters:
- Amount - The amount of damage to heal
- Healer - Who is doing the healing
- DamageType - What type of healing is it
HitWall[edit]
If bCollideWorld is on, this event function gets called by the engine, letting the object know the normal to the collision plane between the level polygon and the object (the HitNormal points towards the object), as well as an Actor reference, which would let you know a couple things - if HitWall == WorldInfo, you've hit normal level geometry.
InterpolationChanged[edit]
called when a SeqAct_Interp action affecting this Actor received an event that changed its properties (paused, reversed direction, etc)
Parameters:
- InterpAction - the SeqAct_Interp that is affecting the Actor
Note: this function is called on clients for actors that are interpolated clientside via MatineeActor
InterpolationFinished[edit]
called when a SeqAct_Interp action finished interpolating this Actor
Parameters:
- InterpAction - the SeqAct_Interp that was affecting the Actor
Note: this function is called on clients for actors that are interpolated clientside via MatineeActor
InterpolationStarted[edit]
called when a SeqAct_Interp action starts interpolating this Actor via matinee
Parameters:
- InterpAction - the SeqAct_Interp that is affecting the Actor
Note: this function is called on clients for actors that are interpolated clientside via MatineeActor
Landed[edit]
If the object physics is PHYS_Falling, this event function gets called by the engine when the object lands on level geometry while falling.
Parameters:
- HitNormal is the surface normal of the level geometry landed on.
LostChild[edit]
Called when one of our child Actors changed it's Owner or was destroyed.
Parameters:
- Other - The Actor that changed his Owner.
ModifyHearSoundComponent[edit]
called when a sound is going to be played on this Actor via PlayerController::ClientHearSound() gives it a chance to modify the component that will be used (add parameter values, etc)
NotifySkelControlBeyondLimit[edit]
OnAnimEnd[edit]
Event called when an AnimNodeSequence (in the animation tree of one of this Actor's SkeletalMeshComponents) reaches the end and stops. Will not get called if bLooping is 'true' on the AnimNodeSequence. bCauseActorAnimEnd must be set 'true' on the AnimNodeSequence for this event to get generated.
Parameters:
- SeqNode - Node that finished playing. You can get to the SkeletalMeshComponent by looking at SeqNode->SkelComponent
- PlayedTime - Time played on this animation. (play rate independant).
- ExcessTime - how much time overlapped beyond end of animation. (play rate independant).
OnAnimPlay[edit]
Event called when a PlayAnim is called AnimNodeSequence in the animation tree of one of this Actor's SkeletalMeshComponents. bCauseActorAnimPlay must be set 'true' on the AnimNodeSequence for this event to get generated.
Parameters:
- SeqNode - Node had PlayAnim called. You can get to the SkeletalMeshComponent by looking at SeqNode->SkelComponent
OnRanOver[edit]
Called each frame (for each wheel) when an SVehicle has a wheel in contact with this Actor. Not called on Actors that have bWorldGeometry or bStatic set to TRUE.
OnRigidBodySpringOverextension[edit]
Notification forwarded from RB_BodyInstance, when a spring is over extended and disabled.
OnSleepRBPhysics[edit]
RigidBody went to sleep after being awake - only valid if bCallRigidBodyWakeEvents==TRUE
OnWakeRBPhysics[edit]
RigidBody woke up after being stationary - only valid if bCallRigidBodyWakeEvents==TRUE
OutsideWorldBounds[edit]
called when the Actor is outside the hard limit on world bounds
Note: physics and collision are automatically turned off after calling this function
OverRotated[edit]
Called by ClampRotation if the rotator was outside of the limits
PhysicsVolumeChange[edit]
Called when an Actor leaves a PhysicsVolume or enters a new one.
Parameters:
- NewVolume - The PhysicsVolume that we entered now.
PlayActorFaceFXAnim[edit]
Play FaceFX animations on this Actor. Returns TRUE if succeeded, if failed, a log warning will be issued.
PlayParticleEffect[edit]
Called by AnimNotify_PlayParticleEffect Looks for a socket name first then bone name
Parameters:
- AnimNotifyData - The AnimNotify_PlayParticleEffect which will have all of the various params on it
PostBeginPlay[edit]
Called by the engine pretty soon after the Actor has been spawned or the game has begun.
Most actors use PostBeginPlay() to initialize their UnrealScript values. The actor's PhysicsVolume and Zone are valid but the actor is not yet in any State.
PostDemoRewind[edit]
called on all dynamic or net relevant actors after rewinding a demo primarily used to propagate properties to components, since components are ignored for rewinding
PostInitAnimTree[edit]
called after initializing the AnimTree for the given SkeletalMeshComponent that has this Actor as its Owner this is a good place to cache references to skeletal controllers, etc that the Actor modifies
PostRenderFor[edit]
This function is only called if the Actor is visible as determined by the LocalPlayer's GetActorVisibility function, or either if bPostRenderIfNotVisible is true. To use this functionality your HUD instance must have bDrawOverlays set to true and your Actor must have registered itself by calling its player HUD AddPostRenderedActor function.
This function is called by NativePostRenderFor whom's origin is instigated by the HUD class.
PostTouch[edit]
Called for PendingTouch Actor after physics completes.
PreBeginPlay[edit]
One of the very first functions that gets called after the game started.
The Actor's location and rotation has been set, it's PhysicsVolume to the DefaultPhyiscsVolume, the WorldInfo is already referenced, the Instigator and Owner are set if the Actor has been spawned during the game and physics are already initialized.
RanInto[edit]
Called if Other collided with this actor while moving.
ReceivedNewEvent[edit]
Called by SeqAct_AttachToEvent when a duplicate event is added to this actor at run-time
ReplicatedDataBinding[edit]
Called when a variable is replicated that has the 'databinding' keyword.
Parameters:
- VarName - the name of the variable that was replicated.
ReplicatedEvent[edit]
Called whenever a variable is replicated that has the modifier RepNotify.
Parameters:
- VarName The name of the variable that got replicated. It is recommend to use NameOf whenever possible.
ReplicationEnded[edit]
called ONLY for bNoDelete Actors on the client when the server was replicating data on this Actor, but no longer considers it relevant (i.e. the actor channel was destroyed) for !bNoDelete Actors this results in destruction, so cleanup code can be done there, but bNoDelete Actors just keep going with whatever data was last received, so this is their chance to perform any cleanup
Reset[edit]
Reset actor to initial state - used when restarting level without reloading.
RigidBodyCollision[edit]
Called when a PrimitiveComponent this Actor owns has:
-bNotifyRigidBodyCollision set to true -ScriptRigidBodyCollisionThreshold > 0 -it is involved in a physics collision where the relative velocity exceeds ScriptRigidBodyCollisionThreshold
Parameters:
- HitComponent - the component of this Actor that collided
- OtherComponent - the other component that collided
- RigidCollisionData - information on the collision itslef, including contact points
- ContactIndex - the element in each ContactInfos' ContactVelocity and PhysMaterial arrays that corresponds to this Actor/HitComponent
RootMotionExtracted[edit]
Notification called after root motion has been extracted, and before it's been used. This notification can be used to alter extracted root motion before it is forwarded to physics. It is only called when bRootMotionExtractedNotify is TRUE on the SkeletalMeshComponent.
Note: It is fairly slow in Script, so enable only when really needed.
RootMotionModeChanged[edit]
Notification that root motion mode changed. Called only from SkelMeshComponents that have bRootMotionModeChangeNotify set. This is useful for synchronizing movements. For intance, when using RMM_Translate, and the event is called, we know that root motion will kick in on next frame. It is possible to kill in-game physics, and then use root motion seemlessly.
ScriptGetTeamNum[edit]
Returns 255 in it's default implementation. This gets called by the default implementation of GetTeamNum().
SetAnimPosition[edit]
Called each from while the Matinee action is running, with the desired sequence name and position we want to be at.
SetInitialState[edit]
Called directly after PostBeginPlay().
At this point the actor is concidered "initialized" by the engine (bScriptInitialized is set to True in this event) and the actor's initial state is set. If the InitialState property is set, it will be used, otherwise the actor goes to its auto state. Since SetInitialState() is a simulated function by default this happens on server and clients.
This event uses GotoState to change the state, so during its executing the initial state's BeginState() event is called. The state's state code will however not yet start executing at this point. This will happen after all the events described on this page have finished doing their work.
SetMorphWeight[edit]
Called each frame by Matinee to update the weight of a particular MorphNodeWeight.
SetSkelControlScale[edit]
Called each frame by Matinee to update the scaling on a SkelControl.
ShutDown[edit]
ShutDown an actor.
SpawnedByKismet[edit]
called when this Actor was spawned by a Kismet actor factory (SeqAct_ActorFactory) after all other spawn events (PostBeginPlay(), etc) have been called
SpecialHandling[edit]
StopActorFaceFXAnim[edit]
Stop any matinee FaceFX animations on this Actor.
TakeDamage[edit]
apply some amount of damage to this actor
Parameters:
- DamageAmount - the base damage to apply
- EventInstigator - the Controller responsible for the damage
- HitLocation - world location where the hit occurred
- Momentum - force caused by this hit
- DamageType - class describing the damage that was done
- HitInfo - additional info about where the hit occurred
- DamageCauser - the Actor that directly caused the damage (i.e. the Projectile that exploded, the Weapon that fired, etc)
Tick[edit]
Called by the engine whenever time passes (i.e. on every frame when the game updates) for all Actors that have bStatic = False.
Parameters:
- DeltaTime - the time that has passed since the last Tick().
Timer[edit]
Called by the engine after a countdown set by SetTimer() reached 0. The Actor must be bStatic = False in order to get this called.
TornOff[edit]
Called when the Actor gets torn off by TearOff(). Tearing an Actor off means that it breaks all replication connections so that it is now simulated on each client individually. This was for example used in older engine implementations for the ragdolls, causing them to have different locations on each client.
Touch[edit]
If bCollideActors is on, this event function gets called by the engine for both objects. This event function gets called every Tick() that the collision still occurs. When collision happens the first time, there is an array of actors, called Touching[], which is a list of other actors touching this one. Other is put into the array if it isn't already there by native code. Touching[] is defined as const, meaning you cannot manually change any values of the array within UScript.
Touch() gets called by Volumes when a new Actor enters them.
Parameters:
- Other - The Actor we are touching.
TrailsNotify[edit]
Called by AnimNotify_Trails
Parameters:
- AnimNotifyData - The AnimNotify_Trails which will have all of the various params on it
TrailsNotifyEnd[edit]
Called by AnimNotify_Trails
Parameters:
- AnimNotifyData - The AnimNotify_Trails which will have all of the various params on it
TrailsNotifyTick[edit]
Called by AnimNotify_Trails
Parameters:
- AnimNotifyData - The AnimNotify_Trails which will have all of the various params on it
UnTouch[edit]
If bCollideActors is on, this event function gets called by the engine for both objects. This event function is called when colliding objects are no longer colliding (as soon as the collision isn't occuring any more, this even function is called, but only once).
Touch gets called by Volumes when an Actor leaves them.
Parameters:
- Other - The Actor that is no longer touching us.