Поколупавшись в источниках света можно найти 3 режима - Omnidirectional, Directional, Ambient.
С Omnidirectional все ясно - всенаправленный свет, встречается во всех модельках где есть свет.
Directional как я понял по дефолту есть только у моделей глобального освещения, тут вроде как плоскость от которой "идет свет" в направлении ее взгляда (так ведь?), какие тогда размеры этой плоскости? она бесконечна?
Про Ambient вообще хрен пойми, нигде не используется, никем не расписано что делает, хз, что это?
Так же поля AttenuationStart и AttenuationEnd, везде стоит 80 и 200 - написано что это начало и конец затухания, это влияет на дальность излучения света?
AmbIntensity и AmbColor (приставка Amb) - читал в разных местах, везде по разному объясняется что это такое, и конечно же без примеров, так что же это?

Ну Omnidirectional и Directional это немного порезанные и адаптированные под свои задачи Omni Light и Free Direct из 3д макса.
Ambient — это, как мне кажется (не могу сказать, что я это прям серьёзно и целенаправленно тестил), уже реализация модели глобального освещения с рассеянным светом. То есть явного источника света нет, лучей света нет, но каждый объект в сцене (в случае если Ambient используется в качестве DNC) подсвечивается на значение AmbIntensity с умножением на цвет AmbColor.
Насколько я понимаю, значение AmbIntensity выше нуля позвояляет добавить Ambient составляющую в Omni и Directional источники. В контексте стандартной "environment\dnc\dnclordaeron\dnclordaeronterrain\dnclordaeronterrain" это происходит видимо так: у нас есть условное солнце (Directional), с направленными лучами и интенсивностью 1.3. Проблема направленных источников света в том, что если лучи не попадают в какую-то точку (столкнувшись по пути с объектом), то эта точка будет абсолютно тёмной. Поэтому добавляется AmbIntensity = 0.2, чтобы каждая точка на карте получила некоторую небольшую подсветку, независимо от того попадают на неё лучи или нет. При этом, одного только Ambient недостаточно, так как отсутствие направленного источника света не даст рассчитать тени, а в HD-режиме ещё и не даст отрендерить PBR карты, ту же карту нормалей. То есть, нужно и то, и другое, поэтому их совместили в одном источнике света. Ну это моё дилетантское видение ситуации, да.

AttenuationStart и AttenuationEnd это унаследованные из 3дмакса параметры Far Attenuation. Значения 80 и 200 взялись не из ниоткуда, это значения по умолчанию, которые вписывает макс в эти поля при добавлении нового источника света в сцену. Конкретный ответ можно найти в документации Autodesk. В двух словах: Start — расстояние на котором начинается затухание света, End — расстояние, на котором интенсивность цвета полностью опускается до нуля. В варкрафте это, кажется, тоже работает, но я не уверен, надо нормально тестить.
`
ОЖИДАНИЕ РЕКЛАМЫ...
23
xgm.guru/p/wc3/anims-a-ya-8 здесь всё расписано )
Ответы (4)
18
EugeAl, смотрел уже, оч мало инфы, описано в основном как сделать источник в проге.
23
OVOgenez, там написано про цвет и интенсивность окружения, и про параметры 80 200, как раз то, что нужно. А что ещё? Конечно, их делать в проге надо.
Разве что от себя добавлю, что ты можешь переделать источники глобального освещения из модели снаряда, оставить 1 вершину от геосета, и тогда можно будет без багов и проблем настроить анимацию цвета света, угол поворота, сохранить в mdl (!), чтобы эти настройки не пропали, затем открыть в mdlvis и пересохранить в mdx (ибо дефолтные источники mdlvis не открывает)
18
EugeAl, Хз, ретерой пользуюсь, там все норм, но не суть. Про цвет и интенсивность я ж и не спрашивал, а остальные параметры в статье очень размыто описаны или автор сам хз.
Затухание в начале (п. 7 на 7.1) и Затухание в конце (п. 8 на 7.1) – мои эксперименты не выявили никакого влияния этих пунктов на свет типа Omnidirectional, но, если исходить из стандартных моделей глобального освещения, они имеют некоторое влияние на тип Directional. Однако сами разработчики использовали всегда одно и то же сочетание: 80 для затухания в начале и 200 для затухания в конце.
Как тут понять за что отвечает это самое затухание?
Понятно что статья написана в 2011, но мб с того времени народ разобрался подробнее чё как и для чего.
23
OVOgenez, судя по всему, никто особо не разбирался. Но всегда можно стать первопроходцем ))
26
Ну Omnidirectional и Directional это немного порезанные и адаптированные под свои задачи Omni Light и Free Direct из 3д макса.
Ambient — это, как мне кажется (не могу сказать, что я это прям серьёзно и целенаправленно тестил), уже реализация модели глобального освещения с рассеянным светом. То есть явного источника света нет, лучей света нет, но каждый объект в сцене (в случае если Ambient используется в качестве DNC) подсвечивается на значение AmbIntensity с умножением на цвет AmbColor.
Насколько я понимаю, значение AmbIntensity выше нуля позвояляет добавить Ambient составляющую в Omni и Directional источники. В контексте стандартной "environment\dnc\dnclordaeron\dnclordaeronterrain\dnclordaeronterrain" это происходит видимо так: у нас есть условное солнце (Directional), с направленными лучами и интенсивностью 1.3. Проблема направленных источников света в том, что если лучи не попадают в какую-то точку (столкнувшись по пути с объектом), то эта точка будет абсолютно тёмной. Поэтому добавляется AmbIntensity = 0.2, чтобы каждая точка на карте получила некоторую небольшую подсветку, независимо от того попадают на неё лучи или нет. При этом, одного только Ambient недостаточно, так как отсутствие направленного источника света не даст рассчитать тени, а в HD-режиме ещё и не даст отрендерить PBR карты, ту же карту нормалей. То есть, нужно и то, и другое, поэтому их совместили в одном источнике света. Ну это моё дилетантское видение ситуации, да.

AttenuationStart и AttenuationEnd это унаследованные из 3дмакса параметры Far Attenuation. Значения 80 и 200 взялись не из ниоткуда, это значения по умолчанию, которые вписывает макс в эти поля при добавлении нового источника света в сцену. Конкретный ответ можно найти в документации Autodesk. В двух словах: Start — расстояние на котором начинается затухание света, End — расстояние, на котором интенсивность цвета полностью опускается до нуля. В варкрафте это, кажется, тоже работает, но я не уверен, надо нормально тестить.
Принятый ответ
Ответы (2)
18
Makeba, спасибо, думаю лучше уже не распишут. Не знаешь, в стандартных моделях встречается где-то тип Ambient?
26
Не знаешь, в стандартных моделях встречается где-то тип Ambient?
Doodads\Cinematic\ArthasIllidanFight\ArthasIllidanFight.mdx
Environment\Sky\Sky\skyLight.mdx
Кстати, пробежался по всем моделям, и таки видно, что поля Amb близзы использовали только для Directional и Ambient типов во всяких глобальных моделях, а для Omni там всегда 0. В принципе логично, постороннее статичное освещение нафиг не нужно вокруг лампочки.
Список моделей с Ambient Intensity выше 0
Doodads\Cinematic\ArthasIllidanFight\ArthasIllidanFight.mdx
Environment\DNC\DNCAshenvale\DNCAshenValeTerrain\DNCAshenValeTerrain.mdx
Environment\DNC\DNCAshenvale\DNCAshenValeUnit\DNCAshenValeUnit.mdx
Environment\DNC\DNCDalaran\DNCDalaranTerrain\DNCDalaranTerrain.mdx
Environment\DNC\DNCDalaran\DNCDalaranUnit\DNCDalaranUnit.mdx
Environment\DNC\DNCDungeon\DNCDungeonTerrain\DNCDungeonTerrain.mdx
Environment\DNC\DNCDungeon\DNCDungeonUnit\DNCDungeonUnit.mdx
Environment\DNC\DNCFelwood\DNCFelWoodTerrain\DNCFelWoodTerrain.mdx
Environment\DNC\DNCFelwood\DNCFelWoodUnit\DNCFelWoodUnit.mdx
Environment\DNC\DNCLordaeron\DNCLordaeronTerrain\DNCLordaeronTerrain.mdx
Environment\DNC\DNCLordaeron\DNCLordaeronUnit\DNCLordaeronUnit.mdx
Environment\DNC\DNCUnderground\DNCUndergroundTerrain\DNCUndergroundTerrain.mdx
Environment\DNC\DNCUnderground\DNCUndergroundUnit\DNCUndergroundUnit.mdx
Environment\Sky\DalaranSky\DalaranSky.mdx
Environment\Sky\FelwoodSky\FelwoodSky.mdx
Environment\Sky\FoggedSky\FoggedSky.mdx
Environment\Sky\LordaeronFallSky\LordaeronFallSky.mdx
Environment\Sky\LordaeronSummerSky\LordaeronSummerSky.mdx
Environment\Sky\LordaeronWinterSky\LordaeronWinterSky.mdx
Environment\Sky\LordaeronWinterSkyBrightGreen\LordaeronWinterSkyBrightGreen.mdx
Environment\Sky\LordaeronWinterSkyPink\LordaeronWinterSkyPink.mdx
Environment\Sky\LordaeronWinterSkyPurple\LordaeronWinterSkyPurple.mdx
Environment\Sky\LordaeronWinterSkyRed\LordaeronWinterSkyRed.mdx
Environment\Sky\LordaeronWinterSkyYellow\LordaeronWinterSkyYellow.mdx
Environment\Sky\Sky\skyLight.mdx
Чтобы оставить комментарий, пожалуйста, войдите на сайт.