ProNav Component Settings

Get familiar with all settings on the AC_ProNav component.

This page provides detailed explanations of all settings on the AC_ProNav component. By changing these settings, you can easily customize the flight path and behavior of your projectile.

Main Settings

ProNav Method

Here you can select the guidance law that the projectile will use to intercept its target.

  • Line of Sight: Steer the projectile towards the current location of the target. No advanced guidance laws are used. This method is simple, but it performs poorly against moving or evading targets.

  • True ProNav: Proportional Navigation is used to steer the projectile onto a collision course. This method is effect against moving and even evading targets.

  • Zero Effort Miss: An advanced form of Proportional Navigation with slightly improved performance against maneuvering targets. This projectiles using this algorithm react less to evasive maneuvers while far away from their target, but will steer more aggressively the closer they get.

True ProNav and Zero Effort Miss both have the same impact on performance (which is very low anyways).

If you want to create a realistic missile simulation, note that older missiles often didn't have the sensors required to feed the more modern Zero Effort Miss algorithm.

This parameter determines how fast the projectile will try to steer itself onto a collision course. When using a high value, the projectile will perform more aggressive maneuvers initially, before transitioning into a straighter flight path (once a collision course is established).

A recommended range is between 3-5.

Using a high N value might make your projectile more vulnerable to evasive maneuvers. However, based on the projectile's speed and maneuverability, a high N value might still make sense.

If the projectile is highly maneuverable and faster than its target, a lower N value (2-3) makes sense. In this case, the projectile will close in on its target without reacting too strongly to evasive maneuvers.

However, a slower projectile might need to follow the shortest path to have a chance at intercepting its target. In this case, a high N value should be chosen (4-5). The same applies when the projectile is not very maneuverable. Then, it needs to quickly establish a collision course so that it can use all its steering capabilities to counteract evasive maneuvers.

Steering Strength

The guidance algorithm determines the required acceleration for the projectile to intercept its target. However, a real-world missile or projectile may not be able to achieve this commanded acceleration.

The Steering Strength defines the projectile's maximum turning rate over a given distance. Recommended Range: 0.1 (low) - 5 (high)

When using a low Steering Strength, the projectile might not be able to follow the ideal path calculated by the guidance law. This will lead to two outcomes:

  • The projectile cannot perform sudden turns. Its movement will therefore look more natural and realistic.

  • The projectile might not be able to achieve the acceleration required to hit its target, resulting in a miss.

Note that because this parameter works independently of velocity, a projectile can follow the same flight path regardless of its speed, as long as the Steering Strength remains the same.

Auto Interp Velocity

When enabled, the AC_ProNav component will try to automatically steer its owner. This can only works if the owner also uses a Projectile Movement component.

With Auto Interp Velocity disabled, the component will simply calculate an acceleration value (but not do anything with it).

The main reason to disable this setting is when the AC_ProNav component is running on a high tick interval. Since the component operates independently of tick rate, you can increase the tick interval to save resources.

However, if the component (that is now running on a high tick interval) is also updating the velocity of its owner, the flight path might look choppy. In this case, you might want to update the projectile's velocity on the projectile blueprint itself, running on-tick.

Note that the component has a minimal impact on overall performance, so there should generally be no need to increase the tick interval. Additionally, a higher tick interval can also lead to worse tracking performance. In any case, it is recommended to update the component at least ~4 times per second to ensure a stable flight path.

Course Correction

The guidance laws can only function properly under certain starting conditions. In short, this means that the projectile should be fired towards the general direction of the target. Otherwise, the algorithm might not be able to properly intercept its target.

This is a general weakness of Proportional Navigation; however, there are workarounds.

The Course Correction setting defines the projectile's behavior when the guidance algorithm is unable to establish a collision course:

  • None: No course correction is active. The projectile will always follow the path calculated by the guidance algorithm - even if this path will not result in a proper interception.

  • Auto Correct Course: The component will automatically detect when the guidance algorithm is unable to properly function. Whenever this happens, it will try to align the projectile with the target - ensuring that optimal starting conditions are given.

  • Stop Steering: The component will completely stop steering its owner when the guidance algorithm is unable to function properly. Projectiles with this setting enabled will fly in a straight line when the proper starting conditions are not met.

Overall, I recommend using Auto Correct Course unless a realistic simulation of a less modern interception missile is the goal (in this case, use Stop Steering).

Climb to Height

When enabled, the projectile will climb to a certain height before homing into its target. Homing will still mostly work during the climb, as only the Z component of the commanded acceleration is overridden.

The following parameters define the behavior of the climb:

  • Climb Height: Defines how many units the projectile will climb upwards before fully homing into its target (target height = spawn height + climb height).

  • Climbing Speed: Defines how much of the projectile's total steering strength will be used for the climb. Range: 0 - 1 (e.g., a value of 0.3 means that 30% of the projectile's total steering strength will be used to steer upwards; the rest will be used to home into the target).

  • Homing Range: Defines a horizontal radius around the target (imagine a cylinder with infinite height around the target). Once the projectile enters this range, the Climb to Height behavior will be disabled. This can be used to prevent the projectile from flying over the target.

Important: The climbing behavior might steer the projectile off-course, leading to improper starting conditions (see Course Correction). -> Only enable Climb to Height in combination with Auto Correct Course!

If you enabled Climb to Height but nothing is happening, ensure that you spawn your missiles outside of the Homing Range (as the behavior will be disabled otherwise).

Destroy on Miss

When enabled, the projectile will self-destroy when it misses its target.

A miss is defined as follows: The projectile is withing the defined Detonation Range and starts to gain distance (fly away) from its target.

This feature could be used for explosive projectiles such as missiles so that they detonate when closest to their target (instead of relying on a direct hit to trigger the explosion). It would make sense to set the detonation range to roughly the explosion radius of the projectile.

Avoid Terrain

When enabled, the projectile will scan for obstacles in its path and steer upwards to avoid them.

The following parameters define this behavior:

  • Terrain Scan Angle: This parameter defines at what angle the check is performed. This angle is measured in steepness (%). For example, a value of 100 means that the scan will be performed in a 45° downwards angle (relative to the velocity direction).

  • Climbing Speed: Defines how much of the projectile's total steering strength will be used for steering upwards to avoid obstacles. Range: 0 - 1 (e.g., a value of 0.3 means that 30% of the projectile's total steering strength will be used to avoid obstacles; the rest will be used to home into the target).

  • Homing Range: Defines a horizontal radius around the target (imagine a cylinder with infinite height around the target). Once the projectile enters this range, the Avoid Terrain behavior will be disabled. This can be used to prevent the projectile from flying over the target (e.g., when the target is hiding behind cover).

Important: Avoiding an obstacle might cause to the projectile to go off-course, leading to improper starting conditions (see Course Correction). -> Only enable Avoid Terrain in combination with Auto Correct Course!

It should also be noted that this behavior is rather simple in its design. The projectile might not be able to properly avoid complex shapes, roofs, or similar.

Safe Climbing

When enabled, the projectile will always enable course correction to realign itself with the target after performing an upwards flight maneuver (initiated through the Climb to Height or Avoid Terrain behavior.

Sometimes, the upwards climb caused by the Climb to Height or Avoid Terrain maneuver can steer the projectile off-course. To understand this why this might be a problem, you must understand two concepts:

  • Initial flight conditions: The projectile must be launched in the general direction of the target; otherwise, proportional navigation might not function properly.

  • Course correction: When the projectile is gaining distance to its target, the algorithm will detect this and assume that the missile is off-course. It will then realign itself with the target, before re-enabling course correction.

When the projectile lost its tracking, course correction will kick in and steer the projectile towards the target in most cases. However, proportional navigation might sometimes fail to work properly, even if the projectile losing distance to its target. Specifically, this occurs when the projectile is on a trajectory heavily misaligned with the target - but not so misaligned as to lose distance to the target.

Under normal operation, this situation rarely arises. However, the Climb to Height or Avoid Terrain maneuvers sometimes steer the projectile onto such sub-optimal flight trajectories.

The Safe Climbing option will prevent this from happening. Keep in mind that this may result in the projectile following a less direct flight path, as it may realign itself with the target more often than necessary.

Visual Effects

Overshoot Rotation

Enabling this setting causes the projectile to rotate front inwards and back outwards during turns. This adds a realistic look and feel to missile-like projectiles by simulating the thruster firing off-center to achieve a change in velocity.

The following parameters define this behavior:

  • Overshoot Intensity: Defines how far the projectile's front will rotate inwards during turns. The higher this value, the more noticeable the effect will be. Recommended range: 0.5 (weak) - 1.75 (very strong)

  • Overshoot Speed: Defines how rapidly the projectile will adjust its rotation to incorporate the overshooting effect. Using a low value can prevent the projectile from jittering during sudden or repeated turns; however, this might also lead to the behavior being less defined during short turns. Recommended range: 0.5 (slow) - 1.75 (very fast)

Jitter Effect

Enabling this setting causes the projectile to randomly jitter during its flight. This effect can enhance the projectile's perception of speed and power.

The intensity of the jitter effect can be controlled by tweaking the 'JitterIntensity' value.

Last updated