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

From Valve Developer Community
< Ru
Jump to navigation Jump to search
m (fixed a typo in the title of the page (missing letter))
(Исправлены грамматические и стилистические неточности статьи; добавлена информация, ранее присутствующая на английском языке; формулы для определения расстояния процентного спада теперь использует условные обозначения, указанные ранее в статье)
 
Line 5: Line 5:
Это уменьшение называется "истощение света" (англ. ''Light attenuation'') или "спад освещённости" (англ. ''Falloff'').
Это уменьшение называется "истощение света" (англ. ''Light attenuation'') или "спад освещённости" (англ. ''Falloff'').


По умолчанию весь свет имеет полностью квадратичный спад, так как это поведение света в реальной жизни (в соответствии с [[wikipedia:Inverse-square_law|законом обратных квадратов]]). Такой темп спада иногда слишком резок для виртуального освещения, а так же иногда создаёт слишком яркие места на близких поверхностях, таких как потолки.
По умолчанию весь свет имеет полностью квадратичный спад, так как это поведение света в реальной жизни (в соответствии с [[wikipedia:ru:Закон_обратных_квадратов|законом обратных квадратов]]). Такой темп спада иногда слишком резок для виртуального освещения, а так же иногда создаёт слишком яркие места на близких к источнику поверхностях, таких как потолки и стены.


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


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


== Постоянный спад ==
== Постоянный спад ==
[[File:ConstantLight.jpg|Constant attenuation|200px|right]]
[[File:ConstantLight.jpg|Постоянный спад|200px|right]]
Картинка справа поясняет самый простой случай затенения: постоянное. ''Constant'', ''Linear'' и ''Quadratic'' устанавливаются в '''1''', '''0''' и '''0''' соответственно, создавая Constant-Linear-Quadratic отношение '''1:0:0''', означая, что спад равен 100% Constant, 0% Linear и 0% Quadratic.
Картинка справа поясняет самый простой случай затенения: постоянное. ''Constant'', ''Linear'' и ''Quadratic'' устанавливаются в '''1''', '''0''' и '''0''' соответственно, создавая Constant-Linear-Quadratic отношение '''1:0:0''', означая, что спад равен 100% Constant, 0% Linear и 0% Quadratic.


Line 19: Line 19:


== Линейный спад ==
== Линейный спад ==
[[File:LinearLight.jpg|Linear attenuation|200px|right]]
[[File:LinearLight.jpg|Линейный спад|200px|right]]


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


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


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


== Квадратичный спад ==
== Квадратичный спад ==
[[File:QuadraticLight.jpg|Quadratic attenuation|200px|right]]
[[File:QuadraticLight.jpg|Квадратичный спад|200px|right]]


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


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


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


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


{{clr}}
{{clr}}


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


{{clr}}
{{clr}}


== Постоянный-Линеный-Квадратичный в сравнении с 50%-0% спадом ==
== Соотношение Постоянный-Линеный-Квадратичный в сравнении с процентным спадом ==
Как упоминалось выше, при ослаблении света с использованием натройки постоянный-линейный-квадратичный яркость света может быть изменена в 10'000 раз. Хотя такие высокие значения невозможно отобразить с помощью LDR, при освещении [HDR] с функцией bloom свет умеренной яроксти будет казаться ослепительно белым. Такого масштабирования не произойдёт если опредлены дистанции 50-ти процентного спада и полного исчезновения (спад 0%) яркости.  
Как упоминалось выше, при ослаблении света с использованием соотношения Постоянный-Линейный-Квадратичный яркость света может быть изменена в 10000 раз. Хотя такие высокие значения невозможно отобразить с помощью LDR, при освещении {{L|HDR}} с функцией Bloom свет умеренной яроксти будет казаться ослепительно белым. Такого масштабирования не произойдёт, если опредлены дистанции спада до 50% и полного исчезновения (спад до 0%) яркости.  


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


  Яркость/2 = Яркость/Расстояние^2
  I/2 = I/d^2
  Расстояние = sqrt(2)
  d = sqrt(2)*100


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


Полное исчезновение (спад 0%) на самом деле явлется точкой в которой яроксть становится равной 1/256, которое {{L|VRAD|vrad.exe}} считает cнезначительным. Таким образом, эту точку можно найти следующим образом:
Полное исчезновение (спад до 0%) на самом деле явлется точкой, в которой яркость становится равной 1/256, которую {{L|VRAD|компилятор освещения}} считает незначительным. Эту точку можно найти следующим образом:


  1/256 = Яркость/Расстояние^2
  1/256 = I/d^2
  Расстояние = sqrt(Яркость)*16
  d = sqrt(I)*16


Опять же, говоря по-русски, свет "исчезает" на расстоянии равном 16-кратному квадратному корню от первоначальной яркости.
Свет пропадёт на расстоянии равному шестнадцатикратному квадратному корню от первоначальной яркости.
 
What is missing here are units to go with these numbers. Clearly 1.41 Source units is much too soon for a light to drop by 50%, and a light of 100 brightness should reach much farther than 160 units. Some experimentation in a test map indicates that a 50% falloff distance of 10 looks good, which corresponds to sqrt(I)*113. That could easily be rounded to sqrt(I)*100 for simplicity's sake (and to account for that atmospheric scattering mentioned above). With this equation a light with a brightness of 100 would reach 1000 units before ceasing to exist.
 
Если будут найдены более точные или адекватные значения, их следует опубликовать здесь!


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


*[http://www.izware.com/mirai/tips/light-attenuation/light-attenuation.pdf A lenghty explanation from the manual of the Mirai program.]
*[http://www.izware.com/mirai/tips/light-attenuation/light-attenuation.pdf Длинное объяснение из инструкции по работе с программой Mirai]


*[[wikipedia:Soft_light|The little I could find about falloff on Wikipedia.]]
*[[wikipedia:Soft_light|The little I could find about falloff on Wikipedia]]


[[Category:Level Design]]
[[Category:Level Design]]
[[Category:Lighting]]
[[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

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

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