Difference between revisions of "GetAngleZ - ObjectReference"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Dragoonwraith
(→‎Notes: porting from GetAngle)
imported>Rasikko
 
(3 intermediate revisions by 2 users not shown)
Line 24: Line 24:


* 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 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:
* 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
<source lang="papyrus">float GameAngleZ  ;the game's version
float TrigAngleZ ;the rest of the world's interpretation of the same
float TrigAngleZ ;the rest of the world's interpretation of the same
 
GameAngleZ = Game.GetPlayer().GetAngleZ()
GameAngleZ = Game.GetPlayer().GetAngleZ()
if ( GetAngleZ < 90 )
if ( GameAngleZ < 90 )
  TrigAngleZ = 90 - GameAngleZ
  TrigAngleZ = 90 - GameAngleZ
else
else
  TrigAngleZ = 450 - GameAngleZ
  TrigAngleZ = 450 - GameAngleZ
endif
endif</source>


== See Also ==
== See Also ==

Latest revision as of 10:43, 28 December 2017

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]