Difference between revisions of "GetAngle"
→Notes: some formatting and updating; not sure you can even write scripts like this anymore with the remnants of the old script
imported>SJML Bot (Bot creating condition functions pages.) |
imported>Dragoonwraith (→Notes: some formatting and updating; not sure you can even write scripts like this anymore with the remnants of the old script) |
||
Line 8: | Line 8: | ||
== Notes == | |||
*Z angle 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 Tamriel worldspace, | * Z angle 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. | ||
*Trigonometry with the Z angle | ** 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. | ||
** Note that standard mathematical notation has 0 starting on the ''x''-axis, rather than the ''y''-axis, and increases counter-clockwise, not clockwise. Trigonometry with the Z angle thus requires using the following conversion formula: | |||
float GetAngleZ ;the game's version | float GetAngleZ ;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 | ||
GetAngleZ = player.GetAngle Z | |||
if ( GetAngleZ < 90 ) | if ( GetAngleZ < 90 ) | ||
TrigAngleZ = 90 - GetAngleZ | |||
else | else | ||
TrigAngleZ = 450 - GetAngleZ | |||
endif | endif | ||
*X angle 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. | * X angle 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. | ||
*NOTE: You can rotate the camera when riding a horse without changing the actual direction the player's facing so GetAngle Z is kind of useless sometimes (like when using [[getLOS]]) if the player is on a horse. | * NOTE: You can rotate the camera when riding a horse without changing the actual direction the player's facing so GetAngle Z is kind of useless sometimes (like when using [[getLOS]]) if the player is on a horse. | ||
==Papyrus Version== | ==Papyrus Version== |