positionCameraToWorld: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<dl class="command_description"> <dt></dt>" to "<dl class="command_description"> <dt></dt>")
m (Text replacement - "]]<dd class="note">" to "]]</dt> <dd class="note">")
Line 38: Line 38:
<code>[[if]] (([[positionCameraToWorld]] [0,0,0] [[distance]] [[player]])>2) [[then]] {[[hint]] "3rd person"} [[else]] {[[hint]] "1st person"};</code>
<code>[[if]] (([[positionCameraToWorld]] [0,0,0] [[distance]] [[player]])>2) [[then]] {[[hint]] "3rd person"} [[else]] {[[hint]] "1st person"};</code>
<dd class="notedate">Posted on 22:45, 17 October 2010 (CEST)</dd>
<dd class="notedate">Posted on 22:45, 17 October 2010 (CEST)</dd>
<dt class="note">[[User:Worldeater|Worldeater]]<dd class="note">
<dt class="note">[[User:Worldeater|Worldeater]]</dt>
<dd class="note">
The camera coordinate system is different from the model coordinate system: when [[modelToWorld]] uses [x, y, z] then positionCameraToWorld uses [x, z, y]. So for a steady camera the following is true:
The camera coordinate system is different from the model coordinate system: when [[modelToWorld]] uses [x, y, z] then positionCameraToWorld uses [x, z, y]. So for a steady camera the following is true:
<code>[[positionCameraToWorld]] [5,10,15] == _camera [[modelToWorld]] [5,15,10];</code>
<code>[[positionCameraToWorld]] [5,10,15] == _camera [[modelToWorld]] [5,15,10];</code>

Revision as of 18:32, 12 June 2021

Hover & click on the images for description

Description

Description:
Description needed
Groups:
Camera ControlPositions

Syntax

Syntax:
Syntax needed
Parameters:
cameraPos: PositionRelative - Relative camera position, format [x, z, y]
Note that y and z for this command are swapped around, which is different from your usual model space coordinates format
Return Value:
Array - Camera world position, format PositionAGL

Examples

Example 1:
_worldPos = positionCameraToWorld _cameraPos;
Example 2:
Example demonstrating reversed y and z:player setDir 0; //assuming player is looking forward hint str [positionCameraToWorld [0,0,0], positionCameraToWorld [0,0,1]]; //[[2481.35,5671.21,1.51395],[2481.35,5672.21,1.46955]]

Additional Information

See also:
modelToWorldmodelToWorldVisualgetCameraViewDirectionweaponDirectioneyeDirectionvectorDirvectorDirVisual

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
Posted on October 17, 2008 - 11:25
Kronzky
By measuring the distance between the camera and the player one can determine whether 1st-person or 3rd-person view is being used: if ((positionCameraToWorld [0,0,0] distance player)>2) then {hint "3rd person"} else {hint "1st person"};
Posted on 22:45, 17 October 2010 (CEST)
Worldeater
The camera coordinate system is different from the model coordinate system: when modelToWorld uses [x, y, z] then positionCameraToWorld uses [x, z, y]. So for a steady camera the following is true: positionCameraToWorld [5,10,15] == _camera modelToWorld [5,15,10];
Posted on July 20, 2014 - 20:07 (UTC)
AgentRev
When over land, the position returned is in format PositionATL, and over sea, PositionASLW.