SetElementBoneRotation: Difference between revisions
Jump to navigation
Jump to search
Zangomangu (talk | contribs) mNo edit summary |
Fernando187 (talk | contribs) (Remove obsolete Requirements section) |
||
(34 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
{{Client function}} | {{Client function}} | ||
{{ | {{Added feature/item|1.5.9|1.5.8|20704|This function sets the rotation of a specific bone relative to the element. Currently the [[Element/Player|Player]] and [[Element/Ped|Ped]] element types are accepted.}} | ||
{{Tip|If you want to attach an element to a bone, see [[attachElementToBone]].}} | |||
{{Note|[[updateElementRpHAnim]] must be called after this function to apply bone rotation.}} | |||
}} | |||
{{Tip|If you want to attach an element to a bone, see [[attachElementToBone]]}} | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
bool setElementBoneRotation ( element theElement, int | bool setElementBoneRotation ( element theElement, int boneId, float yaw, float pitch, float roll ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Image:The-yaw-pitch-and-roll-angles-in-the-human-head-motion-11.png|thumb|Rotation axes]] | |||
===Required Arguments=== | ===Required Arguments=== | ||
*'''theElement:''' | *'''theElement:''' The [[element]] to set the bone rotation on. | ||
*''' | *'''boneId:''' The ID of the bone to set the rotation of. See [[Bone IDs]]. | ||
*'''yaw:''' | *'''yaw:''' The yaw rotation value. | ||
*'''pitch:''' | *'''pitch:''' The pitch rotation value. | ||
*'''roll:''' | *'''roll:''' The roll rotation value. | ||
===Returns=== | ===Returns=== | ||
Returns ''true'' if the function was successful, ''false'' otherwise. | Returns ''true'' if the function was successful, ''false'' otherwise. | ||
'' | ==Example== | ||
This example shows how you can turn a local player into a so-called 'Helicopter': | |||
<syntaxhighlight lang="lua"> | |||
local customYaw = 0 | |||
local shoulders = {22, 32} | |||
setTimer (function () | |||
customYaw = customYaw + 20 | |||
end, 10, 0) | |||
function changeBoneRotation () | |||
local yaw, pitch, roll = getElementBoneRotation (localPlayer, 2) -- Get the element's bone rotation | |||
setElementBoneRotation(localPlayer, 2, customYaw, pitch, roll) -- Set the elements' bone rotation with custom yaw | |||
for key, value in pairs (shoulders) do | |||
setElementBoneRotation(localPlayer, value, 0, 0, 0) -- Update the ped's shoulders rotation | |||
end | |||
updateElementRpHAnim(localPlayer) -- Update the ped's bone animations | |||
end | |||
addEventHandler ("onClientPedsProcessed", getRootElement(), changeBoneRotation) | |||
</syntaxhighlight> | |||
==See Also== | ==See Also== | ||
{{Client_element_functions}} | {{Client_element_functions}} |
Latest revision as of 17:24, 7 November 2024
This function sets the rotation of a specific bone relative to the element. Currently the Player and Ped element types are accepted.
Tip: If you want to attach an element to a bone, see attachElementToBone. |
Syntax
bool setElementBoneRotation ( element theElement, int boneId, float yaw, float pitch, float roll )
Required Arguments
- theElement: The element to set the bone rotation on.
- boneId: The ID of the bone to set the rotation of. See Bone IDs.
- yaw: The yaw rotation value.
- pitch: The pitch rotation value.
- roll: The roll rotation value.
Returns
Returns true if the function was successful, false otherwise.
Example
This example shows how you can turn a local player into a so-called 'Helicopter':
local customYaw = 0 local shoulders = {22, 32} setTimer (function () customYaw = customYaw + 20 end, 10, 0) function changeBoneRotation () local yaw, pitch, roll = getElementBoneRotation (localPlayer, 2) -- Get the element's bone rotation setElementBoneRotation(localPlayer, 2, customYaw, pitch, roll) -- Set the elements' bone rotation with custom yaw for key, value in pairs (shoulders) do setElementBoneRotation(localPlayer, value, 0, 0, 0) -- Update the ped's shoulders rotation end updateElementRpHAnim(localPlayer) -- Update the ped's bone animations end addEventHandler ("onClientPedsProcessed", getRootElement(), changeBoneRotation)
See Also
- getElementBoneMatrix
- getElementBonePosition
- getElementBoneRotation
- getElementBoundingBox
- getElementDistanceFromCentreOfMassToBaseOfModel
- getElementLighting
- getElementRadius
- isElementCollidableWith
- isElementLocal
- isElementOnScreen
- isElementStreamable
- isElementStreamedIn
- isElementSyncer
- isElementWaitingForGroundToLoad
- setElementBoneMatrix
- setElementBonePosition
- setElementBoneRotation
- setElementCollidableWith
- setElementStreamable
- updateElementRpHAnim
- Shared
- attachElements
- createElement
- destroyElement
- detachElements
- getAttachedElements
- getElementAlpha
- getElementAttachedOffsets
- getElementAttachedTo
- getElementByIndex
- getElementByID
- getElementChild
- getElementChildren
- getElementChildrenCount
- getElementCollisionsEnabled
- getElementColShape
- getElementData
- getAllElementData
- hasElementData
- getElementDimension
- getElementHealth
- getElementID
- getElementInterior
- getElementMatrix
- getElementModel
- getElementParent
- getElementPosition
- getElementRotation
- getElementsByType
- getElementsWithinColShape
- getElementsWithinRange
- getElementType
- getElementVelocity
- getLowLODElement
- getRootElement
- isElement
- isElementAttached
- isElementCallPropagationEnabled
- isElementDoubleSided
- isElementFrozen
- isElementInWater
- isElementLowLOD
- isElementWithinColShape
- isElementWithinMarker
- setElementAlpha
- setElementAngularVelocity
- getElementAngularVelocity
- setElementAttachedOffsets
- setElementCallPropagationEnabled
- setElementCollisionsEnabled
- setElementData
- setElementDimension
- setElementDoubleSided
- setElementFrozen
- setElementHealth
- setElementID
- setElementInterior
- setElementModel
- setElementParent
- setElementPosition
- setElementRotation
- setElementVelocity
- setLowLODElement
- getPedContactElement
- getResourceDynamicElementRoot
- getResourceRootElement