eyeDirection: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<sqf>([^↵][^\/]*↵[^\/]*)<\/sqf>" to "<sqf> $1 </sqf>")
m (Some wiki formatting)
 
Line 7: Line 7:
|gr1= Object Manipulation
|gr1= Object Manipulation


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


|s1= [[eyeDirection]] unit
|s1= [[eyeDirection]] unit
Line 15: Line 15:
|r1= [[Array]] - 3D Vector
|r1= [[Array]] - 3D Vector


|x1= <sqf>
|x1= Keep a can in front of the player's ''face'':
Can = "Land_Can_V3_F" createVehicle position player;
<sqf>
Can = "Land_Can_V3_F" createVehicle getPosATL player;
onEachFrame {
onEachFrame {
_eyePos = eyePos player;
_eyeDir = eyeDirection player;
Can setPosASL [
Can setPosASL [
(eyePos player select 0) + (eyeDirection player select 0),
_eyePos select 0 + (_eyeDir select 0),
(eyePos player select 1) + (eyeDirection player select 1),
_eyePos select 1 + (_eyeDir select 1),
(eyePos player select 2) + (eyeDirection player select 2)
_eyePos select 2 + (_eyeDir select 2)
]
]
};
};
Line 32: Line 35:
onEachFrame {
onEachFrame {
_beg = ASLToAGL eyePos Bob;
_beg = ASLToAGL eyePos Bob;
_endE = (_beg vectorAdd (eyeDirection Bob vectorMultiply 100));
 
_endE = _beg vectorAdd (eyeDirection Bob vectorMultiply 100);
drawLine3D [_beg, _endE, [0,1,0,1]];
drawLine3D [_beg, _endE, [0,1,0,1]];
_endW = (_beg vectorAdd (Bob weaponDirection currentWeapon Bob vectorMultiply 100));
 
_endW = _beg vectorAdd (Bob weaponDirection currentWeapon Bob vectorMultiply 100);
drawLine3D [_beg, _endW, [1,0,0,1]];
drawLine3D [_beg, _endW, [1,0,0,1]];
};
};
Line 42: Line 47:
}}
}}


<dl class="command_description">
{{Note
 
|user= Killzone_Kid
<dt></dt>
|timestamp= 20140526191000
<dd class="notedate">Posted on 2014-05-26 - 19:10 (UTC)</dd>
|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.
<dt class="note">[[User:Killzone_Kid|Killzone_Kid]]</dt>
Play with the script in {{Link|#Example 1}} to find out limitations. If you need centre of screen direction, use [[positionCameraToWorld]] instead.
<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. Play with the script in example 1 to find out limitations. If you need centre of screen direction, use [[positionCameraToWorld]] instead.
</dd>
 
</dl>

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.