positionCameraToWorld: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (format) |
||
Line 40: | Line 40: | ||
<dd class="note"> | <dd class="note"> | ||
By measuring the distance between the camera and the player one can determine whether 1st-person or 3rd-person view is being used: | By measuring the distance between the camera and the player one can determine whether 1st-person or 3rd-person view is being used: | ||
< | <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 class="notedate">Posted on 22:45, 17 October 2010 (CEST) | ||
<dt class="note">[[User:Worldeater|Worldeater]]<dd class="note"> | <dt class="note">[[User:Worldeater|Worldeater]]<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> | ||
<!-- Note Section END --> | <!-- Note Section END --> | ||
</dl> | </dl> | ||
Line 60: | Line 60: | ||
<dt class="note">[[User:AgentRevolution|AgentRevolution]]</dt> | <dt class="note">[[User:AgentRevolution|AgentRevolution]]</dt> | ||
<dd class="note"> | <dd class="note"> | ||
When over land, the position returned is in format | When over land, the position returned is in format [[PositionATL]], and over sea, [[PositionASLW]]. | ||
</dd> | </dd> | ||
</dl> | </dl> | ||
<!-- DISCONTINUE Notes --> | <!-- DISCONTINUE Notes --> |
Revision as of 02:14, 15 September 2014
Description
- Description:
- Transforms position from camera coordinate space to world coordinate space. Camera axes are relative to camera orientation. x axis goes from left of the camera to right of the camera, z axis goes from underneath the camera to above the camera and y axis goes from back of the camera to where the camera is looking.
- Groups:
- Uncategorised
Syntax
- Syntax:
- worldPos = positionCameraToWorld cameraPos
- Parameters:
- cameraPos: Array - Relative camera position, format [x, z, y] NOTE: y and z are swapped around, different from your usual model space coordinates format
- Return Value:
- worldPos: Array - Camera world position, format Position
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:
- modelToWorld
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
Notes
- 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];
Bottom Section
- Posted on July 20, 2014 - 20:07 (UTC)
- AgentRevolution
- When over land, the position returned is in format PositionATL, and over sea, PositionASLW.