setVectorDirAndUp
Jump to navigation
Jump to search
Description
- Description:
- Sets orientation of an object. The command takes 2 vector arrays, one for vectorDir and one for vectorUp. Default object orientation will always have vectorDir pointing forward (North) along Y axis and vectorUp pointing up along Z axis - [[0,1,0],[0,0,1]], as shown on the diagram below. When attaching object to an object the axes are relative to the object that gets the attachment. If it is player object for example, then X goes from left to right, Y goes from back to front, and Z goes from down up. The setDir command is incompatible with setVectorDirAndUp and should not be used together on the same object. Using setVectorDirAndUp alone should be sufficient for any orientation. In Multiplayer, setVectorDirAndUp must be executed on the machine where the object it applied to is local.
- Groups:
- Uncategorised
Syntax
- Syntax:
- vehicle setVectorDirAndUp [[x, y, z],[x, y, z]]
- Parameters:
- vehicle: Object
- [[x, y, z],[x, y, z]]: Array
- Return Value:
- Nothing
Examples
- Example 1:
- To rotate BRICK on Z axis 90 degrees clockwise, change its vectorDir but leave vectorUp unchanged.
BRICK setVectorDirAndUp [[1,0,0],[0,0,1]];
- Example 2:
- To rotate BRICK on Y axis 90 degrees clockwise, change its vectorUp but leave vectorDir unchanged.
BRICK setVectorDirAndUp [[0,1,0],[1,0,0]];
- Example 3:
- To rotate BRICK on X axis 90 degrees (tilt forward), change both vectorDir and vectorUp accordingly.
BRICK setVectorDirAndUp [[0,0,-1],[0,1,0]];
- Example 4:
- More complex orientations
//tilt forward 90 + rotate left 90 BRICK setVectorDirAndUp [[1,0,0],[0,1,0]]; //tilt backward 45 degrees BRICK setVectorDirAndUp [[0,0.5,0.5],[0,-0.5,0.5]]; //tilt forward 30 degrees BRICK setVectorDirAndUp [[0,0.66,-0.33],[0,0.33,0.66]];
Additional Information
- See also:
- vectorUpsetVectorUpvectorDirsetVectorDir
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
Notes
- Posted on March 16, 2008 - 09:50
- Str
- Command can be also used to rotate camera in all three axis (which also mean it's possible to set camera bank).
- Posted on May 9, 2008 - 09:32
- General Barron
- The object's vectorDir can only control its pitch, while its vectorUp can only control its bank. To set an object's yaw (direction), use the setdir command, before using this command. You would think vectorUp would control pitch as well, but any pitch that would be set due to vectorUp is ignored. The same is true with vectorDir and yaw; any vectorDir that would adjust yaw is also ignored. If this doesn't make sense, try to visualize it with a box or soda can. This command does NOT work with values relative to a unit, but rather it works with world vectors (think world coordinates as opposed to model coordinates). As a result, this command can be difficult to use in many situations, because the input values needed to get a certain pitch / bank for an object vary, depending on what direction the object is facing (yaw). A function to set an object's pitch / bank can be found here
- Posted on October 23rd, 2009 - 18:39
- Chris330
- Note this odd command may now be better understood. There's a thread about it here: BI Studios Forum Thread
- Posted on 1 Jun, 2014 - 1845
- ffur2007slx2_5
-
(ArmA3 ver 1.20) setDir overwrites setVectorDirAndUp, so use setDir before BIS_fnc_setPitchBank, which is an easier workaround on vector, if changing yaw, pitch and bank are needed. setVectorDirAndUp is CCW, so if we wanna to set an obj 40 degrees CW, 170 degrees pitch and 85 degrees bank:
_obj setDir (40 - 180); [_obj, 170, 85] call BIS_fnc_setPitchBank;
Same as:_obj setVectorDirAndUp [[0.63,0.75,0.17],[-0.75,0.65,-0.084]];
Be aware that attachTo may flip vectorDir if pitch beyond 90 degrees and cause unexpected behavior to BIS_fnc_setPitchBank, e.g.[_obj, 100, 0] call BIS_fnc_setPitchBank; //vector: [-0.14,-0.09,0.98],[-0.83,-0.51,-0.17]
_obj attachTo [_logic,[0,0,2]]; [_obj, 100, 0] call BIS_fnc_setPitchBank; //vector: [0.11,0.33,0.93],[-0.06,0.94,-0.32] compass direction algorism failed if obj was attached at present.
So, working on attached obj, use raw command instead of BIS_fnc_setPitchBank.
Bottom Section
Categories:
- Scripting Commands
- Introduced with Arma version 1.09
- Arma: New Scripting Commands
- Arma: Scripting Commands
- Command Group: Uncategorised
- Scripting Commands: Global Effect
- Scripting Commands OFP Elite
- Scripting Commands ArmA
- Scripting Commands ArmA2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters