eyeDirection: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (see also)
m (Some wiki formatting)
 
(96 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma3 |= Game name
|game1= arma3
|version1= 0.50
|arg= global


|0.50|= Game version
|gr1= Object Manipulation
____________________________________________________________________________________________


| Returns the direction object is watching (eyes, or a vehicle primary observer). |= Description
|descr= Returns the direction object is watching (eyes, or a vehicle's primary observer).
____________________________________________________________________________________________


| '''eyeDirection''' unit |= Syntax
|s1= [[eyeDirection]] unit


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


| [[Array]] |= RETURNVALUE
|r1= [[Array]] - 3D Vector


|x1= Keep a can in front of the player's ''face'':
<sqf>
Can = "Land_Can_V3_F" createVehicle getPosATL player;
onEachFrame {
_eyePos = eyePos player;
_eyeDir = eyeDirection player;
Can setPosASL [
_eyePos select 0 + (_eyeDir select 0),
_eyePos select 1 + (_eyeDir select 1),
_eyePos select 2 + (_eyeDir select 2)
]
};
</sqf>


|x1= <code>can = "Land_Can_V3_F" [[createVehicle]] [[position]] [[player]];  
|x2= Draw AI eye direction (green) and weapon direction (red) in 3D:
[[onEachFrame]] {
<sqf>
    can [[setPosASL]] [
Bob = createGroup east createUnit ["O_Soldier_F", [0,0,0], [], 0, "NONE"];
        ([[eyePos]] [[player]] [[select]] 0) + ([[eyeDirection]] [[player]] [[select]] 0),
Bob setVehiclePosition [player modelToWorld [0,100,0], [], 0, "NONE"];
        ([[eyePos]] [[player]] [[select]] 1) + ([[eyeDirection]] [[player]] [[select]] 1),
onEachFrame {
        ([[eyePos]] [[player]] [[select]] 2) + ([[eyeDirection]] [[player]] [[select]] 2)
_beg = ASLToAGL eyePos Bob;
    ]
}
</code>|= EXAMPLE1


____________________________________________________________________________________________
_endE = _beg vectorAdd (eyeDirection Bob vectorMultiply 100);
drawLine3D [_beg, _endE, [0,1,0,1]];


| [[positionCameraToWorld]], [[weaponDirection]] |= SEEALSO
_endW = _beg vectorAdd (Bob weaponDirection currentWeapon Bob vectorMultiply 100);
drawLine3D [_beg, _endW, [1,0,0,1]];
};
</sqf>


| |= MPBEHAVIOUR
|seealso= [[positionCameraToWorld]] [[weaponDirection]] [[getCameraViewDirection]] [[vectorDir]] [[vectorDirVisual]]
____________________________________________________________________________________________
}}
}}


<h3 style='display:none'>Notes</h3>
{{Note
<dl class='command_description'>
|user= Killzone_Kid
<!-- Note Section BEGIN -->
|timestamp= 20140526191000
 
|text= This command should have really been named ''headDirection'' instead of [[eyeDirection]] as one could mistakenly think that eyes direction of your avatar correspond to the direction of the centre of your screen.
<!-- Note Section END -->
Play with the script in {{Link|#Example 1}} to find out limitations. If you need centre of screen direction, use [[positionCameraToWorld]] instead.
</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}}}}]]
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on May 26, 2014 - 19:10 (UTC)</dd>
<dt class="note">'''[[User:Killzone Kid|Killzone Kid]]'''</dt>
<dd class="note">
This command should have really been named ''headDirection'' instead of [[eyeDirection]] as one could mistakenly think that eyes direction of your avatar correspond to the direction of the centre of your screen. '''In fact the direction returned by [[eyeDirection]] is avatar's head direction relative to the torso (minus ambient head animation factor)'''. Play with the script in example 1 to find out limitations. If you need centre of screen direction, use [[positionCameraToWorld]] instead.
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 00:12, 11 November 2024

Hover & click on the images for description

Description

Description:
Returns the direction object is watching (eyes, or a vehicle's primary observer).
Groups:
Object Manipulation

Syntax

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

Examples

Example 1:
Keep a can in front of the player's face:
Can = "Land_Can_V3_F" createVehicle getPosATL player; onEachFrame { _eyePos = eyePos player; _eyeDir = eyeDirection player; Can setPosASL [ _eyePos select 0 + (_eyeDir select 0), _eyePos select 1 + (_eyeDir select 1), _eyePos select 2 + (_eyeDir select 2) ] };
Example 2:
Draw AI eye direction (green) and weapon direction (red) 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]]; };

Additional Information

See also:
positionCameraToWorld weaponDirection getCameraViewDirection 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
Killzone_Kid - c
Posted on May 26, 2014 - 19:10 (UTC)
This command should have really been named headDirection instead of eyeDirection as one could mistakenly think that eyes direction of your avatar correspond to the direction of the centre of your screen. Play with the script in Example 1 to find out limitations. If you need centre of screen direction, use positionCameraToWorld instead.