screenToWorld: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
m (Added version to alt syntax)
Line 32: Line 32:


|s2= camera [[screenToWorld]] position
|s2= camera [[screenToWorld]] position
|s2since= arma3 2.18


|p21= camera: [[Object]] - camera object
|p21= camera: [[Object]] - camera object

Revision as of 17:24, 26 July 2024

Hover & click on the images for description

Description

Description:
Returns the position on landscape (PositionAGL) corresponding to the given point on screen (in UI coordinates).
This command performs an intersection with the ground/water surface, from the camera position along the screenToWorldDirection vector up to viewDistance for terrain intersection and 2 * viewDistance for water intersection. In other words, it's similar to doing:
private _p1 = AGLtoASL positionCameraToWorld [0,0,0]; // camera position ASL private _vector = screenToWorldDirection_screenPos; // "aim" vector private _p2 = _p1 vectorAdd (_vector vectorMultiply viewDistance * 2); // the ray doesn't go beyond 2 * view distance ASLtoAGL terrainIntersectAtASL [_p1, _p2]
Groups:
Positions

Syntax

Syntax:
screenToWorld screen
Parameters:
screen: Array - screen position [x,y] (see SafeZone for more info)
Return Value:
Array - PositionAGL, world position on surface [x,y,0]

Alternative Syntax

Syntax:
camera screenToWorld position
Parameters:
camera: Object - camera object
position: Array - screen position [x,y] (see SafeZone for more info)
Return Value:
Array - PositionAGL, world position on surface [x,y,0]

Examples

Example 1:
_wPos = screenToWorld [0.5, 0.5];

Additional Information

See also:
SafeZone worldToScreen screenToWorldDirection

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note