screenToWorld: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "(\|[pr][0-9]+ *= *[^- ]*) *- *S([a-z ])" to "$1 - s$2") |
No edit summary |
||
Line 15: | Line 15: | ||
|gr1= Positions | |gr1= Positions | ||
|descr= Returns the position on landscape ([[Position#PositionAGL|PositionAGL]]) corresponding to the given point on screen (in UI coordinates). | |descr= Returns the position on landscape ([[Position#PositionAGL|PositionAGL]]) corresponding to the given point on screen (in UI coordinates). | ||
{{Feature | informative | This command performs an intersection with the ground/water surface along a ray from the camera along the [[screenToWorldVector]] vector. In other words, it's similar to doing: | |||
<sqf> | |||
private _p1 = AGLtoASL positionCameraToWorld [0,0,0]; // camera position ASL | |||
private _vector = screenToWorldVector _screenPos; // "aim" vector | |||
private _p2 = _p1 vectorAdd (_vector vectorMultiply viewDistance * 2); // terminal position is 2 x view distance | |||
ASLtoAGL terrainIntersectAtASL [_p1, _p2] | |||
</sqf> | |||
}} | |||
|s1= [[screenToWorld]] screen | |s1= [[screenToWorld]] screen | ||
Line 22: | Line 30: | ||
|r1= [[Array]] - [[Position#PositionAGL|PositionAGL]], world position on surface [x,y,0] | |r1= [[Array]] - [[Position#PositionAGL|PositionAGL]], world position on surface [x,y,0] | ||
|s2= camera [[screenToWorld]] position | |||
|p21= camera: [[Object]] - camera object | |||
|p22= position: [[Array]] - screen position [x,y] (see [[SafeZone]] for more info) | |||
|r2= [[Array]] - [[Position#PositionAGL|PositionAGL]], world position on surface [x,y,0] | |||
|x1= <sqf>_wPos = screenToWorld [0.5, 0.5];</sqf> | |x1= <sqf>_wPos = screenToWorld [0.5, 0.5];</sqf> | ||
|seealso= [[SafeZone]] [[worldToScreen]] | |seealso= [[SafeZone]] [[worldToScreen]] [[screenToWorldVector]] | ||
}} | }} |
Revision as of 20:56, 5 June 2024
Description
- Description:
- Returns the position on landscape (PositionAGL) corresponding to the given point on screen (in UI coordinates).
- 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:
Additional Information
- See also:
- SafeZone worldToScreen screenToWorldVector
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