---
name: "positionCameraToWorld"
type: command
status: ok
groups: ["Camera Control", "Positions"]
arma3_since: "0.50"
locality: {"argument": null, "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/positionCameraToWorld
revid: 378531
updated: 2026-05-04T02:19:23Z
---

# positionCameraToWorld

*Command · Camera Control, Positions · Arma 3 v0.50 · introduced in Armed Assault v1.00*

## Description

Get the world coordinate space ([AGL](../topics/Position.md#positionagl)) from a camera-relative position.

## Syntax

```sqf
positionCameraToWorld cameraPos
```

**Parameters:**

- `cameraPos`: [PositionRelative](../topics/Position.md#positionrelative) - relative camera position, format **[x, z, y]** (X = left-right, Z = below-above, Y = back-front)

  > [!IMPORTANT]
  > This command has Y and Z axes swapped around, which is different from the usual model space coordinates format ([[x, y, z]](../topics/Position.md)).

**Returns:** [PositionAGL](../topics/Position.md#positionagl) - camera world position

## Examples

### Example 1

```sqf
_worldPos = positionCameraToWorld _cameraPos;
```

### Example 2

Example demonstrating reversed Y and Z:

```sqf
player setDir 0; // assuming player is looking forward
hint str [positionCameraToWorld [0,0,0], positionCameraToWorld [0,0,1]];
/*
[
    [2481.35, 5671.21, 1.51395],
    [2481.35, 5672.21, 1.46955]
]
*/
```

### Example 3

```sqf
_cameraAGLPosition = positionCameraToWorld [0,0,0];
```

## See also

[modelToWorld](../commands/modelToWorld.md) · [modelToWorldVisual](../commands/modelToWorldVisual.md) · [getCameraViewDirection](../commands/getCameraViewDirection.md) · [weaponDirection](../commands/weaponDirection.md) · [eyeDirection](../commands/eyeDirection.md) · [vectorDir](../commands/vectorDir.md) · [vectorDirVisual](../commands/vectorDirVisual.md)

## Community notes

**Kronzky** — 2008-10-17

By measuring the distance between the camera and the player one can determine whether 1st-person or 3rd-person view is being used:

```sqf
if ((positionCameraToWorld [0,0,0] distance player)>2) then { hint "3rd person" } else { hint "1st person" };
```

---

**Worldeater** — 2010-10-17

The camera coordinate system is different from the model coordinate system: when [modelToWorld](../commands/modelToWorld.md) uses [x, y, z] then positionCameraToWorld uses [x, z, y]. So for a steady camera the following is true:

```sqf
positionCameraToWorld [5,10,15] == _camera modelToWorld [5,15,10];
```

<sub>Source: [BI Community Wiki — positionCameraToWorld](https://community.bistudio.com/wiki/positionCameraToWorld) (revision 378531).</sub>
