GetAngleZ - ObjectReference

From the CreationKit Wiki
Jump to navigation Jump to search

Member of: ObjectReference Script

Gets this object's rotation around the z axis.

Syntax[edit | edit source]

float Function GetAngleZ() native

Parameters[edit | edit source]

None.

Return Value[edit | edit source]

This object's rotation around the Z axis, in degrees. Z angle is measured with the positive y-axis as 0 and increasing clockwise from there.

Examples[edit | edit source]

Debug.Trace("We are rotated " + GetAngleZ() + " degrees around the Z axis")

Notes[edit | edit source]

  • In the Tamriel worldspace, a Z angle of 0 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 Tamriel worldspace.
  • In addition to the above statement, if the cell doesn't contain a NorthMarker, the Compass will revert back to the coordinate system for that cell.
  • Note that standard mathematical notation has 0 starting on the x-axis, rather than the y-axis, and increases counter-clockwise, not clockwise. Trigonometry (see Math Script) with the Z angle thus requires using the following conversion formula:
float GameAngleZ  ;the game's version
float TrigAngleZ ;the rest of the world's interpretation of the same

GameAngleZ = Game.GetPlayer().GetAngleZ()
if ( GameAngleZ < 90 )
  TrigAngleZ = 90 - GameAngleZ
else
  TrigAngleZ = 450 - GameAngleZ
endif

See Also[edit | edit source]