setVectorDir: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) |
Lou Montana (talk | contribs) m (Text replacement - "{{HashLink" to "{{Link") |
||
(3 intermediate revisions by the same user not shown) | |||
Line 26: | Line 26: | ||
|descr= Set object's direction vector. Up vector will remain unchanged. | |descr= Set object's direction vector. Up vector will remain unchanged. | ||
|pr= The effect is {{Icon|localeffect|32}} when using [[setVectorDir]] on a mine. Use a position modification to broadcast [[setVectorDir]]'s change (see {{ | |pr= The effect is {{Icon|localeffect|32}} when using [[setVectorDir]] on a mine. Use a position modification to broadcast [[setVectorDir]]'s change (see {{Link|#Example 2}}). | ||
|s1= object [[setVectorDir]] | |s1= object [[setVectorDir]] vectorDir | ||
|p1= object: [[Object]] | |p1= object: [[Object]] | ||
|p2= | |p2= vectorDir: [[Array]] format [[Vector3D]] | ||
|r1= [[Nothing]] | |r1= [[Nothing]] | ||
|x1= < | |x1= <sqf>player setVectorDir [5,6,1];</sqf> | ||
|x2= < | |x2= <sqf> | ||
_myMine | // provided _myMine is local | ||
_myMine | _myMine setVectorDir [0.3, 1, 0]; | ||
_myMine setPosWorld getPosWorld _myMine; // synchronises the mine's direction over the network (special case) | |||
</sqf> | |||
|seealso= [[vectorDir]] [[vectorUp]] [[setVectorUp]] [[setVectorDirAndUp]] [[vectorDiff]] [[vectorAdd]] [[vectorMultiply]] [[vectorCrossProduct]] [[vectorDistance]] [[vectorMagnitudeSqr]] [[vectorDistanceSqr]] [[vectorCos]] [[vectorMagnitude]] [[vectorDotProduct]] [[vectorNormalized]] [[vectorFromTo]] | |seealso= [[vectorDir]] [[vectorUp]] [[setVectorUp]] [[setVectorDirAndUp]] [[vectorDiff]] [[vectorAdd]] [[vectorMultiply]] [[vectorCrossProduct]] [[vectorDistance]] [[vectorMagnitudeSqr]] [[vectorDistanceSqr]] [[vectorCos]] [[vectorMagnitude]] [[vectorDotProduct]] [[vectorNormalized]] [[vectorFromTo]] | ||
Line 55: | Line 57: | ||
|timestamp= 20090303210600 | |timestamp= 20090303210600 | ||
|text= [[setVectorDir]] can only influence an object's pitch. It can not influence bank. Example: | |text= [[setVectorDir]] can only influence an object's pitch. It can not influence bank. Example: | ||
< | <sqf>player setVectorDir [0,0,1];</sqf> | ||
*If the player is facing 0 degrees (north), then this will do NOTHING. | *If the player is facing 0 degrees (north), then this will do NOTHING. | ||
*If the player is facing 90 degrees (east), then this will make him pitch 90 degrees up. | *If the player is facing 90 degrees (east), then this will make him pitch 90 degrees up. | ||
Line 67: | Line 69: | ||
examples: | examples: | ||
< | <sqf> | ||
// 0 degrees (north) | |||
player setVectorDir | |||
[ | [ | ||
sin 0, // equals 0 | |||
cos 0, // equals 1 | |||
1 | 1 | ||
]; | ]; | ||
// 45 degrees (north-east) | |||
player setVectorDir | |||
[ | [ | ||
sin 45, // equals 0.707 | |||
cos 45, // equals 0.707 | |||
1 | 1 | ||
];</ | ]; | ||
</sqf> | |||
If you are doing trigonometric calculations, it may be better to use [[setVectorDir]] rather than [[setDir]], since sine and cosine have already been calculated and will not need to be re-calculated | If you are doing trigonometric calculations, it may be better to use [[setVectorDir]] rather than [[setDir]], since sine and cosine have already been calculated and will not need to be re-calculated | ||
(also, [[setDir]] probably uses [[setVectorDir]] anyway.) | (also, [[setDir]] probably uses [[setVectorDir]] anyway.) | ||
}} | }} |
Latest revision as of 17:43, 4 January 2023
Description
- Description:
- Set object's direction vector. Up vector will remain unchanged.
- Problems:
- The effect is LELocal when using setVectorDir on a mine. Use a position modification to broadcast setVectorDir's change (see Example 2).
- Groups:
- Math - Vectors
Syntax
- Syntax:
- object setVectorDir vectorDir
- Parameters:
- object: Object
- vectorDir: Array format Vector3D
- Return Value:
- Nothing
Examples
- Example 1:
- Example 2:
- // provided _myMine is local _myMine setVectorDir [0.3, 1, 0]; _myMine setPosWorld getPosWorld _myMine; // synchronises the mine's direction over the network (special case)
Additional Information
- See also:
- vectorDir vectorUp setVectorUp setVectorDirAndUp vectorDiff vectorAdd vectorMultiply vectorCrossProduct vectorDistance vectorMagnitudeSqr vectorDistanceSqr vectorCos vectorMagnitude vectorDotProduct vectorNormalized vectorFromTo
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
- Posted on Mar 16, 2008 - 09:50 (UTC)
- Command can be also used to rotate camera in all three axis.
- Posted on Mar 03, 2009 - 21:06 (UTC)
-
setVectorDir can only influence an object's pitch. It can not influence bank. Example:
- If the player is facing 0 degrees (north), then this will do NOTHING.
- If the player is facing 90 degrees (east), then this will make him pitch 90 degrees up.
- Posted on Aug 17, 2015 - 03:27 (UTC)
-
In Arma 3, setVectorDir does not control an object's pitch or bank, in fact, it is not possible to change either of those solely using setVectorDir. This command can only affect horizontal rotation along the x-plane, unless an object first has it is vectorUp changed to something other than [0,0,1]. Correct input to setVectorDir should be calculated using the trigonometric functions sin and cos.
examples:
If you are doing trigonometric calculations, it may be better to use setVectorDir rather than setDir, since sine and cosine have already been calculated and will not need to be re-calculated (also, setDir probably uses setVectorDir anyway.)
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint: Elite version 1.00
- Operation Flashpoint: Elite: New Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Math - Vectors
- Scripting Commands: Global Effect