# sm.projectile.solveBallisticArc

Calculate the ballistic arc of a projectile. There are two potential solutions to the problem. 

**Kind:** Function

**Environments:** Game

## Game

``` { .lua .api-signature }
sm.projectile.solveBallisticArc( firePos, targetPos, velocity, gravity )
```

[Open the full Game reference](../Game-Script-Environment/Static-Functions/sm.projectile.md#solveballisticarc)

One with a low fire angle and one with a high fire angle. Solutions can be nil if no solution is found.

**Parameters:**

| Name | Type | Description |
| --- | --- | --- |
| `firePos` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The position the projectile is fired from. |
| `targetPos` | [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The position the projectile should hit. |
| `velocity` | number | The fire velocity of the projectile. |
| `gravity` | number | The gravity ( positive down ). |

**Returns:**

| Type | Description |
| --- | --- |
| [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The low angle solution |
| [Vec3](../Game-Script-Environment/Userdata/Vec3.md) | The high angle solution. |
