---
name: "BIS_fnc_transformVectorDirAndUp"
type: function
status: ok
groups: ["Vectors"]
arma3_since: "1.98"
locality: {"argument": null, "effect": null, "server_exec": false}
source: https://community.bistudio.com/wiki/BIS_fnc_transformVectorDirAndUp
revid: 352125
updated: 2024-02-01T23:25:06Z
---

# BIS_fnc_transformVectorDirAndUp

*Function · Vectors · Arma 3 v1.98*

## Description

Rotates both [vectorDir](../commands/vectorDir.md) and [vectorUp](../commands/vectorUp.md) on 3 axes: z (yaw), x (pitch) and y (roll). Positive angle direction is according to the [right hand rule](https://en.wikipedia.org/wiki/Right-hand_rule).

> [!NOTE]
> The vectors are rotated first on **z** axis then on **x** axis then on **y** axis. For example standard [[0,1,0],[0,0,1]] pair rotated 90 degrees on every axis will result in [[0,0,1],[0,-1,0]]

## Syntax

```sqf
[vectorDirAndUp, yaw, pitch, roll] call BIS_fnc_transformVectorDirAndUp
```

**Parameters:**

- `vectorDirAndUp`: [Array](../topics/Array.md) in format [vectorDir, vectorUp] -(Optional, default [[0,1,0],[0,0,1]])
- `yaw`: [Number](../topics/Number.md) - (Optional, default 0) yaw angle
- `pitch`: [Number](../topics/Number.md) - (Optional, default 0) pitch angle
- `roll`: [Number](../topics/Number.md) - (Optional, default 0) roll angle

**Returns:** [Array](../topics/Array.md) in format [vectorDir, vectorUp]

## Examples

### Example 1

```sqf
private _vDirUp = [[vectorDirVisual uav, vectorUpVisual uav], 0, 0, 90] call BIS_fnc_transformVectorDirAndUp;
```

### Example 2

Create UAV object and make it pitch with mouse up/down and roll with mouse left/right:

```sqf
uav = "B_UAV_05_F" createVehicle [0,0,0];
uav attachTo [player, [0,30,10]];
findDisplay 46 displayAddEventHandler ["MouseMoving", 
{
    uav setVectorDirAndUp
    (
        [
            [vectorDirVisual uav, vectorUpVisual uav],
            getDirVisual uav,
            _this select 2,
            _this select 1
        ]
        call BIS_fnc_transformVectorDirAndUp
    );
}];
```

## See also

[vectorDir](../commands/vectorDir.md) · [vectorUp](../commands/vectorUp.md) · [setVectorDirAndUp](../commands/setVectorDirAndUp.md)

<sub>Source: [BI Community Wiki — BIS fnc transformVectorDirAndUp](https://community.bistudio.com/wiki/BIS_fnc_transformVectorDirAndUp) (revision 352125).</sub>
