handThrow Physics Object (AN_TFA_ThrowPhysicsObject)

Detaches an object and throws it with physics.

Asset path: /Game/InfimaGames/TacticalFPSAnimations/Common/Core/Animation/AN_TFA_ThrowPhysicsObject

AN_TFA_ThrowPhysicsObject is the character-owned notify you use when an attached prop should transition into free physics. It is a clean fit for magazine tosses, thrown handheld props, and any animation moment where a temporary object should detach and fly into the world.


Quick Navigation



Purpose


Typical uses include:

  • Tossing a magazine away

  • Throwing a small object during an animation


Owner Requirement


This notify only works when the active animation is playing on a mesh owned by BP_TFA_BaseCharacter.


Notify Blueprint Flow


This notify is implemented in Received_Notify. It gets the owner from MeshComp, casts that owner to BP_TFA_BaseCharacter, and then calls Character.ThrowPhysicsObject(...). If the cast fails, nothing happens.

circle-info

The notify itself does not apply the forces. It delegates the actual spawn and throw behavior to BP_TFA_BaseCharacter::ThrowPhysicsObject.

Readable Blueprint Flow


What ThrowPhysicsObject Does


Based on the current Base Character (BP_TFA_BaseCharacter) implementation, the character function:

  • Spawns the actor class provided by the notify at a socket-derived transform

  • Finds a PrimitiveComponent on the spawned actor

  • Applies linear impulse with bVelChange = true

  • Applies angular impulse with bVelChange = true using a random axis

  • Optionally destroys attached actors tagged DisposableItem when bClearSocketItem = true

That cleanup path is especially useful when an earlier notify spawned an attached prop and you want to avoid duplicates.


Parameters


  • ObjectToSpawn

    • Forwarded as ClassToSpawn

  • SpawnSocketName

  • LocationOffset

  • RotationOffset

  • ThrowForce

  • ThrowRotationForce

  • DestroySocketItem

    • Forwarded as bClearSocketItem

Default Values

  • ObjectToSpawn = None

  • SpawnSocketName = ik_hand_l

  • LocationOffset = (0, 0, 0)

  • RotationOffset = (0, 0, 0)

  • ThrowForce = 80.0

  • ThrowRotationForce = 80.0

  • DestroySocketItem = true


Placement Tips


  • Place the notify on the exact frame where the object should release

  • Use DestroySocketItem = true when a previous notify spawned or attached a disposable prop

  • Test the timing at a few montage play rates, because small shifts are very noticeable during throws


Troubleshooting


  • Nothing happens

    • The animation is playing on a mesh not owned by BP_TFA_BaseCharacter

    • ObjectToSpawn is None, and your character implementation expects a valid class

  • The throw direction feels wrong

    • Check whether the character function uses socket forward, socket up, or another basis

    • Adjust RotationOffset to bias the throw direction


Notes and Gotchas


  • This is a character-owned notify, so it will not do anything on weapon-only montages

  • DestroySocketItem = true is primarily a cleanup feature

  • That cleanup destroys previously attached actors tagged DisposableItem, which helps prevent duplicate props when a montage loops or restarts



Last updated

Was this helpful?