BIS fnc transformVectorDirAndUp: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame|Game [Vv]ersion|Game Version \(number surrounded by NO SPACES\)|Arguments in MP|Multiplayer Arguments( \("local" or "global"\))?|Effects|Execution|Effects? in MP|Multiplayer Effects(...) |
Lou Montana (talk | contribs) m (Wiki code cleanup) |
||
Line 1: | Line 1: | ||
{{Function | {{Function | ||
| arma3 | |||
|1.98 | |||
|gr1 = Vectors | |||
| [[Image:transformVectorUpAndDir.jpg|right|300px]] Rotates both [[vectorDir]] and [[vectorUp]] on 3 axes: z (yaw), x (pitch) and y (roll). Positive angle direction is according to the [https://en.wikipedia.org/wiki/Right-hand_rule right hand rule]. | |||
{{Informative| 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]]}} | {{Informative| 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]]; | |||
|p1=[vectorDirAndUp, yaw, pitch, roll]: [[Array]] | |||
|p2= vectorDirAndUp (Optional): [[Array]] in format [vectorDir, vectorUp]. Default: [[0,1,0],[0,0,1]] | |p2= vectorDirAndUp (Optional): [[Array]] in format [vectorDir, vectorUp]. Default: [[0,1,0],[0,0,1]] | ||
|p3= yaw (Optional): [[Number]] - yaw angle. Default: 0 | |p3= yaw (Optional): [[Number]] - yaw angle. Default: 0 | ||
|p4= pitch (Optional): [[Number]] - pitch angle. Default: 0 | |p4= pitch (Optional): [[Number]] - pitch angle. Default: 0 | ||
|p5= roll (Optional): [[Number]] - roll angle. Default: 0| [[Array]] in format [vectorDir, vectorUp]|x1= <code>_vDirUp = <nowiki>[[</nowiki>[[vectorDirVisual]] uav, [[vectorUpVisual]] uav], 0, 0, 90] [[call]] [[BIS_fnc_transformVectorDirAndUp]];</code>|x2= Create UAV object and make it pitch with mouse up/down and roll with mouse left/right: <code>uav = "B_UAV_05_F" [[createVehicle]] [0,0,0]; | |||
|p5= roll (Optional): [[Number]] - roll angle. Default: 0| [[Array]] in format [vectorDir, vectorUp] | |||
|x1= <code>_vDirUp = <nowiki>[[</nowiki>[[vectorDirVisual]] uav, [[vectorUpVisual]] uav], 0, 0, 90] [[call]] [[BIS_fnc_transformVectorDirAndUp]];</code> | |||
|x2= Create UAV object and make it pitch with mouse up/down and roll with mouse left/right: <code>uav = "B_UAV_05_F" [[createVehicle]] [0,0,0]; | |||
uav [[attachTo]] [<nowiki/>[[player]], [0,30,10]]; | uav [[attachTo]] [<nowiki/>[[player]], [0,30,10]]; | ||
[[findDisplay]] 46 [[displayAddEventHandler]] ["MouseMoving", | [[findDisplay]] 46 [[displayAddEventHandler]] ["MouseMoving", | ||
Line 22: | Line 40: | ||
}];</code> | }];</code> | ||
| [[vectorDir]], [[vectorUp]], [[setVectorDirAndUp]] | | [[vectorDir]], [[vectorUp]], [[setVectorDirAndUp]] | ||
}} | |||
Revision as of 22:02, 22 January 2021
Description
- 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.
- Execution:
- call
- Groups:
- Vectors
Syntax
- Syntax:
- [vectorDirAndUp, yaw, pitch, roll] call BIS_fnc_transformVectorDirAndUp;
- Parameters:
- [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]
Examples
- 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:
- vectorDirvectorUpsetVectorDirAndUp
Notes
-
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