Force Fields

General Information

In a nutshell, a force field (FF) applies a certain velocity to an object contained within the FF volume. The volume of the FF is determined by a set of geometric shapes and may have different limitations depending on the type of the FF in question. The object is only influenced by the FF while it is within its volume (overlaps with at least one of the shapes). If the object leaves the FF, it ceases to become affected by the field, no matter how long it has been under its influence. Once the object leaves the FF volume, it retains the linear and angular momentum received from the FF and then interacts with the scene on a common basis (that is, with the usual inertia). Force fields use the same mechanisms as the p-force action but have more functionality. Currently, with the help of the FF, one can implement all the effects previously done using p-force, except those impacting the player. Therefore, it is advisable to minimize the use of the p-force in favor of the FF.


All the FF defaults are set up with 35kg objects in mind.

Power & Velocity

Power and velocity are two key parameters of all FF types.

In summary, the velocity is the speed applied to an object within the FF. Power is the force providing acceleration (time, speed) through which the velocity is attained i.e. the higher the power value, the faster the object will accelerate to its target velocity. Hence, the very simplified formula of the FF action is:

force_to_object = power * (1 - curr_velocity_of_object/velocity)


Thus, the object’s mass only affects the time it takes to react to the target velocity. In other words, if the power value is high enough, then the light and heavy objects in the FF volume will only differ in the time it takes them to attain the target velocity, not at their maximum speed. Therefore, setting the power according to the weight of the heaviest objects will not result in lighter objects moving too fast. If the power is insufficient, the object will never attain the target velocity, it might never move at all.

FF General Properties

  • RBodies Interacting – defines, if the FF can influence solid objects (entity).
  • Cloths Interacting – defines, if the FF can influence soft objects (soft entity).
  • Fluids Interacting – defines, if the FF can influence fluid objects (PhysX particles).
  • Enable Rotating – allows angular momentum in addition to the liner, this option makes movement more chaotic and natural but is not always applicable.
  • Rotating Power – sets the direction and speed of rotation, if Enable Rotating is enabled.
  • Break RBodies – allows auto breakup of solid bodies entering the FF.

FF types

Tornado

Moves the objects it influences along a rising spiral. Imitates a vortex behavior by balancing two oppositely directed forces: centrifugal and centripetal. The vortex diameter is determined by the geometry capsule diameter. Supported geometry includes a single cylindrical shape.

Unique properties (variables):

  • Centrifugal Velocity – the speed of the object’s movement along the tangent relative to the circumference of a tornado.
  • Centrifugal Power – the force accelerating the object to Centrifugal Velocity. Must be high enough for objects affected by the FF to achieve the Centrifugal Velocity depending on their mass.
  • Attraction Power – the magnitude of force keeping the objects within the vortex. Together with Centrifugal Velocity/Power, this makes the objects move in a circular pattern around the vortex’s axis. If this value is too high, the objects would simply start rotating directly at the vortex’s axis. If it is too low, the objects would be pushed out of the FF volume by the centrifugal force. A normal balance of Centrifugal/Attraction makes the object move in a spiral pattern close to the border of the vortex cylinder.
  • Lifting Velocity – the speed of the object’s ascending motion.
  • Lifting Power – the force accelerating the object to Lifting Velocity. Must be high enough for the objects affected by the FF to achieve Lifting Velocity, depending on their mass. If set too low, the objects would simply roll on the surface, following the circular pattern around the vortex’s axis.

Explosion

Moves the objects it influences in a straight line from the FF center towards its boundaries, imitating an explosion. Supported geometry includes a single spherical shape.

Unique properties (variables):

  • Dispersion Velocity  the speed of the object’s movement from the center of the FF to its periphery.
  • Dispersion Power  the force accelerating the object to the Dispersion Velocity.


Directional

Moves the affected objects in a straight line with a set velocity. Imitates wind and other similar factors influencing the objects. Supported geometry include any shape set.

Unique properties (variables): 

    • Velocity – the linear speed of the object’s movement.
    • Power – the force accelerating the object to Velocity.

Tornado Advanced

Copies behavior and settings of the regular Tornado but allows you to create a vortex of a more accurate shape – narrow at the bottom and expanding to the top. Supported geometry includes a single cylindrical shape.

Unique properties (variables):

  • Bottom Radius Coefficient – the ratio of the vortex’s bottom diameter to its top’s diameter. The width of the top, just like in the regular Tornado, is defined by the diameter of the geometry capsule containing the field. The default value of 0.5 makes the vortex’s bottom 50% as wide as its top.

Attractor

Moves affected objects in a straight line with a set velocity towards the FF’s center, imitating a magnet. Supported geometry – a single shape of any kind.

Unique properties (variables):

  • Attraction Velocity  the speed of the object’s movement towards the center of FF.
  • Attraction Power  the force accelerating the object to Attraction Velocity.

Directional Animated

Essentially, this is a Directional FF with parameters that can be changed following the set rules. You can implement the same effects as the common Directional FF, offering greater variability. For example, you can implement a wind coming in gusts. Supported geometry includes any shape set.

Unique properties (variables):

  • Velocity First/Velocity Second – velocity values used to calculate the current target velocity of objects affected by the FF.
  • Power First/Power Second – force magnitude values, used to calculate the final force magnitude which is used to accelerate objects, basing upon Velocity First/Velocity Second and the current algorithm used to combine them.
  • Animation Period – the interval between the target velocity re-calculations in seconds.
  • Animation Type – the algorithm used to combine the velocities to calculate the current target velocity. Available values:
    1. Interchange – after an interval equal to the Animation Period, the target velocity immediately switches from Velocity First to Velocity Second and then back again.
    2. Random – after an interval equal to the Animation Period, a random velocity is chosen from the Velocity First-Velocity Second range.
    3. Lerp – throughout the Animation Period, the target velocity gradually changes from Velocity First to Velocity Second and then back again.
On this page:


Exodus SDK © 2005-2023, 4A Games Limited. Developed by 4A Games®.
4A Games® is a registered trademark, and 4A Games Limited, Exodus SDK and their respective logos are trademarks of 4A Games Limited.
Published by Deep Silver. Deep Silver is a division of PLAION GmbH, Austria. Deep Silver and Plaion are registered trademarks of PLAION GmbH.
Metro Exodus is inspired by the internationally best-selling novels METRO 2033 and METRO 2034 by Dmitry Glukhovsky.
All other trademarks, logos and copyrights are property of their respective owners. All rights reserved.
By using this site, downloading or using the Exodus SDK or related content, you are agreeing to be bound by the terms of the End User License Agreement.


EULA