setFog: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "</dl> <dl class="command_description"> " to "") |
Tag: Undo |
||
(24 intermediate revisions by 3 users not shown) | |||
Line 30: | Line 30: | ||
|descr= Smoothly change the fog over given time (in seconds). See also [[fogParams]]. | |descr= Smoothly change the fog over given time (in seconds). See also [[fogParams]]. | ||
{{Feature|arma3|This command is MP synchronised, if executed on server, the changes will propagate globally. If executed on client effect is temporary as it will soon change to the server setting.}} | {{Feature|arma3|This command is MP synchronised, if executed on server, the changes will propagate globally. If executed on client effect is temporary as it will soon change to the server setting.}} | ||
|mp= Before {{arma3}}, server and clients could have each a different (local) fog value. | |||
|s1= time [[setFog]] fog | |s1= time [[setFog]] fog | ||
Line 35: | Line 37: | ||
|p1= time: [[Number]] - transition time to the new value | |p1= time: [[Number]] - transition time to the new value | ||
|p2= fog: [[Number]] - fog density | |p2= fog: [[Number]] - fog density in range 0..1 | ||
|r1= [[Nothing]] | |r1= [[Nothing]] | ||
|s2= time [[setFog]] [fogValue, fogDecay, fogBase] | |s2= time [[setFog]] [fogValue, fogDecay, fogBase] | ||
|s2since= arma3 0.50 | |||
|p21= time: [[Number]] - transition time to the new value | |p21= time: [[Number]] - transition time to the new value | ||
|p22= fogValue: [[Number]] - normal [[fog]] value that represents fog density at ''fogBase'' level | |p22= fogValue: [[Number]] - normal [[fog]] value that represents fog density at ''fogBase'' level, in range 0..1 | ||
|p23= fogDecay: [[Number]] - decay of fog density with altitude | |p23= fogDecay: [[Number]] - decay of fog density with altitude, in range -1..1; a negative value means a "ceiling" fog | ||
|p24= fogBase: [[Number]] - base altitude ([[Position#PositionASL|ASL]]) of fog (in meters) | |p24= fogBase: [[Number]] - base altitude ([[Position#PositionASL|ASL]]) of fog (in meters), in range -5000..5000 | ||
|r2= [[Nothing]] | |r2= [[Nothing]] | ||
|x1= < | |x1= <sqf>15 setFog 0.5;</sqf> | ||
|x2= Force no fog: < | |x2= Force no fog: | ||
<sqf> | |||
999999 | 0 setFog 0; | ||
// forceWeatherChange; // change is immediate | |||
999999 setFog 0; | |||
</sqf> | |||
|x3= < | |x3= <sqf> | ||
// Arma 3 examples: | |||
0 setFog [1, 0.01, 0]; | |||
0 setFog [1, -1, 70]; // mountain fog, starts from 70m ASL and thickens the higher you climb | |||
0 setFog [1, 1, 60]; // valley fog, starts from 60m ASL and thickens the lower you descend | |||
0 setFog [1, 1, 0]; // fooooog on the waaaater | |||
</sqf> | |||
| | |seealso= [[Arma 3: Improved Fog]] [[fog]] [[fogParams]] [[fogForecast]] [[nextWeatherChange]] [[forceWeatherChange]] [[setRain]] | ||
}} | |||
| | {{Note | ||
|user= Ceeeb | |||
|timestamp= 20070420042500 | |||
|text= Only one script command induced weather change (either [[setOvercast]] or setFog) can be happening at a time. | |||
Starting a new weather change will immediately halt the current weather change. | |||
[[setRain]] changes are independent and can occur simultaneously to a weather change. | |||
}} | |||
| | {{Note | ||
|user= Zapat | |||
|timestamp= 20151215143200 | |||
|text= [[setTimeMultiplier]] DOES affect transition time. | |||
}} | |||
| | {{Note | ||
|user= Killzone_Kid | |||
|timestamp= 20190110102300 | |||
|text= A little information about how Alt Syntax works. | |||
The ''fogValue'' is normal [[fog]] value that could be set independently with original [[setFog]] command. | |||
''fogBase'' is the ASL altitude at which the fog will start. 0 is the sea level. ''fogDecay'' is how defined the fog start is. The more defined, the denser is the fog. | |||
1 (or -1) are the max values. If it is positive the fog will be generated below ''fogBase'' line, if negative, above it. | |||
If ''fogDecay'' is small, the fog will transition more smoothly from no fog to full fog, and because of that it will cross ''fogBase'' line by quite a lot, depending on how small is ''fogDecay'' value. | |||
Current values of ''fogDecay'' and ''fogBase'' can be retrieved with [[fogParams]]. | |||
}} | |||
| | {{Note | ||
|user= samatra | |||
|timestamp= 20220705052931 | |||
|text= Few notes about network behavior of the fog: | |||
* Fog is the only weather parameter that is ''almost'' properly network-synchronized by the engine. You can rely on it for both connected players and JIP players without jumping through hoops like other weather commands. | |||
* ''time'' is not synchronized over the network exactly, fog values changes will be linear over time where you run the command, while network-synced ''time'' will be non-linear, but in the end fog is still will be somewhat close between clients and servers, so its not much of a game breaker. | |||
* Say fog all 0 on both server and client, instantly setting fog on the server with <sqf inline>0 setFog 1</sqf> or even <sqf inline>0 setFog [1,1,1]</sqf> will not set it instantly on clients, but rather interpolate it there over few seconds (~10-15), non-linearly (slower the closer it gets to server values) | |||
* Setting ''fogValue'' to values above 1 is allowed where you run the command, but network sync will still clamp it to 1, so if you do <sqf inline>0 setFog 100</sqf>, clients will still interpolate ''fogValue'' to 1, including JIP, so make sure you don't set it above 1 if you expect consistent values between server and client for some calculations. | |||
}} | }} | ||
{{Note | |||
|user= samatra | |||
|timestamp= 20220801094329 | |||
|text= Be aware that this command is affected by [[setWindStr]] and [[windStr]]! Max fogValue = 1 - windStr, so if you do <sqf inline>0 setWindStr 1</sqf>, setting any fog with time>0 will actually set fog to 0! Doing instant fog changes with time=0 strangely still works though. | |||
}} | |||
[[ | |||
Latest revision as of 11:37, 19 September 2023
Description
- Description:
- Smoothly change the fog over given time (in seconds). See also fogParams.
- Multiplayer:
- Before Arma 3, server and clients could have each a different (local) fog value.
- Groups:
- Environment
Syntax
- Syntax:
- time setFog fog
- Parameters:
- time: Number - transition time to the new value
- fog: Number - fog density in range 0..1
- Return Value:
- Nothing
Alternative Syntax
- Syntax:
- time setFog [fogValue, fogDecay, fogBase]
- Parameters:
- time: Number - transition time to the new value
- fogValue: Number - normal fog value that represents fog density at fogBase level, in range 0..1
- fogDecay: Number - decay of fog density with altitude, in range -1..1; a negative value means a "ceiling" fog
- fogBase: Number - base altitude (ASL) of fog (in meters), in range -5000..5000
- Return Value:
- Nothing
Examples
- Example 1:
- 15 setFog 0.5;
- Example 2:
- Force no fog:
0 setFog 0; // forceWeatherChange; // change is immediate 999999 setFog 0;
- Example 3:
- // Arma 3 examples: 0 setFog [1, 0.01, 0]; 0 setFog [1, -1, 70]; // mountain fog, starts from 70m ASL and thickens the higher you climb 0 setFog [1, 1, 60]; // valley fog, starts from 60m ASL and thickens the lower you descend 0 setFog [1, 1, 0]; // fooooog on the waaaater
Additional Information
- See also:
- Arma 3: Improved Fog fog fogParams fogForecast nextWeatherChange forceWeatherChange setRain
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
- Posted on Apr 20, 2007 - 04:25 (UTC)
- Only one script command induced weather change (either setOvercast or setFog) can be happening at a time. Starting a new weather change will immediately halt the current weather change. setRain changes are independent and can occur simultaneously to a weather change.
- Posted on Dec 15, 2015 - 14:32 (UTC)
- setTimeMultiplier DOES affect transition time.
- Posted on Jan 10, 2019 - 10:23 (UTC)
- A little information about how Alt Syntax works. The fogValue is normal fog value that could be set independently with original setFog command. fogBase is the ASL altitude at which the fog will start. 0 is the sea level. fogDecay is how defined the fog start is. The more defined, the denser is the fog. 1 (or -1) are the max values. If it is positive the fog will be generated below fogBase line, if negative, above it. If fogDecay is small, the fog will transition more smoothly from no fog to full fog, and because of that it will cross fogBase line by quite a lot, depending on how small is fogDecay value. Current values of fogDecay and fogBase can be retrieved with fogParams.
- Posted on Jul 05, 2022 - 05:29 (UTC)
-
Few notes about network behavior of the fog:
- Fog is the only weather parameter that is almost properly network-synchronized by the engine. You can rely on it for both connected players and JIP players without jumping through hoops like other weather commands.
- time is not synchronized over the network exactly, fog values changes will be linear over time where you run the command, while network-synced time will be non-linear, but in the end fog is still will be somewhat close between clients and servers, so its not much of a game breaker.
- Say fog all 0 on both server and client, instantly setting fog on the server with 0 setFog 1 or even 0 setFog [1,1,1] will not set it instantly on clients, but rather interpolate it there over few seconds (~10-15), non-linearly (slower the closer it gets to server values)
- Setting fogValue to values above 1 is allowed where you run the command, but network sync will still clamp it to 1, so if you do 0 setFog 100, clients will still interpolate fogValue to 1, including JIP, so make sure you don't set it above 1 if you expect consistent values between server and client for some calculations.
- Posted on Aug 01, 2022 - 09:43 (UTC)
- Be aware that this command is affected by setWindStr and windStr! Max fogValue = 1 - windStr, so if you do 0 setWindStr 1, setting any fog with time>0 will actually set fog to 0! Doing instant fog changes with time=0 strangely still works though.
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.00
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Environment
- Scripting Commands: Global Effect
- Scripting Commands: Server Execution