Arma 3 Scripting

Command in Math - Geometry

lineIntersects

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

Description

Checks for object intersection with a virtual line between two positions. Since Arma 3 v2.20, there is an alternative syntax that does multiple checks in parallel, faster than multiple calls.

Note

  • Does not work under water.
  • Max hardcoded distance is 1000m.

Syntax

Syntax 1

lineIntersects [begPos, endPos, objIgnore1, objIgnore2]

Parameters:

Returns: Boolean - true if an intersection happens with an object (not with terrain)

Syntax 2

since arma3 2.20

lineIntersects [[element1, element2, ...]]

Parameters:

Returns: Array with [result1, result2, ...] - true if an intersection happens with an object (not with terrain) for the Nth element

Examples

Example 1

private _hasStraightLineToChopper = lineIntersects [eyePos player, aimPos chopper, player, chopper];

Example 2

Alternative syntax to check intersections in parallel:

private _enemies = units opfor;
private _enemyDataArray = _enemies apply { [eyePos player, aimPos _x, player, _x] };
private _result = lineIntersects [_enemyDataArray];

See also

lineIntersectsSurfaces · lineIntersectsObjs · lineIntersectsWith · terrainIntersect · terrainIntersectASL · terrainIntersectAtASL · intersect · cursorObject · cursorTarget · checkVisibility

Community notes