# Styles

Style json files in Open Hexagon contain all the information to draw the background of any level.

It's easier to copy-paste an existing style file and edit it.

Styles must have an unique id (that will be used in the level json files).

`"hue_min"` and `"hue_max"` represent the range of colors that will be used. `"hue_ping_pong"` will make the colors loop if set to false, otherwise they will go back and forth. `"hue_increment"` is the speed of color changes.

Colors can either be: static: they don't change using hue dynamic: they change with hue

If the colors are dynamic you can set: `"dynamic_darkness"`: darkness of the color `"dynamic_offset"`: subtract static color from the main color

The `"?_static"` members contain a color in the [R, G, B, ALPHA] format that will be used if the color is static or `"dynamic_offset"` is true.

## 3D effects

`"3D_depth"` (default: 15) Number of 3D layers

`"3D_skew"` (default: 0.18) 3D perspective angle

`"3D_spacing"` (default: 1.0) Spacing between 3D layers

`"3D_darken_multiplier"` (default: 1.5) How much the color gets darkened layer after layer

`"3D_alpha_multiplier"` (default: 0.5) How much the color gets more transparent layer after layer

`"3D_alpha_falloff"` (default: 3.0) How much every layer is more transparent than the previous layer

`"3D_override_color"` (default: main color) Color of the 3D effect

`"3D_pulse_max"` (default: 3.2) Max 3D pulse (alters perspective)

`"3D_pulse_min"` (default: 0.0) Min 3D pulse (alters perspective)

`"3D_pulse_speed"` (default: 0.01) 3D pulse speed (alters perspective)