GET_CAM_MATRIX
Returns the world matrix of the specified camera.
Signature
void GET_CAM_MATRIX(Cam camera, Vector3* rightVector, Vector3* forwardVector, Vector3* upVector, Vector3* position);Parameters
| Name | Type | Description |
|---|---|---|
camera | Cam | — |
rightVector | Vector3* | — |
forwardVector | Vector3* | — |
upVector | Vector3* | — |
position | Vector3* | — |
Returns void
Description
Returns the world matrix of the specified camera. To turn this into a view matrix, calculate the inverse.
Usage
local rightVector, forwardVector, upVector, position = GetCamMatrix(camera)
-- always works, by hash
local rightVector, forwardVector, upVector, position = Citizen.InvokeNative(0x8f57a89d, camera, Citizen.PointerValueVector(), Citizen.PointerValueVector(), Citizen.PointerValueVector(), Citizen.PointerValueVector())JavaScript and C#
const [rightVector, forwardVector, upVector, position] = GetCamMatrix(camera);
// by hash
const [rightVector, forwardVector, upVector, position] = Citizen.invokeNative('0x8f57a89d', camera, Citizen.pointerValueVector(), Citizen.pointerValueVector(), Citizen.pointerValueVector(), Citizen.pointerValueVector());var rightVector = new OutputArgument();
var forwardVector = new OutputArgument();
var upVector = new OutputArgument();
var position = new OutputArgument();
Function.Call((Hash)0x8f57a89d, camera, rightVector, forwardVector, upVector, position);
// rightVector.GetResult<Vector3>()
// forwardVector.GetResult<Vector3>()
// upVector.GetResult<Vector3>()
// position.GetResult<Vector3>()- Pointer (out) arguments are not passed in Lua/JS: their values are returned after the result, in order.
Sources
Something wrong or missing? Contribute a verified note — corrections ship through pull requests.