GetAngle

From GECK
Jump to: navigation, search
Link to TES4 Construction Set Wiki: GetAngle.

A function included in the GECK version 1.1.0.36.

Description

Returns the angle of the calling object relative to the world on the specified axis (X, Y, or Z).

Syntax

[help]
(float) [Object].GetAngle Axis:char{X, Y, Z}

Example

ActorRef.GetAngle Z
Player.GetAngle X

Notes

  • Special Notes (relative to GetAngle called upon the player)
    • 'Player.GetAngle X' returns a value (theorically) from -90 to 90. The true in-game range is -89 to 89, with -89 if the player is looking above himself, and 89 if player is looking at his feet. Note that the player actually is looking 89 degrees above or below horizontal - you cannot look exactly up or exactly down in game.
    • 'Player.GetAngle' Z returns a value from 0 to 360 depending on the player's current heading. Z angle is measured with the positive y-axis as 0 and increasing clockwise from there. In the Wasteland worldspace, this is North, however, the same is not true of interiors (other exterior worldspaces have not been tested) - GetAngle is based on the game's coordinate system and the Compass is based on the NorthMarker object in each cell. Therefore, GetAngle Z is only useful for determining compass directions in the exterior Wasteland worldspace.
    • The angles returned are the common layman's understanding of angles, properly termed bearings. They increase clockwise, from 0 at the north to 90 in the east. These are not the same as the standard mathematical/trigonometric "angles", which increase counterclockwise, from 0 at the east to 90 at the north. Trigonometry with the Z angle could be done using the following conversion formula:
float GetAngleZ  ;bearing
float TrigAngleZ ;standard trigonometric angle

set GetAngleZ to player.GetAngle Z
if ( GetAngleZ < 90 )
  set TrigAngleZ to 90 - GetAngleZ
else
  set TrigAngleZ to 450 - GetAngleZ
endif

See Also