Difference between revisions of "drawLaser"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (fixed some formatting)
m (Some wiki formatting)
 
(10 intermediate revisions by 3 users not shown)
Line 2: Line 2:
  
 
|game1= arma3
 
|game1= arma3
 
|branch= dev
 
  
 
|version1= 2.08
 
|version1= 2.08
Line 9: Line 7:
 
|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>
Command has to be executed each frame. Use [[addMissionEventHandler]] "Draw3D" which is executed each frame.<br>
+
This command has to be executed every frame - see {{HashLink|Arma 3: Mission Event Handlers#Draw3D}}.<br>
Lasers drawn with this command are subject to the same limitations as weapon attachment lasers as set in the '''CfgIRLaserSettings''' 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 17: Line 15:
 
|gr2= Lights
 
|gr2= Lights
  
|s1= [[drawLaser]] [sourcePos, direction, color, thickness, dotSize, isIR]
+
|s1= [[drawLaser]] [position, direction, beamColor, dotColor, dotSize, beamThickness, beamMaxLength, isIR]
 +
 
 +
|p1= position: [[Array]] format [[Position#PositionASL|PositionASL]] - the laser's origin position
 +
 
 +
|p2= direction: [[Array]] of [[Vector3D]] - the laser's direction vector
  
|p1= sourcePos: [[PositionASL]] - world position of the Laser Source
+
|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
  
|p2= direction: [[Array]] - direction vector along which the laser will shine
+
|p4= dotColor: [[Array]] of [[Color|Color (RGB)]] - impact dot color. Set to <sqf inline>[]</sqf> to use the same value as ''beamColor''.
  
|p3= color: [[Array]] - [[Color|color (RGB)]] of the laser beam and impact dot
+
|p5= dotSize: [[Number]] - impact dot size; if set to 0 the impact dot will not render
  
|p4= color: [[Number]] - thickness of the laser beam. 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
  
|p5= dotSize: [[Number]] - size of the impact dot. If set to 0 the impact dot will not render
+
|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
  
|p6= isIR: [[Number]] - (optional, default: [[true]]) - whether the laser and impact dot are only visible in 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= <code> [[onEachFrame]] {[[drawLaser]] <nowiki>[</nowiki>[[eyePos]] [[player]] [[vectorAdd]] [0, 0, 0.1], [[getCameraViewDirection]] [[player]], [1000, 0, 0], 20, 5, [[false]]]}; {{cc|Gives player a laser eye}}</code>
+
|x1= Give the player a laser eye:
 +
<sqf>
 +
addMissionEventHandler ["Draw3D", {
 +
drawLaser [
 +
eyePos player vectorAdd [0, 0, 0.1],
 +
getCameraViewDirection player,
 +
[1000, 0, 0], // Bright red
 +
[],
 +
5,
 +
20,
 +
-1,
 +
false
 +
];
 +
}];
 +
</sqf>
  
|seealso= [[drawIcon3D]] [[drawLine3D]]
+
|seealso= [[drawIcon3D]] [[drawLine3D]] {{HashLink|Arma 3: Mission Event Handlers#Draw3D}}
 
}}
 
}}

Latest revision as of 18:06, 25 July 2022

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