GetAngle

From GECK
Jump to: navigation, search


A function included in the GECK for Fallout 3.

Description

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

Syntax

[help]
(angle: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