Смена палитры: различия между версиями
common>Mercury |
(Новая страница: «{{TVTropes|PaletteSwap|Palette Swap}} thumb|300px|Ниндзя из ''[[Mortal Kombat'']] frame|Рисунок в неверной палитре — частый глюк тех времён. Путь от двух чёрно-белых цветов к 16 миллионам «истинных» был долог. * Atari 2600 (1977) даёт два цвета на...») |
||
Строка 1: | Строка 1: | ||
{{TVTropes|PaletteSwap|Palette Swap}} | {{TVTropes|PaletteSwap|Palette Swap}} | ||
[[Файл:Смена палитры.png|thumb|300px|Ниндзя из ''[[Mortal Kombat]]'']] | [[Файл:Смена палитры.png|thumb|300px|Ниндзя из ''[[Mortal Kombat]]'']] | ||
[[Файл:Неверная палитра.png|frame|Рисунок в неверной | [[Файл:Неверная палитра.png|frame|Рисунок в неверной палитре — частый глюк тех времён.]] | ||
Путь от двух чёрно-белых цветов к 16 миллионам «истинных» был долог. | Путь от двух чёрно-белых цветов к 16 миллионам «истинных» был долог. | ||
* Atari 2600 (1977) даёт два цвета на строку фона из 128 возможных, плюс два одноцветных спрайта. | * Atari 2600 (1977) даёт два цвета на строку фона из 128 возможных, плюс два одноцветных спрайта. | ||
* Sinclair ZX Spectrum (1982): два цвета на знакоместо (оба яркие или оба тусклые) из 15 возможных (и в ярком, и в тусклом варианте | * Sinclair ZX Spectrum (1982): два цвета на знакоместо (оба яркие или оба тусклые) из 15 возможных (и в ярком, и в тусклом варианте 000 — чёрный). | ||
* Nintendo Famicom = NES = Dendy (1983): 52 цвета, при этом в каждой плитке 8×8 могут быть три цвета и общий для всего экрана фоновый, в каждом | * Nintendo Famicom = NES = Dendy (1983): 52 цвета, при этом в каждой плитке 8×8 могут быть три цвета и общий для всего экрана фоновый, в каждом спрайте — три и прозрачность. | ||
* MSX2 (японский отраслевой стандарт, такие компьютеры выпускали Yamaha, Philips, Sony и другие, 1985): 16 цветов из 512 возможных. | * MSX2 (японский отраслевой стандарт, такие компьютеры выпускали Yamaha, Philips, Sony и другие, 1985): 16 цветов из 512 возможных. | ||
* IBM VGA (1989): 256 цветов из 262 тыс. | * IBM VGA (1989): 256 цветов из 262 тыс. | ||
* В начале 90-х на настольные машины стали проникать адаптеры SuperVGA, дававшие 640×480×65k и больше. Честные 65 тысяч цветов, с 5 битами на красный и синий, и с 6 битами на зелёный. | * В начале 90-х на настольные машины стали проникать адаптеры SuperVGA, дававшие 640×480×65k и больше. Честные 65 тысяч цветов, с 5 битами на красный и синий, и с 6 битами на зелёный. | ||
Что означает «M цветов из N возможных»? Запоминаем в какой-то таблице (палитре) R, G и B для каждого из M цветов. В кадровом буфере хранятся не R, не G и не B, а ''номер'' | Что означает «M цветов из N возможных»? Запоминаем в какой-то таблице (палитре) R, G и B для каждого из M цветов. В кадровом буфере хранятся не R, не G и не B, а ''номер'' цвета — 1-й, 2-й и так далее. | ||
А теперь внимание! Что будет, если в палитре поменять цвет номер 3? Это значит, всё, что было 3-го цвета, перекрасится! Грубо говоря, посылаем в порт пару | А теперь внимание! Что будет, если в палитре поменять цвет номер 3? Это значит, всё, что было 3-го цвета, перекрасится! Грубо говоря, посылаем в порт пару байтов — и получаем масштабную перекраску всего на экране, при мизерном расходе ресурсов шины. | ||
Разумеется, это не могло не заинтересовать игроделов. Так, например, делали всякие вспышки экрана и эффекты отравления. Удачно подменив палитру, можно небольшими силами создать иллюзию богатой игры. Уже на первых машинах встречаются одинаковые спрайты разных цветов. В [[Super Mario Bros.]] кустик и верхушка | Разумеется, это не могло не заинтересовать игроделов. Так, например, делали всякие вспышки экрана и эффекты отравления. Удачно подменив палитру, можно небольшими силами создать иллюзию богатой игры. Уже на первых машинах встречаются одинаковые спрайты разных цветов. В [[Super Mario Bros.]] кустик и верхушка облака — одна и та же [[тайлсет|плитка]], но разных цветов. | ||
Бывает и другой вид смены палитры: на лету заменяем 3, например, на | Бывает и другой вид смены палитры: на лету заменяем 3, например, на 23 — и всё, что было 3-го цвета, станет 23-го. Несчастных 256 байтов на таблицу подмены. Это практиковалось в [[Mortal Kombat]] (скажем, 64 цвета на первого бойца, и ещё 64 — на второго), в [[Doom]] и во всех стратегиях (чтобы рисовать опознавательные знаки). | ||
Именно по причине лёгкой смены палитры в играх надолго задержались 8-битные цвета: ''[[StarCraft]]'' (1998), ''[[Симрейсинг|Grand Prix 3]]'' ( | Именно по причине лёгкой смены палитры в играх надолго задержались 8-битные цвета: ''[[StarCraft]]'' (1998), ''[[Симрейсинг|Grand Prix 3]]'' (2000 — правда, только в программном рендеринге). | ||
Заметим, что пока домашние компьютеры и приставки расширяли графическую палитру плитками и знакоместами, деловые не пользовались этими дешёвыми трюками. IBM CGA (1981) имел 320×200×4 (да-да, всего четыре цвета, потому ниндзя в ''Saboteur II'' [https://www.youtube.com/watch?v=EzHaZGF3C5A был красный], иначе никак не передашь ночь) и 640×200×2, зато никаких [[w:Конфликт атрибутов|конфликтных зон]]. Macintosh (1984) был только монохромным, 512×342×2. | Заметим, что пока домашние компьютеры и приставки расширяли графическую палитру плитками и знакоместами, деловые не пользовались этими дешёвыми трюками. IBM CGA (1981) имел 320×200×4 (да-да, всего четыре цвета, потому ниндзя в ''Saboteur II'' [https://www.youtube.com/watch?v=EzHaZGF3C5A был красный], иначе никак не передашь ночь) и 640×200×2, зато никаких [[w:Конфликт атрибутов|конфликтных зон]]. Macintosh (1984) был только монохромным, 512×342×2. | ||
И сейчас экономят работу художника, перекрашивая одно в другое. Если цветов единицы, делают копии атласа или текстуры. Если сколько | И сейчас экономят работу художника, перекрашивая одно в другое. Если цветов единицы, делают копии атласа или текстуры. Если сколько угодно — идут на разные ухищрения (рисование-то сейчас аппаратное). Так, палитровые PNG состоят из несжатой палитры и сжатых данных, и если в памяти есть место на ту и другую разжатую картинку, можно построить два PNG с разными палитрами и загрузить тот и другой. А если памяти нет — пишут хитрые шейдеры. | ||
== Для чего? == | == Для чего? == | ||
Строка 33: | Строка 33: | ||
== Интересные примеры == | == Интересные примеры == | ||
: ''Разумеется, можно включать и современные игры, где кто- | : ''Разумеется, можно включать и современные игры, где кто-то — перекрашенная версия кого-то. Но поскольку этого добра завались, пишите только самое интересное!'' | ||
: ''И не путать с постфильтрами, когда на весь отрендеренный экран накладывается какой-то эффект.'' | : ''И не путать с постфильтрами, когда на весь отрендеренный экран накладывается какой-то эффект.'' | ||
* [[TMNT]]: Manhattan | * [[TMNT]]: Manhattan Project — плещущаяся вода в канализации. | ||
* [[Chip'n'Dale Rescue Rangers|Chip’n’Dale Rescue Rangers 2]]. Один из [[босс]] | * [[Chip'n'Dale Rescue Rangers|Chip’n’Dale Rescue Rangers 2]]. Один из [[босс]]ов — кран с ядром. Движение гусениц — смена палитры. | ||
* [[WarCraft II]]. Плещущееся | * [[WarCraft II]]. Плещущееся море — это смена палитры! А на Новый год в церкви поставили ёлку, а гоблин-алхимик устроил иллюминацию. | ||
* [[WarCraft]] III. Подвиды большинства мобов имеют не перекрашенные текстуры, а лишь с изменённым соотношением красного, синего и зелёного. | * [[WarCraft]] III. Подвиды большинства мобов имеют не перекрашенные текстуры, а лишь с изменённым соотношением красного, синего и зелёного. | ||
* [[Mortal Kombat]]. Разноцветные [[ниндзя]], боевые девушки и роботы с одинаковыми спрайтами. Точнее, с ''частично'' | * [[Mortal Kombat]]. Разноцветные [[ниндзя]], боевые девушки и роботы с одинаковыми спрайтами. Точнее, с ''частично'' одинаковыми — суперудары у них разные. | ||
** Перекрашивались и обычные бойцы, если оба игрока выбирали одинаковых. Причём здесь одинаковость ниндзя играла злую | ** Перекрашивались и обычные бойцы, если оба игрока выбирали одинаковых. Причём здесь одинаковость ниндзя играла злую шутку — перекрасить надо так, чтобы он не путался ни с противником, ни с другими ниндзя. В итоге получались бои «зелёный против салатового» или «ярко-красный против бледно-красного». | ||
* В других [[файтинг]]ах смена палитры в основном используется для «зеркальных» матчей, хотя для одного бойца обычно доступно куда больше двух | * В других [[файтинг]]ах смена палитры в основном используется для «зеркальных» матчей, хотя для одного бойца обычно доступно куда больше двух «раскрасок» — так, красоты ради (ну или для отсылочек). В [[Skullgirls]], например, у некоторых персонажей в альтернативных палитрах добавляются аксессуары, невидимые в стандартной палитре (например, у Парасоул добавляются очки, перчатки, [[Zettai Ryouiki|чулки разной длины]], водолазка превращается в свитер), а у [[Метаморф|Дабл]] есть палитра, в реальном времени переливающаяся всеми цветами радуги. | ||
* Телефонные версии [[Silent Hill]]. И без того JAR | * Телефонные версии [[Silent Hill]]. И без того JAR полмегабайта — на грани тогдашних телефонов. Вместо двух миров там один, но в разных палитрах. | ||
* Различные игры на движке [[Build]], в которых встречались несколько вариантов одного и того же врага, перекрашивали варианты именно сменой палитры с «дефолтного» голубого цвета (именно голубые спрайты хранятся в файлах игры) на нужный. Те части спрайта, которые не были голубыми, не перекрашивались (например, лицо или руки противника). | * Различные игры на движке [[Build]], в которых встречались несколько вариантов одного и того же врага, перекрашивали варианты именно сменой палитры с «дефолтного» голубого цвета (именно голубые спрайты хранятся в файлах игры) на нужный. Те части спрайта, которые не были голубыми, не перекрашивались (например, лицо или руки противника). | ||
** Duke Nukem 3D: Штурмовик и Капитан | ** Duke Nukem 3D: Штурмовик и Капитан Штурмовиков — зеленая и красная жилетка. В дополнении Caribbean Vacation хряки-туристы (местный аналог хряков-полицейских) были в веселеньких рубашках всех цветов радуги, но по характеристикам не различались. | ||
** Redneck Rampage: различные Инопланетянки и их Королева различаются по цветам одежды и волос (редкий случай: смена палитры двух разных частей спрайта). | ** Redneck Rampage: различные Инопланетянки и их Королева различаются по цветам одежды и волос (редкий случай: смена палитры двух разных частей спрайта). | ||
** [[Blood]]: Культист, Фанатик и (в дополнении) Аколит и Тесла-культист различаются цветом балахона (коричневый, черный, зеленый и синий соответственно). Эта версия движка Build уникальна тем, что дефолтный перекрашиваемый цвет в ней не голубой, а коричневый. | ** [[Blood]]: Культист, Фанатик и (в дополнении) Аколит и Тесла-культист различаются цветом балахона (коричневый, черный, зеленый и синий соответственно). Эта версия движка Build уникальна тем, что дефолтный перекрашиваемый цвет в ней не голубой, а коричневый. | ||
** Shadow Warrior: различные Ниндзя (Простой ниндзя, Ракетчик, Гранатометчик, Самонаводчик и Невидимка) различались цветом штанов (коричневые, красные, серые, оранжевые и зеленые соответственно). Эффект невидимости у Невидимки также получался путем смены палитры на полностью черный силуэт и добавления | ** Shadow Warrior: различные Ниндзя (Простой ниндзя, Ракетчик, Гранатометчик, Самонаводчик и Невидимка) различались цветом штанов (коричневые, красные, серые, оранжевые и зеленые соответственно). Эффект невидимости у Невидимки также получался путем смены палитры на полностью черный силуэт и добавления 75 % прозрачности. | ||
** Во всех этих играх игроки в мультиплеере также различались сменой палитры спрайта главгероя. | ** Во всех этих играх игроки в мультиплеере также различались сменой палитры спрайта главгероя. | ||
* [[Pokemon]]: [https://bulbapedia.bulbagarden.net/wiki/Shiny_Pok%C3%A9mon блестящие покемоны]. Несмотря на то, что отличаются от обычных только цветом и искрящимся эффектом при входе в битву, имеют безумно редкий шанс на появление и являются [[Объекты коллекционирования из видеоигр|объектом коллекционирования]] самых увлечённых игроков. Одни блестящие покемоны лишь слегка отличаются оттенком от обычных, а другие перекрашены полностью, и зачастую довольно вырвиглазно. | * [[Pokemon]]: [https://bulbapedia.bulbagarden.net/wiki/Shiny_Pok%C3%A9mon блестящие покемоны]. Несмотря на то, что отличаются от обычных только цветом и искрящимся эффектом при входе в битву, имеют безумно редкий шанс на появление и являются [[Объекты коллекционирования из видеоигр|объектом коллекционирования]] самых увлечённых игроков. Одни блестящие покемоны лишь слегка отличаются оттенком от обычных, а другие перекрашены полностью, и зачастую довольно вырвиглазно. | ||
* Mad Max: Лидеры крепостей бандитов натурально отличаются только цветом. В наши то дни… | * Mad Max: Лидеры крепостей бандитов натурально отличаются только цветом. В наши то дни… | ||
{{Nav/Games}} | {{Nav/Games}} |
Версия 18:28, 26 марта 2022
![]() | TV Tropes Для англоязычных и желающих ещё глубже ознакомиться с темой в проекте TV Tropes есть статья Palette Swap. Вы также можете помочь нашему проекту и перенести ценную информацию оттуда в эту статью. |

Путь от двух чёрно-белых цветов к 16 миллионам «истинных» был долог.
- Atari 2600 (1977) даёт два цвета на строку фона из 128 возможных, плюс два одноцветных спрайта.
- Sinclair ZX Spectrum (1982): два цвета на знакоместо (оба яркие или оба тусклые) из 15 возможных (и в ярком, и в тусклом варианте 000 — чёрный).
- Nintendo Famicom = NES = Dendy (1983): 52 цвета, при этом в каждой плитке 8×8 могут быть три цвета и общий для всего экрана фоновый, в каждом спрайте — три и прозрачность.
- MSX2 (японский отраслевой стандарт, такие компьютеры выпускали Yamaha, Philips, Sony и другие, 1985): 16 цветов из 512 возможных.
- IBM VGA (1989): 256 цветов из 262 тыс.
- В начале 90-х на настольные машины стали проникать адаптеры SuperVGA, дававшие 640×480×65k и больше. Честные 65 тысяч цветов, с 5 битами на красный и синий, и с 6 битами на зелёный.
Что означает «M цветов из N возможных»? Запоминаем в какой-то таблице (палитре) R, G и B для каждого из M цветов. В кадровом буфере хранятся не R, не G и не B, а номер цвета — 1-й, 2-й и так далее.
А теперь внимание! Что будет, если в палитре поменять цвет номер 3? Это значит, всё, что было 3-го цвета, перекрасится! Грубо говоря, посылаем в порт пару байтов — и получаем масштабную перекраску всего на экране, при мизерном расходе ресурсов шины.
Разумеется, это не могло не заинтересовать игроделов. Так, например, делали всякие вспышки экрана и эффекты отравления. Удачно подменив палитру, можно небольшими силами создать иллюзию богатой игры. Уже на первых машинах встречаются одинаковые спрайты разных цветов. В Super Mario Bros. кустик и верхушка облака — одна и та же плитка, но разных цветов.
Бывает и другой вид смены палитры: на лету заменяем 3, например, на 23 — и всё, что было 3-го цвета, станет 23-го. Несчастных 256 байтов на таблицу подмены. Это практиковалось в Mortal Kombat (скажем, 64 цвета на первого бойца, и ещё 64 — на второго), в Doom и во всех стратегиях (чтобы рисовать опознавательные знаки).
Именно по причине лёгкой смены палитры в играх надолго задержались 8-битные цвета: StarCraft (1998), Grand Prix 3 (2000 — правда, только в программном рендеринге).
Заметим, что пока домашние компьютеры и приставки расширяли графическую палитру плитками и знакоместами, деловые не пользовались этими дешёвыми трюками. IBM CGA (1981) имел 320×200×4 (да-да, всего четыре цвета, потому ниндзя в Saboteur II был красный, иначе никак не передашь ночь) и 640×200×2, зато никаких конфликтных зон. Macintosh (1984) был только монохромным, 512×342×2.
И сейчас экономят работу художника, перекрашивая одно в другое. Если цветов единицы, делают копии атласа или текстуры. Если сколько угодно — идут на разные ухищрения (рисование-то сейчас аппаратное). Так, палитровые PNG состоят из несжатой палитры и сжатых данных, и если в памяти есть место на ту и другую разжатую картинку, можно построить два PNG с разными палитрами и загрузить тот и другой. А если памяти нет — пишут хитрые шейдеры.
Для чего?
- Палитровые спецэффекты: вспышки экрана, удары, эффекты отравления… (практически игры того времени).
- Регулировка яркости, имитация освещения (практически все 256-цветные шутеры начиная с Doom).
- Приспособить монстров или постройки к ландшафту: например, пещерная обезьяна будет чернее обычной.
- Ранги монстров (простой, тяжёлый и командир). Или даже без рангов, просто для разнообразия (Golden Axe).
- Опознавательные знаки (практически все стратегии, гонки и сетевые шутеры того времени).
- Экономия спрайтов (практически все файтинги и CRPG того времени).
Интересные примеры
- Разумеется, можно включать и современные игры, где кто-то — перекрашенная версия кого-то. Но поскольку этого добра завались, пишите только самое интересное!
- И не путать с постфильтрами, когда на весь отрендеренный экран накладывается какой-то эффект.
- TMNT: Manhattan Project — плещущаяся вода в канализации.
- Chip’n’Dale Rescue Rangers 2. Один из боссов — кран с ядром. Движение гусениц — смена палитры.
- WarCraft II. Плещущееся море — это смена палитры! А на Новый год в церкви поставили ёлку, а гоблин-алхимик устроил иллюминацию.
- WarCraft III. Подвиды большинства мобов имеют не перекрашенные текстуры, а лишь с изменённым соотношением красного, синего и зелёного.
- Mortal Kombat. Разноцветные ниндзя, боевые девушки и роботы с одинаковыми спрайтами. Точнее, с частично одинаковыми — суперудары у них разные.
- Перекрашивались и обычные бойцы, если оба игрока выбирали одинаковых. Причём здесь одинаковость ниндзя играла злую шутку — перекрасить надо так, чтобы он не путался ни с противником, ни с другими ниндзя. В итоге получались бои «зелёный против салатового» или «ярко-красный против бледно-красного».
- В других файтингах смена палитры в основном используется для «зеркальных» матчей, хотя для одного бойца обычно доступно куда больше двух «раскрасок» — так, красоты ради (ну или для отсылочек). В Skullgirls, например, у некоторых персонажей в альтернативных палитрах добавляются аксессуары, невидимые в стандартной палитре (например, у Парасоул добавляются очки, перчатки, чулки разной длины, водолазка превращается в свитер), а у Дабл есть палитра, в реальном времени переливающаяся всеми цветами радуги.
- Телефонные версии Silent Hill. И без того JAR полмегабайта — на грани тогдашних телефонов. Вместо двух миров там один, но в разных палитрах.
- Различные игры на движке Build, в которых встречались несколько вариантов одного и того же врага, перекрашивали варианты именно сменой палитры с «дефолтного» голубого цвета (именно голубые спрайты хранятся в файлах игры) на нужный. Те части спрайта, которые не были голубыми, не перекрашивались (например, лицо или руки противника).
- Duke Nukem 3D: Штурмовик и Капитан Штурмовиков — зеленая и красная жилетка. В дополнении Caribbean Vacation хряки-туристы (местный аналог хряков-полицейских) были в веселеньких рубашках всех цветов радуги, но по характеристикам не различались.
- Redneck Rampage: различные Инопланетянки и их Королева различаются по цветам одежды и волос (редкий случай: смена палитры двух разных частей спрайта).
- Blood: Культист, Фанатик и (в дополнении) Аколит и Тесла-культист различаются цветом балахона (коричневый, черный, зеленый и синий соответственно). Эта версия движка Build уникальна тем, что дефолтный перекрашиваемый цвет в ней не голубой, а коричневый.
- Shadow Warrior: различные Ниндзя (Простой ниндзя, Ракетчик, Гранатометчик, Самонаводчик и Невидимка) различались цветом штанов (коричневые, красные, серые, оранжевые и зеленые соответственно). Эффект невидимости у Невидимки также получался путем смены палитры на полностью черный силуэт и добавления 75 % прозрачности.
- Во всех этих играх игроки в мультиплеере также различались сменой палитры спрайта главгероя.
- Pokémon: блестящие покемоны. Несмотря на то, что отличаются от обычных только цветом и искрящимся эффектом при входе в битву, имеют безумно редкий шанс на появление и являются объектом коллекционирования самых увлечённых игроков. Одни блестящие покемоны лишь слегка отличаются оттенком от обычных, а другие перекрашены полностью, и зачастую довольно вырвиглазно.
- Mad Max: Лидеры крепостей бандитов натурально отличаются только цветом. В наши то дни…