Color correction (concept):ru

From Valve Developer Community
Jump to: navigation, search

Цветовая коррекция в Source.
Для использования энтитии color correction, смотрите color_correction, color_correction_volume, и Left 4 Dead series fog_volume.

Цветовая коррекция это концепция изменения цветового баланс изображения для достижения желаемого эффекта. В основном он используется для установки эмоционального тон, или для передачи важной информаций.

  • Если тонировать в сторону синего или серого, получается ощущение холода или для достижения некой изоляции (например Minority Report).
  • Более яркие и насыщенные цвета, такие как красный или желтый цвет, будут иметь противоположный эффект, усиливая эмоции (Hero).
  • Коррекция также может помочь воспроизвести эффекты других сред (Sin City).

Коррекция в играх имеет уникальное преимущество, ведь она может быть динамичной. Она может отражать состояние мира, игрока или быть применена к определенному месту или объекту.

Использование инструмента

Source stores color correction profiles in 'lookup tables', which are 96Kb binary files with the extension .raw. A set of in-game tools are used to create them, and they are added to maps with color_correction (point, with falloff) and color_correction_volume (brush). Correction is very cheap.

Warning.pngWarning:Lookup tables don't store the filters used to create them, only their combined result. The Lookup filter allows you to load one and create additional filters on top of it, but direct editing is not possible once the main window closes.
The main color correction window

To use correction:

  1. Create at least one color_correction or color_correction_volume entity in your map, but do not give it a lookup table and, in the case of color_correction, disable falloff. You must be in range of the entity before the correction tools have any visible effect.
  2. Ensure that you are running the game in Tools mode (-tools in the Launch Options tab, or start it with the "Left 4 Dead (Tools Mode)" option in the Left 4 Dead Authoring Tools panel).
  3. Ensure that correction is enabled in Video options > Advanced (or set mat_colorcorrection 1).
  4. If you are working in a multiplayer game, enable sv_cheats.
  5. Type colorcorrectionui into the console.
Note.pngNote:Left 4 Dead series In Left 4 Dead and Left 4 Dead 2, sv_lan must be set to 1 before loading a map to preview color correction.

In the window that appears, correction filters can be:

  • Created and managed with the buttons in the bottom of the layers window.
  • Enabled or disabled by clicking their circular icon.
  • Made stronger or weaker with the Blend slider.
  • Duplicated with Alt + Double-click.

There is also a layers window for managing filters and a 'Lookup View' for previewing their effect on a grid of colored pixels.


Selected HSV
Curves - Search for tutorials
Works in exactly the same way as a curves tool in an image editor. The horizontal axis represents a color value in the original image; the vertical axis represents its brightness in the final image. Click and drag to manipulate the line. Black is in the bottom left and white is in the top right.
Icon-Bug.pngBug:Points cannot be deleted.
Icon-Bug.pngBug:Drag release is only registered when the cursor is over the graph area. This makes placing points very close to its edge difficult.
Levels - Search for tutorials
Again, this filter is directly analogous to levels tools in image editors. Both sliders control the range of colors in the image: the top slider 'cuts off' values outside its range to pure black (left) or white (right), while the bottom slider compresses the image's range to fit inside it. The top slider's middle pip weights the image's range (i.e. adjusts gamma).
Icon-Bug.pngBug:If two pips come to overlap, separating them can be impossible.
Selected HSV
This is the most complex filter. The image is a real-time thumbnail of the current scene in which colors currently selected are highlighted red. It can be clicked to select a color, or the Select button can be pressed to select a color directly from the scene (hit Esc afterwards). Hold Ctrl to select multiple colors in either situation.
Tolerance and Fuzziness allow the selection to be tweaked; Hue, Saturation and Value (i.e. HSV) allow effects to be applied to it. Colorize causes the hue slider to replace instead of adjust.
Tip.pngTip:The drop-down menu contains many different algorithms, not all of which require clicking to pick color(s).
Icon-Bug.pngBug:There are several situations where the preview thumbnail can lock up. The only known solution is to restart the engine.
Loads a pre-existing lookup table.
Icon-Bug.pngBug:Folder view starts in the root of the underlying game, not the current mod.
Balance - Search for tutorials
Another tool identical to its desktop brethren. It biases color channels across bright, middling and/or dark areas of the scene.

Интенсивность цвета (исправление)

If the intensity of the color is too strong, consider the following steps:

  1. Create a neutral .raw file (i.e. delete all .raw files, open your map, open the color correction ui and click save without creating filters)
  2. Create your desired color correction and save it.
  3. Open both .raw files in Photoshop, paste your .raw over the neutral one, set the layer opacity to 50% for your color correction and then save it as a .raw with the appropriate filename (i.e. the one your map will be looking for)

Консольные команды

  • colorcorrectionui
  • mat_colcorrection_disableentit­ies 0/1
  • mat_colorcorrection 0/1

Формат файла .RAW

The file serves as a look up table for RGB values. Each entry is a 3 byte RGB value, first byte being the red value. The table is 3 dimensional 32x32x32, taking an RGB value as a coordinate and looking up the output RGB value. Each subsequent entry indicates an increase in the R byte by a value of 4 (since 256 intensities divided by 32 entries equates to a step of 4). At the entry where the R value would be 256, the value wraps to zero and increases the G byte by a value of 4. The same occurs with the green value wrapping at 256, and increasing the B byte by 4. The index of the entry can be determined as such, where R, G, and B are integer values from 0 to 255.

//note that integer division is used, and any decimal values are truncated before the next operation
int EntryIndex = (R \ 4) + ((G \ 4) + (B \ 4) * 32) * 32

When used in game, the values from the 32x32x32 table are interpolated to fit the 256x256x256 color space.

Смотрите так-же

Внешние ссылки