Имеют ли дополнительные тени смысл для игр?


33

Согласно теории цвета , тени работают лучше, если они не используют чистый черный или серый, а вместо этого используют цвет, который дополняет цвет объекта, отбрасывающего эту тень.

То есть, если у вас красное яблоко, вы должны использовать темно-зеленую тень; для желтого банана, темно-фиолетовая тень.

дополнительные примеры теней

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



@KromStern 2D, но так как я могу думать только о технических последствиях - я задаю вопрос о дизайне - мне интересно, какое это имеет значение, что вы имели в виду.
congusbongus

Нет, у меня нет плана. Если это 2D, то в Photoshop это проще тестировать, отбрасывая кучу спрайтов с полупрозрачными тенями.
Кромстер говорит, что поддерживает Монику

Даже если бы было возможно сделать это, стоит ли сложность (код и время выполнения)? Достаточно ли просто использовать черную тень (которая является быстрой / дешевой по сравнению с дополнительной тенью)?
ashes999

Если вы играете в 2D, у вас, вероятно, есть тень как еще один спрайт (или даже часть оригинального спрайта), верно? В этом случае, вероятно, нет большой разницы между альфа-смешанной черной тенью или альфа-смешанной слегка окрашенной тенью. Но вам придется попробовать это, конечно.
Луаан

Ответы:


43

Для меня это не имеет никакого смысла вообще. Эта теория, вероятно, является лишь художественным ощущением компенсации баланса белого, которое делает глаз, и ошибочно дает нам ощущение сдвинутых оттенков в тени. Тень - это просто отсутствие света от рассматриваемого источника света. В реалистическом мире часто есть другие источники света, это их цвет, который появляется на месте. Например, синий, часто в условиях ясного неба. Именно на эту теорию вы ссылаетесь, ошибочно констатируя абсолютную истину, не понимая, почему и в каких условиях. Тени в освещении салона явно не синего цвета.

Хотя «локальный цвет» теории, на которую вы ссылаетесь, не больше, не меньше, чем локальный ГИ и цветовое кровотечение. Тот, который обычно покрывается RSM и лайками. (LPV в лучшую степень).

Мой ответ однозначен, для игр нет смысла. Если у вас есть реалистичный рендер, этого будет достаточно. Особенно, если он имеет GI в режиме реального времени (SVO конусная трассировка, LPV, RSM ..) или GI светлого цвета (физическая основа предпочтительна, и, конечно, вся гамма канала верна), или / и IBL.

Теперь для художественных соображений, последний пункт «дополнительные цвета» , может иметь значение в играх, если вы хотите то, что мы называем «стилизованным рендером», или не фотореалистичным рендерингом. Чтобы увеличить «драму» или стремиться к мультяшному стилю или акварельному стилю; это позволит вам придать вашей игре особый оттенок. Но я повторяю, с физической точки зрения нет смысла исходить из того, что я сказал в моем первом предложении: это должно быть некое естественное чувство художников в их положении наблюдателя за природой, которое вытекает из компенсации баланса белого.


13
Похоже, ваша главная мысль заключается в том, что дополнительные тени не натуралистичны . Но нет никаких причин, по которым игры (или другая визуализированная графика) должны быть натуралистичными: например, некоторые движки дают объектам четкие очертания в стиле мультфильмов . Так что не кажется безумным пытаться получить дополнительные тени или другие эстетические эффекты по этим направлениям - хотя, как бы выглядели детали, и стоило ли это времени и усилий, конечно, неясно.
PLL

15
@PLL Это хороший момент. Однако это будет означать, что вы пытаетесь создать стилистический рендеринг, который приближается к какому-то стилю рисования - в этом случае было бы мало смысла задавать вопрос ОП - либо вы пытаетесь приблизиться к этому, и в этом дело только вопрос, если вы в состоянии сделать это, или вы стремление к какой - то реализм, и в этом случае важно понять , что это не на самом деле реалистичным - просто эстетически приятный (и , очевидно , очень субъективно).
Луан

@Luaan: Очевидно, что задание вопроса имело смысл для ОП, иначе он бы этого не задавал. В любом случае, это был очень интересный вопрос, за который проголосовали 27 раз и одобрили его 7 раз.
Здравствуйте, до свидания,

1
@HelloGoodbye Вы неправильно поняли мой комментарий. Я сказал, что если ОП хочет реалистичный рендеринг, ему не нужно заботиться об этом, потому что это нереально. Если он стремится быть эстетически приятным, с другой стороны, он заботится только о том, сможет ли он на самом деле это сделать или нет - в любом случае достаточно не дополняющих друг друга теней, потому что реалистичные тени не используют дополнительные цвета. Я не атаковал вопрос, на самом деле я тоже проголосовал за него :)
Luaan

@Luuan: Хорошо, извините за недоразумение в этом случае. Но я не вижу твоей точки зрения; если он хочет знать, может ли он рисовать дополнительные тени или нет, как это помогает ему сказать ему, что достаточно дополнительных теней?
Привет, до свидания,

14

Для теней это не очень хорошо работает по причинам, которые вы уже указали. Вы никогда не знаете, сколько теней у вас будет на сцене, и тени разных цветов от разных объектов могут выглядеть странно. Тем не менее, он может хорошо работать с тенями, особенно в 2d игре. Этот скриншот взят из Seiken Densetsu 3 (Squaresoft 1995):

Дерево с фиолетовой дополнительной тенью

Обратите внимание, как заштрихованные части дерева используют фиолетовый в качестве дополнительного цвета к желтым бликам в освещенных частях и насколько хорошо это работает. Но также обратите внимание, что художник решил не окрашивать тени дерева.


2
Цугумо рассказал об этом в великолепном уроке по пиксельной графике
Келли Томас,

@KellyThomas Вот откуда я получил скриншот.
Филипп

1
Лично это: gamedev.net/page/resources/_/creative/visual-arts/… - статья, которую я имел в виду, когда писал свой ответ. Рекомендую, отличное ознакомительное чтение.
v.oddou

Как я уже писал в комментарии к вопросу, ваш ответ, особенно изображение, напомнил мне эту нефотореалистичную модель освещения
HelloGoodbye

9

Если вы используете альфа-смешение, вы можете добавить дополнительную тень, которая будет работать на любом фоне.

Это может быть или не быть лучше или быстрее, хотя. Это то, что может измениться в зависимости от вашей конкретной игры.

У меня недостаточно представителя, чтобы комментировать ответ @ v.oddou, но я хочу сказать, что хотя целенаправленное создание теней в качестве дополнения может не иметь смысла при рендеринге симуляции реальности, в играх есть много случаев, когда это может иметь смысл. Например, его пример того, как это делается для художественного эффекта.


5

Объекты редко освещаются полностью одним точечным источником света. В большинстве случаев объекты получают большую часть своего освещения от доминирующего точечного источника, но получают дополнительное освещение от других точек или источников, включая некоторый рассеянный свет, который был рассеян или другими объектами или (для наружных сцен) атмосферой. Если объект освещен ярким белым точечным источником, но освещен голубоватым окружающим светом, яркость которого составляет всего 2%, цвет окружающего света не будет заметно влиять на части объекта, освещаемые первичным источником света. точечный источник, но будет очень заметен в тех частях, которые в основном освещены голубоватым окружением.

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


3

Дополняющая цвет вещь на самом деле иллюзорна. Поставьте лимон на белую бумагу и сфотографируйте его. Тень будет иметь желтый, а не фиолетовый, из-за желтого света, рассеянного от лимона.

Теперь о том, использовать ли это в своей игре. Если вы предпочитаете художественный стиль, тогда вы, конечно, можете включить его, хотя для его реализации потребуется дополнительное кодирование шейдеров (что в любом случае вы вполне можете сделать, в зависимости от того, насколько сложным вы делаете свой нефотореалистичная система рендеринга).

Если, с другой стороны, вы стремитесь к реалистическому стилю, просто не беспокойтесь об этом.


1

Не кажется ли вам немного странным видеть вещи в разных цветах с разными цветными тенями?

Для меня изображение различных фруктов не похоже на 3 куска фруктов на белом фоне; это похоже на 3 разных изображения фруктов, вероятно, потому что разные цвета тени намекают на то, что они находятся в другом контексте.

Полагаю, это субъективно, но я нахожу это немного сомнительным - я также согласен с тем, что говорит v.oddou, хотя это предполагает, что вы пытаетесь заставить вещи выглядеть «реалистично».

Разумеется, другой удар теней - дать намек на то, как высоко от поверхности находится объект. Нет тени = вы не можете сказать, 1 это выше или 40 футов (или какими бы ни были единицы измерения). Если есть какая-либо тень, ваш мозг выполняет расчеты за вас, и у вас есть шанс угадать, когда объект подпрыгнет, или можно ли работать под ним и т. Д. Для этой функции я бы подумал, что это просто тень в оттенках серого. смешанный с цветом фона, если это возможно, поможет.

Там также странный естественный эффект, когда есть более одного источника света, разных цветов. Если бы у вас было несколько цветных источников света, дающих в основном смесь белого света, то не затененный фон давал бы смесь всех цветов, но при наличии тени, скажем, синего света, тень может выглядеть относительно красноватой.

Даже на самом деле это выглядит немного странно! Поэтому мой ответ будет таким: хотя это интересное понятие и, возможно, стоит поэкспериментировать с некоторыми неподвижными изображениями (или найти примеры), я бы ожидал, что не стоит затрачивать усилия на вычисление цвета тени.


1

Я думал об этом раньше для рендера NPR, так как у меня есть опыт в области изобразительного искусства, и мне всегда нравился вид некоторых видов научной фантастики и фантастических работ, которые преувеличивали этот эффект, но, как отмечали другие, это не имеет смысла в физике. точка зрения. Вы не сможете получить синий свет в тени, если что-то не отражает в нем синий свет.

Но если вы собираетесь использовать нефотореалистичную визуализацию, эффект может быть очень красивым с контрастными оттенками (правда, не совсем реалистично). Тем не менее, я бы предложил использовать цвет источника (-ов) света, который исключен, для окрашивания тени, а не материал объекта, перекрывающего свет. Это должно упростить вычисления и при этом связать все элементы композиции. Например, теплый свет от камина может отбрасывать прохладную синюю тень, когда источник света закрыт, даже если нет синих объектов, которые отражали бы свет в эту тень, не говоря уже о большом количестве синего света в первую очередь.

Второе, что следует отметить, заключается в том, что цветовое колесо художника основано на субтрактивной природе смешивания пигментов. Он не основан на дополнительных светлых тонах. В результате цветовое колесо художника считает, скажем, зеленый цвет дополнительным к красному:

введите описание изображения здесь

... не голубой, и смешивание этих двух пигментов приведет к уродливому коричневато-серому цвету, а не к белому, как мы получили бы при аддитивном смешивании света. Точно так же дополнением синего будет оранжевый, а не желтый, и так далее. Чтобы эффективно имитировать внешний вид, возможно, потребуется использовать цветовой круг этого типа.


0

Этот вопрос очень старый, и у него много ответов, но я поступил в художественное училище. Вот мой ответ:

Теория, которую вы изложили, насколько мне известно, верна лишь частично. На самом деле цвет теней является дополнением к цвету источника света . Если вы думаете об этом, это имеет смысл: отбрасываемая тень может быть определена как заблокированный свет, и если у вас есть, например, желтый свет (солнце), у вас останется голубоватая тень. Чтобы проиллюстрировать это, рассмотрим «Зеленую полосу» Матисса (кого-то, кого можно назвать «одним из старых мастеров» или что-то в этом роде):

ссылка на результаты поиска изображений Google для "Зеленая полоса".

Обратите внимание, что красный свет, который излучается с правой стороны рамки, оставляет темно-зеленую центральную тень и желтоватую отраженную подсветку . Зеленый - это дополнение к пурпурному, а желтый - это сумма, или зеленый и красный (аддитивная теория цвета).

Напомним, что теория, как вы утверждаете, отчасти верна! В случаях с крупным планом ярких и отражающих объектов на белой поверхности, таких как изображение, которое вы связали с яблоком, окружающий свет в комнате попадает на темную сторону яблока и отражает цвет яблока на поверхности, на которой это отдыхает. Основной цвет тени по-прежнему является дополнением цвета источника света !! В студийной среде (в таком месте, где вы найдете одинокие яблоки на белых пористых поверхностях), ваш источник света, скорее всего, искусственный и максимально приближен к чистому белому, так что люди, работающие с цветом и пигментами в этой среде, не имеют их понимание цвета искажается из-за яркого света (попробуйте дважды покрасить одно и то же под солнечным светом, а затем в фотографической темной комнате (красной)! сравните эти результаты, смеется)

В настоящее время! чтобы ответить на ваш вопрос: динамические тени или даже статически окрашенные тени чрезвычайно выполнимы. Они попадают в рамки вашего проекта с учетом времени, денег и рабочей силы? Ну, это совершенно другой вопрос, на который вы должны ответить сами! Серые / черные тени - это SIN (imo), и вам следует избегать их, если вы хотите, чтобы ваша игра в целом выглядела привлекательной. Вам не нужно прогнозировать фон, окружающую среду или учитывать цвет объекта. Единственная часть информации, которая вам нужна для простых и естественных теней, - это цвет источника света. Рассмотрите этот скриншот от атаки на титана: ССЫЛКА

Тени в моей игре всегда являются темным и ненасыщенным дополнением цвета источников света в моей игре: ОТНОСИТЕЛЬНО ПРОСТО, несколько игр уже делают это

Тени в моей игре учитывают окклюзию окружающей среды, отраженный свет, цвет различных источников и типов света и т. Д. И т. Д.? Это уже много черт возьми, черт возьми. Если вы инди-разработчик, чья основная задача - создавать игры, а не программировать или разрабатывать инструменты, это абсолютно не стоит вашего времени (мнение).

Спасибо за чтение, надеюсь, это поможет любому, кто посетит эту древнюю проблему в будущем !!! : -)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.