GetElementBoneQuaternion

From Multi Theft Auto: Wiki
Revision as of 20:05, 15 September 2024 by Nico834 (talk | contribs) (Add documentation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

ADDED/UPDATED IN VERSION 1.6.0 r22722:

This function retrieves how a particular bone rotates in relation to the element.
The use of quaternions are more effective and do not generate issues like gimbal lock that might arise with Euler angles, so they are a preferable choice for rotation.

Syntax

int, int, int, int getElementBoneQuaternion(element ped, int bone)

Required Arguments

  • ped: The element (ped or player) from which the bone's rotation will be retrieved.
  • bone: The ID of the bone to retrieve the quaternion of.
  • The bone ID corresponds to specific body parts like arms, legs, spine, head, etc.
  • The full list of bones is available in the Bone IDs reference.

Returns

Returns four float values:

  • x: The quaternion's coefficient of the 𝑖 component, representing rotation around the x-axis.
  • y: The quaternion's coefficient of the 𝑗 component, representing rotation around the y-axis.
  • z: The quaternion's coefficient of the 𝑘 component, representing rotation around the z-axis.
  • w: The real part of the quaternion, which is linked to the angle of rotation.

Requirements

Minimum server version n/a
Minimum client version 1.6.0-9.22722

Note: Using this feature requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version client="1.6.0-9.22722" />

Example

Click to collapse [-]
Client

This example retrieves the rotation of the player's head in quaternion.
The retrieved values ​​can be used for calculations.

local playerBone = 1
local playerBoneX, playerBoneY, playerBoneZ, playerBoneW

addEventHandler("onClientResourceStart", resourceRoot,
    function()
        playerBoneX, playerBoneY, playerBoneZ, playerBoneW = getElementBoneQuaternion(localPlayer, playerBone)
    end
)

See Also