Env skypaint: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(Created page with "{{cleanup}} {{stub}} left|link= <code>env_skypaint</code> is a point entity available in {{GMOD}}Garry's Mod. It allows to create custom dy...")
 
No edit summary
 
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{cleanup}}
{{LanguageBar}}
{{stub}}
{{this is a|logical entity|name=env_skypaint|notext=1|game=Garry's Mod}}


 
It allows the creation of custom dynamic skyboxes (Both [[HDR]] and [[LDR]]). It can be overridden by the Sky Editor ([[edit_sky]]) entity spawned by the player in game.
[[File:env_skypaint.png|left|link=]] <code>env_skypaint</code> is a [[point entity]] available in {{GMOD}}[[Garry's Mod]]. It allows to create custom dynamic skybox.
[[File:Construct_sky.jpg|thumb|gm_construct uses env_skypaint]]
[[File:Construct_sky.jpg|thumb|gm_construct sky]]
[[File:Flatgrass_sky.jpg|thumb|gm_flatgrass also uses env_skypaint]]
[[File:Flatgrass_sky.jpg|thumb|gm_flatgrass sky]]
{{important|The name of the skybox must be <code>painted</code> in order for this entity to work}}
 
{{note|1=The colors are in [[color1]] format instead of [[color255]]. In order to convert color255 to color1, divide each value by 255 (ex: 200/255=0.78).}}
It can be overridden by Sky Editor ([[edit_sky]]) entity spawned by player in game.
{{Important|Set skybox name to <code>painted</code> to get this entity to work.}}
==Sky creation==
==Sky creation==
# Place <code>env_skypaint</code> somewhere in your map
# Place <code>env_skypaint</code> somewhere in your map.
# Change sky name to <code>painted</code>
# Change sky name to <code>painted</code>.
# Compile and run map and spawn Sky Editor
# Compile and run map.
# Go to sky editor properties and edit the values as you wish.
# Using the spawnmenu, spawn the Sky Editor entity somewhere in your map (in the Entities tab under "Editors").
# When your done, just copy values to <code>env_skypaint</code>
# Go to entity's properties and edit the values as you wish.
# Compile map again. DONE
# When your're done, copy the values to your <code>env_skypaint</code>.
# Compile the map again. DONE
== env_skypaint example values ==
== env_skypaint example values ==
{| class="standard-table" style="width: 100%; text-align: center;"
{| class="standard-table" style="width: 100%; text-align: center;"
Line 21: Line 20:
|-
|-
| gm_construct  
| gm_construct  
| {{vec3|0.22|0.51|1}} || {{vec3|0.919|0.929|0.992}} || 0.1 || 0 || {{vec3|0|0|1}} || Automatic || {{vec3|0|0|0}} || 0.5 || 2 || {{vec3|1|1|1}} || Yes || skybox/clouds || 2 || 0.5 || 0.03 || 0.56
| style="background:#3883ff;color:black"|{{vec3|0.22|0.51|1}}  
| style="background:#eaedfd;color:black"| {{vec3|0.919|0.929|0.992}}  
| 0.1  
| 0  
| {{vec3|0|0|1}}  
| Automatic  
| style="background:#000000;"| {{vec3|0|0|0}}
| 0.5  
| 2  
| style="background:#ffffff;color:black"|{{vec3|1|1|1}}  
| Yes  
| skybox/clouds  
| 2  
| 0.5  
| 0.03  
| 0.56
|-
|-
| gm_flatgrass  
| gm_flatgrass  
| {{vec3|0|0.6|1}} || {{vec3|0.9|0.95|1}} || 0.5 || 0 || {{vec3|0|0|1}} || Automatic || {{vec3|0|0|0}} || 0 || 0 || {{vec3|0|0|0}} || Yes || skybox/clouds || 2 || 0.5 || 0.02 || 0.60
| style="background:#0099ff;color:black"|{{vec3|0|0.6|1}}  
| style="background:#e6f2ff;color:black"|{{vec3|0.9|0.95|1}}  
| 0.5  
| 0  
| {{vec3|0|0|1}}  
| Automatic  
| style="background:#000000;"|{{vec3|0|0|0}}  
| 0  
| 0  
| style="background:#000000;"|{{vec3|0|0|0}}  
| Yes  
| skybox/clouds  
| 2  
| 0.5  
| 0.02  
| 0.60
|}
|}
==Keyvalues==
==Keyvalues==
{{KV|Name|targetname|Entity's name}}
{{KV Targetname}}
{{KV|Sky Top Color|topcolor|Sky top color}}
{{KV|Sky Top Color|intn=topcolor|color1|The colour of the top of the sky}}
{{KV|Sky Bottom Color|bottomcolor|Sky horizon color}}
{{KV|Sky Bottom Color|intn=bottomcolor|color1|The colour of the bottom of the sky}}
{{KV|Sky Fade Bias|fadebias|Tansision between sky colors (1.0 is even)}}
{{KV|Sky Fade Bias|intn=fadebias|float|Controls the bias of the fade between top/bottom (1.0 is even)}}
{{KV|Sun Size|sunsize|Size of sun glow overlay on sky.}}
{{KV|Sun Size|intn=sunsize|float|Controls the size of the sun glow}}
{{warning|not to be confused with [[env_sun]]}}
{{warning|not to be confused with [[env_sun]]}}
{{KV|Sun Normal|sunnormal}}
{{KV|Sun Normal|intn=sunnormal|vector|The position of the sun, expressed as a normal from the center of the world}}
{{KV|Sun Position Method|sunsize|<code>Custom</code> or <code>Automatic</code>(Uses [[env_sun]] values)}}
{{KV|Sun Position Method|intn=sunposmethod|choices|How should we determine the position of the sun?}}
{{KV|Sun Color|suncolor|Color of the sun overlay.}}
:* 0: Custom - Use the Sun Normal to position the sun
{{KV|Dusk Scale|duskscale|Size of dusk at horizon.}}
:* 1: Automatic - Find a env_sun entity and use that (Uses [[env_sun]] values)
{{KV|Dusk Intensity|duskintensity|How powerful the dusk effect is.}}
{{KV|Sun Color|intn=suncolor|color1|The color of the sun glow (this is additive)}}
{{KV|Dusk Color|duskcolor|Color of the dusk.}}
{{KV|Dusk Scale|intn=duskscale|float|The size of the dusk effect (colouring of the horizon)}}
{{KV|Draw Stars|drawstars|<code>Yes</code>or<code>No</code>. Draws a specified texture as overlay.}}
{{KV|Dusk Intensity|intn=duskintensity|float|How powerful the dusk effect is}}
{{note|On sky it replaces black color in texture with alpha.}}
{{KV|Dusk Color|intn=duskcolor|color1|The color of the dusk effect}}
{{KV|Stars Texture|starstexture|Default: <code>skybox/starfield</code>}}
{{KV|Draw Stars|intn=drawstars|choices|Draws a specified texture as an overlay}}
{{KV|Stars Scale|starsscale|Scale of overlay texture.}}
:* 0: No - Don't draw stars
{{KV|Star Fade|starsfade|Fade the star texture towards the horizon.}}
:* 1: Yes - Draw the stars please
{{KV|Stars Speed|starsspeed|How fast the star texture should scroll across the sky.}}
:{{note|Drawn using [[additive]] translucency.}}
{{KV|HDR Scale|hdrscale|When rendering your skybox in HDR mode, output will be scaled by this amount.}}
{{KV|Stars Texture|intn=starstexture|string|The star texture}}
==Input==
{{KV|Stars Scale|intn=starsscale|float|How big the star texture should be}}
{{IO|Kill|Removes this entity from the world.}}
{{KV|Star Fade|intn=starsfade|float|Fade the star texture towards the horizon}}
{{IO|KillHierarchy|Removes this entity and its children from the world. {{note|Entities already remove orphaned children upon being removed, but this input removes all children on the same frame, being marginally faster than <code>Kill</code>.}}}}
{{KV|Stars Speed|intn=starsspeed|float|How fast the star texture should scroll across the sky}}
{{IO|[[AddOutput]]|Adds a keyvalue/output to this entity. It can be potentially very dangerous, use with care.<br/>''KV'' Format: <code><key> <value></code><br/>''I/O'' Format: <code><output name> <targetname>:<inputname>:<parameter>:<delay>:<max times to fire, -1 means infinite></code>|param=string}}
{{KV|HDR Scale|intn=hdrscale|float|When rendering your skybox in HDR mode, output will be scaled by this amount}}
==Output==
{{IO|OnUser1|to=OnUser4|These outputs each fire in response to the firing of the like-numbered <code>FireUser1</code> to <code>FireUser4</code> Input; see [[User Inputs and Outputs]].}}

Latest revision as of 17:10, 22 May 2025

English (en)Translate (Translate)

env_skypaint is a logical entity available in Garry's Mod Garry's Mod.

It allows the creation of custom dynamic skyboxes (Both HDR and LDR). It can be overridden by the Sky Editor (edit_sky) entity spawned by the player in game.

gm_construct uses env_skypaint
gm_flatgrass also uses env_skypaint
Icon-Important.pngImportant:The name of the skybox must be painted in order for this entity to work
Note.pngNote:The colors are in color1 format instead of color255. In order to convert color255 to color1, divide each value by 255 (ex: 200/255=0.78).

Sky creation

  1. Place env_skypaint somewhere in your map.
  2. Change sky name to painted.
  3. Compile and run map.
  4. Using the spawnmenu, spawn the Sky Editor entity somewhere in your map (in the Entities tab under "Editors").
  5. Go to entity's properties and edit the values as you wish.
  6. When your're done, copy the values to your env_skypaint.
  7. Compile the map again. DONE

env_skypaint example values

Map Sky Top Color Sky Bottom Color Sky Fade Bias Sun Size Sun Normal Sun Position Method Sun Color Dusk Scale Dusk Intensity Dusk Color Draw Stars Star Texture Star Scale Star Fade Star Speed HDR Scale
gm_construct 0.22 0.51 1 0.919 0.929 0.992 0.1 0 0 0 1 Automatic 0 0 0 0.5 2 1 1 1 Yes skybox/clouds 2 0.5 0.03 0.56
gm_flatgrass 0 0.6 1 0.9 0.95 1 0.5 0 0 0 1 Automatic 0 0 0 0 0 0 0 0 Yes skybox/clouds 2 0.5 0.02 0.60

Keyvalues

Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Sky Top Color (topcolor) <color1>
The colour of the top of the sky
Sky Bottom Color (bottomcolor) <color1>
The colour of the bottom of the sky
Sky Fade Bias (fadebias) <float>
Controls the bias of the fade between top/bottom (1.0 is even)
Sun Size (sunsize) <float>
Controls the size of the sun glow
Warning.pngWarning:not to be confused with env_sun
Sun Normal (sunnormal) <vector>
The position of the sun, expressed as a normal from the center of the world
Sun Position Method (sunposmethod) <choices>
How should we determine the position of the sun?
  • 0: Custom - Use the Sun Normal to position the sun
  • 1: Automatic - Find a env_sun entity and use that (Uses env_sun values)
Sun Color (suncolor) <color1>
The color of the sun glow (this is additive)
Dusk Scale (duskscale) <float>
The size of the dusk effect (colouring of the horizon)
Dusk Intensity (duskintensity) <float>
How powerful the dusk effect is
Dusk Color (duskcolor) <color1>
The color of the dusk effect
Draw Stars (drawstars) <choices>
Draws a specified texture as an overlay
  • 0: No - Don't draw stars
  • 1: Yes - Draw the stars please
Note.pngNote:Drawn using additive translucency.
Stars Texture (starstexture) <string>
The star texture
Stars Scale (starsscale) <float>
How big the star texture should be
Star Fade (starsfade) <float>
Fade the star texture towards the horizon
Stars Speed (starsspeed) <float>
How fast the star texture should scroll across the sky
HDR Scale (hdrscale) <float>
When rendering your skybox in HDR mode, output will be scaled by this amount