Light Source Tutorial: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Fix link) |
Lou Montana (talk | contribs) m (Add no-shadow and through-walls info) |
||
Line 2: | Line 2: | ||
== Basics == | == Basics == | ||
A lightpoint (glowing light source) is a non-physical object that shines a light. Unlike projectors or vehicle headlights, this light type cannot be directed into a beam and can only glow uniformously. | A lightpoint (glowing light source) is a non-physical object that shines a light. Unlike projectors or vehicle headlights, this light type cannot be directed into a beam and can only glow uniformously. The glowing does not cast shadows (only the sun or the moon can) and can go through walls. | ||
A lightpoint is '''[[local]]''' to the computer where the script has been called; one player could see a light in the dark while another would not have such light "object" created. | A lightpoint is '''[[local]]''' to the computer where the script has been called; one player could see a light in the dark while another would not have such light "object" created. | ||
Line 22: | Line 22: | ||
==== Colour ==== | ==== Colour ==== | ||
_lightpoint [[setLightColor]] [0.25, 1, 1]; | _lightpoint [[setLightColor]] [0.25, 1, 1]; {{cc|also defines [[#Set flare|Flare]] colour.}} | ||
{{ | |||
==== Ambient Colour ==== | ==== Ambient Colour ==== | ||
Line 30: | Line 29: | ||
=== Set flare === | === Set flare === | ||
{{Informative | For the flare to be visible, all the following values (use flare, size, visibility) must be defined | {{Informative | For the flare to be visible, all the following values (use flare, size, visibility) must be defined and light colour [[#Colour|set by]] [[setLightColor]] must not be [0,0,0]. Flare is '''not''' visible by day, even using [[setLightDayLight]].}} | ||
{{ArgTitle|Enable flare|4|{{GVI|arma3|0.50}}}} | {{ArgTitle|Enable flare|4|{{GVI|arma3|0.50}}}} |
Revision as of 18:13, 20 July 2020
Basics
A lightpoint (glowing light source) is a non-physical object that shines a light. Unlike projectors or vehicle headlights, this light type cannot be directed into a beam and can only glow uniformously. The glowing does not cast shadows (only the sun or the moon can) and can go through walls.
A lightpoint is local to the computer where the script has been called; one player could see a light in the dark while another would not have such light "object" created.
How to
The list of all lightpoint commands can be found in the Lights command group category.
Create a lightpoint
private _lightpoint = "#lightpoint" createVehicleLocal player modelToWorld [0,2,1.5];
Set light colour
Colour
_lightpoint setLightColor [0.25, 1, 1]; // also defines Flare colour.
Ambient Colour
_lightpoint setLightAmbient [1, 1, 1]; // sets the colour applied to the surroundings
Set flare
4
_lightpoint setLightUseFlare true;
4
_lightpoint setLightFlareSize 1; // in meter
4
_lightpoint setLightFlareMaxDistance 100; // in meter
Set light brightness
Set brightness
_lightpoint setLightBrightness 8;
4
_lightpoint setLightIntensity 3000;
4
_lightpoint setLightAttenuation [0, 2, 4, 4, 0, 9, 10]; // [start, constant, linear, quadratic, hardLimitStart, hardLimitEnd]
3
_lightpoint setLightDayLight true; // Only for light itself, not the flare
Delete lightpoint
deleteVehicle _lightpoint; // as simple as that
Full examples
Dark Souls
skipTime -daytime; _lightpoint = "#lightpoint" createVehicleLocal [0,0,0]; _lightpoint attachTo [player, [0, 0, 1.5]]; _lightpoint setLightColor [0,0,0]; _lightpoint setLightAmbient [1,0.8, 0.25]; _lightpoint setLightBrightness 0.15;
Contact
skipTime -daytime; private _position = player modelToWorld [0, 20, 1.5]; private _lightpoint = "#lightpoint" createVehicleLocal _position; _lightpoint setLightColor [0,1,1]; _lightpoint setLightAmbient [0.2,0.0,0.3]; _lightpoint setLightUseFlare true; _lightpoint setLightFlareSize 3; _lightpoint setLightFlareMaxDistance 3.5; _lightpoint setLightBrightness 4; _lightpoint setLightDayLight true; _lightpoint spawn { while { sleep 0.05; player distance _this > 2 } do { _this setLightBrightness 4 max (40 / (player distance _this)); }; deleteVehicle _this; };