Difference between revisions of "BIS fnc transformVectorDirAndUp"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\| *(arg|eff|mp|serverExec|gr[0-9]) *= *(.*) * *\|([^=]{12})" to "|$1=$2 |descr=$3")
m (Text replacement - " |r1=[[" to " |r1= [[")
(One intermediate revision by the same user not shown)
Line 1: Line 1:
| arma3
|game1= arma3
|version1= 1.98
|gr1= Vectors
|gr1= Vectors
Line 23: Line 22:
|p5= roll (Optional): [[Number]] - roll angle. Default: 0
|p5= roll (Optional): [[Number]] - roll angle. Default: 0
|r1=[[Array]] in format [vectorDir, vectorUp]
|r1= [[Array]] in format [vectorDir, vectorUp]
|x1= <code>_vDirUp = <nowiki>[[</nowiki>[[vectorDirVisual]] uav, [[vectorUpVisual]] uav], 0, 0, 90] [[call]] [[BIS_fnc_transformVectorDirAndUp]];</code>
|x1= <code>_vDirUp = <nowiki>[[</nowiki>[[vectorDirVisual]] uav, [[vectorUpVisual]] uav], 0, 0, 90] [[call]] [[BIS_fnc_transformVectorDirAndUp]];</code>

Latest revision as of 22:35, 7 August 2021

Hover & click on the images for description


Rotates both vectorDir and vectorUp on 3 axes: z (yaw), x (pitch) and y (roll). Positive angle direction is according to the right hand rule.
The vectors are rotated first on z axis then on x axis then on y axis. For example standard [[0,1,0],[0,0,1]] pair rotated 90 degrees on every axis will result in [[0,0,1],[0,-1,0]]


[vectorDirAndUp, yaw, pitch, roll] call BIS_fnc_transformVectorDirAndUp
[vectorDirAndUp, yaw, pitch, roll]: Array
vectorDirAndUp (Optional): Array in format [vectorDir, vectorUp]. Default: [[0,1,0],[0,0,1]]
yaw (Optional): Number - yaw angle. Default: 0
pitch (Optional): Number - pitch angle. Default: 0
roll (Optional): Number - roll angle. Default: 0
Return Value:
Array in format [vectorDir, vectorUp]


Example 1:
_vDirUp = [[vectorDirVisual uav, vectorUpVisual uav], 0, 0, 90] call BIS_fnc_transformVectorDirAndUp;
Example 2:
Create UAV object and make it pitch with mouse up/down and roll with mouse left/right: uav = "B_UAV_05_F" createVehicle [0,0,0]; uav attachTo [player, [0,30,10]]; findDisplay 46 displayAddEventHandler ["MouseMoving", { uav setVectorDirAndUp ( [ [vectorDirVisual uav, vectorUpVisual uav], getDirVisual uav, _this select 2, _this select 1 ] call BIS_fnc_transformVectorDirAndUp ); }];

Additional Information

See also:


Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note