Arma 3 Scripting

Command in Object Manipulation

eyeDirection

Also available as Markdown and JSON, or read the original wiki page.

Description

Returns the direction object is watching (eyes, or a vehicle's primary observer).

Syntax

eyeDirection unit

Parameters:

Returns: Vector3D

Examples

Example 1

Keep a can in front of the player's face:

Can = "Land_Can_V3_F" createVehicle getPosATL player;
onEachFrame {
    _eyePos = eyePos player;
    _eyeDir = eyeDirection player;
    Can setPosASL [
        _eyePos select 0 + (_eyeDir select 0),
        _eyePos select 1 + (_eyeDir select 1),
        _eyePos select 2 + (_eyeDir select 2)
    ]
};

Example 2

Draw AI eye direction (green) and weapon direction (red) in 3D:

Bob = createGroup east createUnit ["O_Soldier_F", [0,0,0], [], 0, "NONE"];
Bob setVehiclePosition [player modelToWorld [0,100,0], [], 0, "NONE"];
onEachFrame {
    _beg = ASLToAGL eyePos Bob;

    _endE = _beg vectorAdd (eyeDirection Bob vectorMultiply 100);
    drawLine3D [_beg, _endE, [0,1,0,1]];

    _endW = _beg vectorAdd (Bob weaponDirection currentWeapon Bob vectorMultiply 100);
    drawLine3D [_beg, _endW, [1,0,0,1]];
};

See also

positionCameraToWorld · weaponDirection · getCameraViewDirection · vectorDir · vectorDirVisual

Community notes

Killzone_Kid

This command should have really been named headDirection instead of eyeDirection as one could mistakenly think that eyes direction of your avatar correspond to the direction of the centre of your screen. Play with the script in #Example 1 to find out limitations. If you need centre of screen direction, use positionCameraToWorld instead.