Ru/Constant-Linear-Quadratic Falloff: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
mNo edit summary
(Исправлены грамматические и стилистические неточности статьи; добавлена информация, ранее присутствующая на английском языке; формулы для определения расстояния процентного спада теперь использует условные обозначения, указанные ранее в статье)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{lang|Constant-Linear-Quadratic Falloff}}
{{LanguageBar|title = Постоянный-Линейный-Квадратичный спад яркости}}
 
== Введение ==
== Введение ==
При удалении от источника света его интенсивность обычно уменьшается, ограничиваясь областью, которую этот источник может освещать.  
При удалении от источника света яркость его освещения обычно уменьшается, тем самым ограничивая область, которую этот источник может освещать.
Это уменьшение называется "истощение света" (англ. ''Light attenuation'') или "спад освещённости" (англ. ''Falloff'').  
Это уменьшение называется "истощение света" (англ. ''Light attenuation'') или "спад освещённости" (англ. ''Falloff'').
 
По умолчанию весь свет имеет полностью квадратичный спад, так как это поведение света в реальной жизни (в соответствии с [[wikipedia:ru:Закон_обратных_квадратов|законом обратных квадратов]]). Такой темп спада иногда слишком резок для виртуального освещения, а так же иногда создаёт слишком яркие места на близких к источнику поверхностях, таких как потолки и стены.
 
Система Constant-Linear-Quadratic - старый способ описать поведения спада освещённости. Она была заменена системой процентных спадов, которую многие найдут проще в использовании.
 
Отношение между тремя значениями '''Constant''' (''_constant_attn''), '''Linear''' (''_linear_attn'') and '''Quadratic''' (''_quadratic_attn'') (или по-русски Постоянный, Линейный и Квадратичный) определяют спад освещённости. Эти три параметра получили свои имена от математической функции, описывающей спад света.
 
== Постоянный спад ==
[[File:ConstantLight.jpg|Постоянный спад|200px|right]]
Картинка справа поясняет самый простой случай затенения: постоянное. ''Constant'', ''Linear'' и ''Quadratic'' устанавливаются в '''1''', '''0''' и '''0''' соответственно, создавая Constant-Linear-Quadratic отношение '''1:0:0''', означая, что спад равен 100% Constant, 0% Linear и 0% Quadratic.
 
Полностью постоянный спад означает, что яркость света не будет спадать вообще. Яркость света, создаваемого источником, не будет изменяться с расстоянием и осветит всю область, на которую падает свет с одной и той же яркостью. Теоретически, такой источник может освещать поверхность бесконечного размера.
Такой тип света можно увидеть от неба (солнечный свет, лунный свет и звёздный свет) и других больших и отдалённых источников света. Он также может быть использован для создания эмбиентного освещения (позволяя освещать тени в помещении) или освещения для настроения.


Для немодифицированной энтити света спад установлен полностью в 100% ''quadratic''. Потому, что это поведение реального света (в соответствии [[wikipedia:Inverse-square_law|inverse-square law]]). Такой темп спада иногда слишком резок для виртуального освещения, при этом появляются ненатуральный блеск близких текстур (потолки).
== Линейный спад ==
[[File:LinearLight.jpg|Линейный спад|200px|right]]


Система Constant-Linear-Quadratic это старый способ описать поведения спада освещённости. Она была заменена системой процентных спадов, которую многие найдут проще в использовании.  
Это тот же самый источник света, но с соотношением 0:1:0, делающим его освещение полностью линейным.


Отношение между тремя значениями '''Constant''' (''_constant_attn''), '''Linear''' (''_linear_attn'') and '''Quadratic''' (''_quadratic_attn'') определяют спад освещённости. Эти три параметра получили свои имена от математической функции, описывающей спад света).
Математически спад этого типа света линеен, то есть обратно пропорционален расстоянию до источника света (I = 1/d, где I - яркость, а d - расстояние). Это означает, что яркость света (установленная его настройками яркости) будет постоянно спадать при движении от своего источника. Чтобы скомпенсировать этот спад, Valve сделали так, чтобы инструменты компиляции автоматически увеличивали яркость линейного света в 100 раз.


== Constant-затенение ==
В реальном мире полностью линейный свет практически невозможен, так как он бы представлял собой мягкий свет бесконечного размера. В виртуальном мире такой свет выглядит реалистично в большинстве случаев.
[[Image:ConstantLight.jpg|Constant attenuation|200px|right]]
{{clr}}
Картинка справа поясняет самый простой случай затенения: константное. ''Constant'', ''Linear'' и ''Quadratic'' устанавливаются в '''1''', '''0''' и '''0''' соответственно, создавая Constant-Linear-Quadratic отношение '''1:0:0''', это значит что затенения равны 100% Constant, 0% Linear и 0% Quadratic.


100% constant означает, что свет не будет затеняться вообще. Интенсивность, создаваемая источником не будет изменяться с расстоянием и осветит всю область, на которую падает свет с одной и той же интенсивностью. Теоретически такой источник может освещать область бесконечных размеров.
== Квадратичный спад ==
Такой тип освещения применяется при создании света неба (заходы и восходы солнца), света от удалённых источников и при создании местного освещения в комнате.
[[File:QuadraticLight.jpg|Квадратичный спад|200px|right]]


100% constant это крайний случай освещения и он обычно применяется в комбинации с двумя другими константами, чтобы смягчить их значение.  
Это обычный, немодифицированный источник света, соотношение которого по умолчанию установлено на '''0:0:1''', тем самым делая источаемый свет полностью квадратичным.


== Linear-затенение ==
Математически спад полностью квадратичного света экспоненциален (квадратичен), и высчитывается по формуле I = 1/d^2 (где I - яркость, а d - расстояние). Чем дальше свет уходит от своего источника, тем сильнее он будет спадать. Это создаёт очень резкий спад в уровне освещённости. Чтобы скомпенсировать этот резкий спад, Valve сделали так, чтобы инструменты компиляции автоматически увеличивали яркость линейного света в 100^2 (или же 10000) раз.
[[Image:LinearLight.jpg|Linear attenuation|200px|right]]


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


Математически это означает, что освещение обратнопропроционально расстоянию до источника света. (I = 1/d)
При использовании в меру, квадратичный спад может быть использован не только для небольших источников света, но и для отражения света, проходящего через что-либо более преломляющее, чем воздух, например, туман или воду.
Это означает, что освещённость будет падать с расстоянием (на ограниченном расстоянии).  


В реальном освещении такой тип источника невозможен, но в виртуальном освещении он вполне допустим.
{{clr}}
{{clr}}


== Quadratic-затенение ==
== Смешанный спад ==
[[Image:QuadraticLight.jpg|Quadratic attenuation|200px|right]]
Смешивая эти три типа спада яркости, Вы устанавливаете пропорцию между ними. Помните, что кратные пропорции означают один и тот же тип затенения (к примеру, '''3:6:1''' равнозначно '''6:12:2''' или '''30:60:10''').


Нормальный, немодифицированный источник света в Хаммере имеет отношение '''0:0:1'''. Это делает его 100% квадратичным.
{{clr}}


Математически, квадратичное освещение обратно пропорционально квадрату расстояние (I = 1/d^2). Это значит, что с удалением от источника освещённость будет падать всё сильнее и сильнее. Квадратичное освещение создаёт резкое пятно света от источника.  
== Соотношение Постоянный-Линеный-Квадратичный в сравнении с процентным спадом ==
Как упоминалось выше, при ослаблении света с использованием соотношения Постоянный-Линейный-Квадратичный яркость света может быть изменена в 10000 раз. Хотя такие высокие значения невозможно отобразить с помощью LDR, при освещении {{L|HDR}} с функцией Bloom свет умеренной яроксти будет казаться ослепительно белым. Такого масштабирования не произойдёт, если опредлены дистанции спада до 50% и полного исчезновения (спад до 0%) яркости.  


В реальности такой тип освещения создаёт типичный "точечный источник света". Виртуальное же освещение выглядит несколько неправдободобным.
Яркость реального источника света будет в основном спадать в соотвествии с [[wikipedia:ru:Закон_обратных_квадратов|законом обратных квадратов]]. Так же реальный свет частично распространяется линейно в связи с преломлением в атмосфере. Чтобы найти подходящее расстояние 50% спада яркости, можно использовать следующее уравнение:


Такой тип освещения может также использоваться для имитации освещения в более плотных средах чем воздух, например в тумане или под водой.
I/2 = I/d^2
{{clr}}
d = sqrt(2)*100
 
Переводя из математики в слова: яркость света уменьшится до 50%, когда расстояние от источника света станет равно квадратному корню из 2 (приблизительно 1.41), умноженному на 100. С этим уравнением свет с яркостью 100 станет незаметным на расстоянии в 1000 юнитов.
 
Полное исчезновение (спад до 0%) на самом деле явлется точкой, в которой яркость становится равной 1/256, которую {{L|VRAD|компилятор освещения}} считает незначительным. Эту точку можно найти следующим образом:
 
1/256 = I/d^2
d = sqrt(I)*16
 
Свет пропадёт на расстоянии равному шестнадцатикратному квадратному корню от первоначальной яркости.
 
== Внешние ресурсы ==
 
*[http://www.izware.com/mirai/tips/light-attenuation/light-attenuation.pdf Длинное объяснение из инструкции по работе с программой Mirai]


== Смешанное затенение ==
*[[wikipedia:Soft_light|The little I could find about falloff on Wikipedia]]
Смешивая эти три типа освещения, вы устанавливаете пропорцию между этими тремя типами. Помните, что кратные пропорции означают один и тот же тип затенения (к примеру 3:6:1 равнозначно 6:12:2 или 30:60:10)


[[Category:Level Design:ru]]
[[Category:Level Design]]
[[Category:Lighting:ru]]
[[Category:Lighting]]

Latest revision as of 14:30, 3 December 2024

English (en)Français (fr)Русский (ru)Translate (Translate)

Введение

При удалении от источника света яркость его освещения обычно уменьшается, тем самым ограничивая область, которую этот источник может освещать. Это уменьшение называется "истощение света" (англ. Light attenuation) или "спад освещённости" (англ. Falloff).

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

Система Constant-Linear-Quadratic - старый способ описать поведения спада освещённости. Она была заменена системой процентных спадов, которую многие найдут проще в использовании.

Отношение между тремя значениями Constant (_constant_attn), Linear (_linear_attn) and Quadratic (_quadratic_attn) (или по-русски Постоянный, Линейный и Квадратичный) определяют спад освещённости. Эти три параметра получили свои имена от математической функции, описывающей спад света.

Постоянный спад

Постоянный спад

Картинка справа поясняет самый простой случай затенения: постоянное. Constant, Linear и Quadratic устанавливаются в 1, 0 и 0 соответственно, создавая Constant-Linear-Quadratic отношение 1:0:0, означая, что спад равен 100% Constant, 0% Linear и 0% Quadratic.

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

Линейный спад

Линейный спад

Это тот же самый источник света, но с соотношением 0:1:0, делающим его освещение полностью линейным.

Математически спад этого типа света линеен, то есть обратно пропорционален расстоянию до источника света (I = 1/d, где I - яркость, а d - расстояние). Это означает, что яркость света (установленная его настройками яркости) будет постоянно спадать при движении от своего источника. Чтобы скомпенсировать этот спад, Valve сделали так, чтобы инструменты компиляции автоматически увеличивали яркость линейного света в 100 раз.

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

Квадратичный спад

Квадратичный спад

Это обычный, немодифицированный источник света, соотношение которого по умолчанию установлено на 0:0:1, тем самым делая источаемый свет полностью квадратичным.

Математически спад полностью квадратичного света экспоненциален (квадратичен), и высчитывается по формуле I = 1/d^2 (где I - яркость, а d - расстояние). Чем дальше свет уходит от своего источника, тем сильнее он будет спадать. Это создаёт очень резкий спад в уровне освещённости. Чтобы скомпенсировать этот резкий спад, Valve сделали так, чтобы инструменты компиляции автоматически увеличивали яркость линейного света в 100^2 (или же 10000) раз.

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

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

Смешанный спад

Смешивая эти три типа спада яркости, Вы устанавливаете пропорцию между ними. Помните, что кратные пропорции означают один и тот же тип затенения (к примеру, 3:6:1 равнозначно 6:12:2 или 30:60:10).

Соотношение Постоянный-Линеный-Квадратичный в сравнении с процентным спадом

Как упоминалось выше, при ослаблении света с использованием соотношения Постоянный-Линейный-Квадратичный яркость света может быть изменена в 10000 раз. Хотя такие высокие значения невозможно отобразить с помощью LDR, при освещении HDR(en) с функцией Bloom свет умеренной яроксти будет казаться ослепительно белым. Такого масштабирования не произойдёт, если опредлены дистанции спада до 50% и полного исчезновения (спад до 0%) яркости.

Яркость реального источника света будет в основном спадать в соотвествии с законом обратных квадратов. Так же реальный свет частично распространяется линейно в связи с преломлением в атмосфере. Чтобы найти подходящее расстояние 50% спада яркости, можно использовать следующее уравнение:

I/2 = I/d^2
d = sqrt(2)*100

Переводя из математики в слова: яркость света уменьшится до 50%, когда расстояние от источника света станет равно квадратному корню из 2 (приблизительно 1.41), умноженному на 100. С этим уравнением свет с яркостью 100 станет незаметным на расстоянии в 1000 юнитов.

Полное исчезновение (спад до 0%) на самом деле явлется точкой, в которой яркость становится равной 1/256, которую компилятор освещения(en) считает незначительным. Эту точку можно найти следующим образом:

1/256 = I/d^2
d = sqrt(I)*16

Свет пропадёт на расстоянии равному шестнадцатикратному квадратному корню от первоначальной яркости.

Внешние ресурсы