getCameraViewDirection: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (internal camera for human players)
m (Text replacement - " +\[ +" to " [")
 
(62 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma3dev |= Game name
|game1= arma3
|1.57|= Game version
|version1= 1.58
|arg= global|= Arguments in MP
|arg= global
____________________________________________________________________________________________


| Returns the direction unit is looking. For human player it returns direction of the "INTERNAL" [[cameraView]] only. |= Description
|gr1= Object Manipulation
____________________________________________________________________________________________


| '''getCameraViewDirection''' unit |= Syntax
|descr= Returns the direction unit is looking in render time scope. While for AI the origin for the view direction vector can be taken from <sqf inline>eyePos unit</sqf>, for human player the origin should be taken from player camera position <sqf inline>positionCameraToWorld [0,0,0]</sqf>


|p1= unit: [[Object]] |= PARAMETER1
|s1= [[getCameraViewDirection]] unit


| [[Array]] - 3D Vector |= RETURNVALUE
|p1= unit: [[Object]]


|x1= Draw AI eye direction (green), weapon direction (red) and camera direction (blue) in 3D: <code>bob = [[createGroup]] [[east]] [[createUnit]] ["O_Soldier_F", [0,0,0], [], 0, "NONE"];
|r1= [[Array]] - 3D Vector
bob [[setVehiclePosition]] <nowiki>[</nowiki>[[player]] [[modelToWorld]] [0,100,0], [], 0, "NONE"];
[[onEachFrame]]
{
_beg = [[ASLToAGL]] [[eyePos]] bob;
_endE = (_beg [[vectorAdd]] ([[eyeDirection]] bob [[vectorMultiply]] 100));
[[drawLine3D]] [ _beg, _endE, [0,1,0,1]];
_endW = (_beg [[vectorAdd]] (bob [[weaponDirection]] [[currentWeapon]] bob [[vectorMultiply]] 100));
[[drawLine3D]] [_beg, _endW, [1,0,0,1]];
_endV = (_beg [[vectorAdd]] ([[getCameraViewDirection]] bob [[vectorMultiply]] 100));
[[drawLine3D]] [_beg, _endV, [0,0,1,1]];
};</code>|= EXAMPLE1


____________________________________________________________________________________________
|x1= Draw AI eye direction (green), weapon direction (red) and camera direction (blue) in 3D:
<sqf>
Bob = createGroup east createUnit ["O_Soldier_F", [0,0,0], [], 0, "NONE"];
Bob setVehiclePosition [player modelToWorld [0,100,0], [], 0, "NONE"];
onEachFrame {
_beg = ASLToAGL eyePos Bob;
_endE = (_beg vectorAdd (eyeDirection Bob vectorMultiply 100));
drawLine3D [_beg, _endE, [0,1,0,1]];
_endW = (_beg vectorAdd (Bob weaponDirection currentWeapon Bob vectorMultiply 100));
drawLine3D [_beg, _endW, [1,0,0,1]];
_endV = (_beg vectorAdd (getCameraViewDirection Bob vectorMultiply 100));
drawLine3D [_beg, _endV, [0,0,1,1]];
};
</sqf>


| [[positionCameraToWorld]], [[weaponDirection]], [[eyeDirection]], [[vectorDir]], [[vectorDirVisual]] |= SEEALSO
|seealso= [[positionCameraToWorld]] [[weaponDirection]] [[eyeDirection]] [[vectorDir]] [[vectorDirVisual]]
 
|  |= MPBEHAVIOUR
____________________________________________________________________________________________
}}
}}
<h3 style='display:none'>Notes</h3>
<dl class='command_description'>
<!-- Note Section BEGIN -->
<!-- Note Section END -->
</dl>
<h3 style='display:none'>Bottom Section</h3>
[[Category:Arma_3:_New_Scripting_Commands_List|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]

Latest revision as of 17:48, 8 November 2023

Hover & click on the images for description

Description

Description:
Returns the direction unit is looking in render time scope. While for AI the origin for the view direction vector can be taken from eyePos unit, for human player the origin should be taken from player camera position positionCameraToWorld [0,0,0]
Groups:
Object Manipulation

Syntax

Syntax:
getCameraViewDirection unit
Parameters:
unit: Object
Return Value:
Array - 3D Vector

Examples

Example 1:
Draw AI eye direction (green), weapon direction (red) and camera direction (blue) in 3D:
Bob = createGroup east createUnit ["O_Soldier_F", [0,0,0], [], 0, "NONE"]; Bob setVehiclePosition [player modelToWorld [0,100,0], [], 0, "NONE"]; onEachFrame { _beg = ASLToAGL eyePos Bob; _endE = (_beg vectorAdd (eyeDirection Bob vectorMultiply 100)); drawLine3D [_beg, _endE, [0,1,0,1]]; _endW = (_beg vectorAdd (Bob weaponDirection currentWeapon Bob vectorMultiply 100)); drawLine3D [_beg, _endW, [1,0,0,1]]; _endV = (_beg vectorAdd (getCameraViewDirection Bob vectorMultiply 100)); drawLine3D [_beg, _endV, [0,0,1,1]]; };

Additional Information

See also:
positionCameraToWorld weaponDirection eyeDirection vectorDir vectorDirVisual

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