drawLaser: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Syntax change)
m (Text replacement - "{{HashLink" to "{{Link")
 
(9 intermediate revisions by 2 users not shown)
Line 4: Line 4:


|version1= 2.08
|version1= 2.08
|branch= dev


|eff= local
|eff= local


|descr= Draws a laserbeam and a lightpoint at the impact location of the laser.<br>
|descr= Draws a laserbeam and a lightpoint at the impact location of the laser.<br>
This command has to be executed every frame - see {{HashLink|Arma 3: Mission Event Handlers#Draw3D}}.<br>
This command has to be executed every frame - see {{Link|Arma 3: Mission Event Handlers#Draw3D}}.<br>
Lasers drawn with this command are subject to the same limitations as weapon attachment lasers. These limitations are defined in the <tt>CfgIRLaserSettings</tt> config class.
Lasers drawn with this command are subject to the same limitations as weapon attachment lasers. These limitations are defined in the {{hl|CfgIRLaserSettings}} config class.


|gr1= Interaction
|gr1= Interaction
Line 19: Line 17:
|s1= [[drawLaser]] [position, direction, beamColor, dotColor, dotSize, beamThickness, beamMaxLength, isIR]
|s1= [[drawLaser]] [position, direction, beamColor, dotColor, dotSize, beamThickness, beamMaxLength, isIR]


|p1= position: [[PositionASL]] - the laser's origin position
|p1= position: [[Array]] format [[Position#PositionASL|PositionASL]] - the laser's origin position


|p2= direction: [[Array]] format [[Vector3D]] - the laser's direction vector
|p2= direction: [[Array]] of [[Vector3D]] - the laser's direction vector


|p3= beamColor: [[Array]] format [[Color|Color (RGB)]] - laser beam color. The values can go way above the usual 0..1 range as they also act as emissivity brightness
|p3= beamColor: [[Array]] of [[Color|Color (RGB)]] - laser beam color. The values can go way above the usual 0..1 range as they also act as emissivity brightness


|p4= dotColor: [[Array]] format [[Color|Color (RGB)]] - impact dot color. Set to {{ic|[]}} to use the same value as ''beamColor''.
|p4= dotColor: [[Array]] of [[Color|Color (RGB)]] - impact dot color. Set to <sqf inline>[]</sqf> to use the same value as ''beamColor''.


|p5= dotSize: [[Number]] - impact dot size; if set to 0 the impact dot will not render
|p5= dotSize: [[Number]] - impact dot size; if set to 0 the impact dot will not render


|p6= beamThickness: [[Number]] - laser beam thickness scale; if set to 0, the beam will not render
|p6= beamThickness: [[Number]] - laser beam's thickness scale; if set to 0, the beam will not render


|p7= beamMaxLength (Optional, default: -1): [[Number]] - the maximum length of the laser beam. Special values:
|p7= beamMaxLength: [[Number]] - (Optional, default -1) laser beam's maximum length. {{hl|-1}} means maximum length (defined in {{hl|CfgIRLaserSettings}}), {{hl|0}} means no length at all and the command is ignored
* '''-1:''' No limit other than that defined in <tt>CfgIRLaserSettings</tt>
* '''0:''' The [[drawLaser]] command is ignored
The maximum length of laser beams defined in <tt>CfgIRLaserSettings</tt> can not be exceeded, not even by setting this parameter to -1.


|p8= isIR (Optional, default: [[true]]): [[Boolean]] - whether the laser and impact dot are only visible with Night Vision / Thermal Imaging
|p8= isIR: [[Boolean]] - (Optional, default [[true]]) whether the laser and impact dot are only visible with Night Vision / Thermal Imaging


|r1= [[Nothing]]
|r1= [[Nothing]]


|x1= Give the player a laser eye:
|x1= Give the player a laser eye:
<code>[[addMissionEventHandler]] ["Draw3D", {
<sqf>
[[drawLaser]] [
addMissionEventHandler ["Draw3D", {
[[eyePos]] [[player]] [[vectorAdd]] [0, 0, 0.1],
drawLaser [
[[getCameraViewDirection]] [[player]],
eyePos player vectorAdd [0, 0, 0.1],
[1000, 0, 0], {{cc|Bright red}}
getCameraViewDirection player,
[1000, 0, 0], // Bright red
[],
[],
5,
5,
20,
20,
-1,
-1,
[[false]]
false
];
];
}];</code>
}];
</sqf>


|seealso= [[drawIcon3D]] [[drawLine3D]] {{HashLink|Arma 3: Mission Event Handlers#Draw3D}}
|seealso= [[drawIcon3D]] [[drawLine3D]] {{Link|Arma 3: Mission Event Handlers#Draw3D}}
}}
}}

Latest revision as of 17:43, 4 January 2023

Hover & click on the images for description

Description

Description:
Draws a laserbeam and a lightpoint at the impact location of the laser.
This command has to be executed every frame - see Arma 3: Mission Event Handlers - Draw3D.
Lasers drawn with this command are subject to the same limitations as weapon attachment lasers. These limitations are defined in the CfgIRLaserSettings config class.
Groups:
InteractionLights

Syntax

Syntax:
drawLaser [position, direction, beamColor, dotColor, dotSize, beamThickness, beamMaxLength, isIR]
Parameters:
position: Array format PositionASL - the laser's origin position
direction: Array of Vector3D - the laser's direction vector
beamColor: Array of Color (RGB) - laser beam color. The values can go way above the usual 0..1 range as they also act as emissivity brightness
dotColor: Array of Color (RGB) - impact dot color. Set to [] to use the same value as beamColor.
dotSize: Number - impact dot size; if set to 0 the impact dot will not render
beamThickness: Number - laser beam's thickness scale; if set to 0, the beam will not render
beamMaxLength: Number - (Optional, default -1) laser beam's maximum length. -1 means maximum length (defined in CfgIRLaserSettings), 0 means no length at all and the command is ignored
isIR: Boolean - (Optional, default true) whether the laser and impact dot are only visible with Night Vision / Thermal Imaging
Return Value:
Nothing

Examples

Example 1:
Give the player a laser eye:
addMissionEventHandler ["Draw3D", { drawLaser [ eyePos player vectorAdd [0, 0, 0.1], getCameraViewDirection player, [1000, 0, 0], // Bright red [], 5, 20, -1, false ]; }];

Additional Information

See also:
drawIcon3D drawLine3D Arma 3: Mission Event Handlers - Draw3D

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