Подписка на RSS

Решение проблем при работе с тенями

Все, кто работал хоть в одном пакете трехмерной графике (Maya, 3d Max), обязательно пробовал создать изображение в котором будет присутствовать тень. Тень — это одно из того, что я больше всего люблю. Достаточно часто именно с тенями и возникают проблемы. Как их решить изложено в этой статье.

Проблемы с картой тени

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

Некорректные тени на основе карт глубины

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

На следующем примере показано, как вручную установить положение плоскостей отсечения для рендеринга карты теней (предполагается, что источник света называется lightShape):

setAttr lightShape.useDmapAutoClipping 0;
setAttr lightShape.dmapFarClipPlane 10000;
setAttr lightShape.dmapNearClipPlane 0.01;

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

Отбрасывание теней прозрачными объектами на основе карт глубины

Прозрачные объекты отбрасывают тени для теней на основе карт глубины. Если это не нужно, отключите отбрасывание теней для объектов, которые должны быть прозрачными, с помощью окна Attribute Editor.

Плохое качество тени при светящемся тумане

При светящемся тумане качество тени может быть очень плохим.
Такое может происходить, если значение coneAngle существенно больше области видимости, а опция Use Dmap Auto Focus включена. Если Use Dmap Auto Focus включена, рендерер рассчитывает минимальный угол, чтобы добиться наилучшего качества тени. Но при включенном светящемся тумане угол может быть больше угла конуса света.
Отключите атрибут Use Dmap Auto Focus, затем настройте значение Dmap Focus.

Неправильная генерация аппаратных теней

Чтобы аппаратные тени работали корректно, необходимо, чтобы видовое окно не перекрывалось другими окнами.
Не допускайте перекрытия видового окна другими окнами.

Осветитель не порождает теней

Проверьте, что атрибут Illuminates by Default включен, если связывание осветителей с объектами не предполагается.

Убедитесь, что опции Cast Shadows или Receive Shadows включены для объекта.

Если используются тени на основе карт глубины, проверьте, что включена опция Enable Depth Maps в окне Render Settings (меню Window > Rendering Editors > Render Settings).

Если используются тени на основе трассировки лучей, проверьте, что атрибут Ray Depth Limit (для осветителя в окне Attribute Editor) доступен и не меньше 1.

Тени мерцают при анимации

При использовании теней на основе карт глубины:
— чтобы получить наилучшее качество при включенном атрибуте Use Dmap Auto Focus, убедитесь, что поверхность земли (пола) не отбрасывает тени. В противном случае точность расчета тени от малых предметов будет существенно меньше.
— попытайтесь отключить атрибут Use Dmap Auto Focus и определите постоянный угол фокуса для осветителей, работающих на протяжении всей анимации.

Неровные границы освещения

Если объект использует Ramp Shader (например, для реализации мультипликационного шейдера) и освещен пространственным источником света (Area light) с тенью на основе карты глубины, границы освещенности могут быть неровными. Чтобы исправить этот недостаток, увеличьте Dmap Filter Size (атрибуты Depth Map Shadows в окне Attribute Editor для осветителя). Если это не помогает, значительно увеличьте значение Dmap Bias.

Неровные или мерцающие края тени

Для отбрасывающих тень прожекторов (spot light), убавьте значение Cone Angle.

Для отбрасывающего тень направленного осветителя (directional light) включите Use Light Position, выключите Use Dmap Auto Focus, и установите Width Focus таким, чтобы все нужные объекты отбрасывали тени во всех кадрах анимации.

Чтобы определить значение Width Focus, в меню Panels выберите пункт Look Through Selected (предварительно выделив осветитель) и настройте масштаб видового окна так, чтобы все объекты, которые должны отбрасывать тень, были видны. Запомните ширину окна – это и будет значение Width Focus.

Для всех типов осветителей сделайте одно из следующих действий:

— отключите Use Light Position (только для направленного осветителя), включите Use Dmap Auto Focus для осветителя и отключите Casts Shadows для всех объектов (особенно больших) которые не должны отбрасывать тень (хотя они могут продолжать принимать тень).

— увеличьте значение Dmap Filter Size (до минимального значения, обеспечивающего приемлемый результат) для осветителя, порождающего тень (это сделает края тени мягкими).

— увеличьте значение Dmap Resolution (до минимального значения, обеспечивающего приемлемый результат) для осветителя, порождающего тень.

Зернистая или мерцающая тень о светящемся тумане

Увеличьте Fog Shadow Samples (до минимального значения, обеспечивающего приемлемый результат) для осветителя, порождающего тень.


Темные пятна и полосы на освещенной поверхности, (вне области тени)
Выполните одно из следующих действий:
— включите Use Mid Dist Dmap для осветителей, порождающих тень.
— немного увеличьте Dmap Bias для осветителей, порождающих тень и освещающих поверхность.

Тень отделена от отбрасывающей ее поверхности

Немного убавьте Dmap Bias для осветителей, порождающих тень.




Неровные или мерцающие границы тени (тени на основе трассировки лучей)

Выполните одно из следующих действий:
— убавьте Light Radius (точечный осветитель (point light) или прожектор (spot light)) или Light Angle (направленный осветитель (directional light)) для осветителей, порождающих тень. При этом границы тени станут более четкими.
— увеличьте Shadow Rays (до минимального значения, обеспечивающего приемлемый результат) для осветителей, порождающих тень.

Ступеньки или темные треугольники на поверхности (тени на основе трассировки лучей)

Выполните одно из следующих действий:
— увеличьте Curvature Tolerance для поверхности.
— увеличьте U Divisions Factor и V Divisions Factor для поверхности (до минимального значения, обеспечивающего приемлемый результат).

Изменения разрешения карты глубины не влияют на IPR

При работе с рендерером IPR изменения Dmap Resolution или Use Dmap Auto Focus не отображаются в IPR.

Иногда, стоит отдохнуть от работы, от тяжелых будней. Я люблю играть в азартные игры, частенько в покер. Техасский покер — лучшая карточная игра. Играть советую в онлайн-казино de.partycasino.com, естественно, если Вам уже исполнилось 18 лет. Отличное качественное меню, красивый дизайн и быстрый вывод валюты, позволить полностью насладиться игрой в казино.

Доступны несколько видов игр, от карточных до рулетки. Огромнейший джекпот. Так же казино дает отличный бонус всем новичкам. Зайдите и посмотрите.

4 комментария на «Решение проблем при работе с тенями»

  1. Спасибо за полезные статьи.

  2. Жудаям мухим маслахатлар . Спасибо !!

  3. Cпасибо, очень содержательно

Ваш отзыв


Video Tutorials