В этом коротком уроке мы рассмотрим, как задать случайное значение для интенсивности источника света в Blender. В частности, мы поговорим об использовании модификатора Noise для animation curves.
Видеоверсия этого руководства в настоящее время недоступна на этом языке. Ниже вы можете посмотреть английскую версию с субтитрами; под видео вы найдете перевод расшифровки на русский язык.
Текстовая расшифровка видео
Всем привет! В этом коротком уроке мы рассмотрим, как задать случайное значение для интенсивности источника света в Blender. В частности, мы поговорим об использовании модификатора Noise для animation curves.
Этот модификатор можно использовать со всеми animation curves, присутствующими в Blender, поэтому его применение не ограничивается источниками света. Он может использоваться для цветов, перемещений, вращений и вообще любых параметров, которые можно анимировать в Blender.
Этот урок был создан с использованием версии 3.3 Blender, однако рассмотренные здесь концепции и инструменты актуальны и для многих предыдущих версий программы.
Я импортировал модель в пустую сцену Blender, после чего добавил Plane, на котором разместил лампу. Это сделает рендеринг более интересным, поскольку мы увидим свет, проецируемый на поверхность плоскости.

Я добавляю источник света Point Light внутрь стеклянного контейнера, устанавливая интенсивность источника света равной 1 Watt для выполнения теста.
Как показано в видеоуроке о модификаторе Cycles для анимаций, необходимо проверить значение Radius у только что созданного источника света Point Light. Оно оказалось слишком большим для объекта Kerosene Lamp, поэтому получаемое освещение некорректно.

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

Чтобы проанализировать полученный на данный момент эффект, я переключаюсь в режим отображения Rendered в окне 3D Viewport.
Я устанавливаю 200 samples и включаю Denoise для предпросмотра рендера, чтобы быстрее оценить результат.

Чтобы сделать эффект более заметным, я устанавливаю интенсивность освещения World Background равной 0.

В моей 3D-модели стекло полностью прозрачное, как будто оно совершенно новое.

Чтобы сделать его более матовым, я отключаю текстуру, связанную с каналом Roughness материала, и вручную задаю для этого канала светло-серый цвет.
Я анализирую результат в реальном времени в окне 3D Viewport в режиме Rendered, пока не получу приемлемый результат.
Хорошо, начальная настройка тестовой сцены завершена! Переходим к эффекту мерцания!
Я открываю окно Graph Editor, выбрав источник света Point Light.

Чтобы применить модификатор к кривой параметра Power объекта Point Light, сначала необходимо создать animation curve для этого параметра.
Это можно сделать просто добавив animation keyframe для этого параметра, например на первом кадре Timeline.
Перед добавлением keyframe я устанавливаю значение поля Power равным 0.
Это сделает рендер полностью чёрным, но поверьте мне: причина этого станет совершенно понятной сразу после добавления модификатора Noise к этому параметру.

Чтобы добавить keyframe, я навожу курсор мыши на параметр Power и нажимаю клавишу I. Либо можно щёлкнуть правой кнопкой мыши по значению Power и выбрать Insert Keyframe в появившемся меню.

Теперь кривая Power доступна в окне Graph Editor.
Если keyframe трудно заметить, поместите курсор мыши в окно, нажмите клавишу A, затем клавишу точки на цифровой клавиатуре.
Это приведёт к тому, что окно сфокусируется на keyframe, выбранном с помощью A, так как это единственный элемент в окне.

Я добавляю модификатор Noise на боковой панели окна Graph Editor.
Эту панель можно открыть или закрыть клавишей N.

Первый параметр только что созданного модификатора Noise — это Blend Type. Очень важно знать доступные в нём варианты, поскольку в зависимости от выбранного режима значение параметра будет изменяться по-разному.

Второй важный параметр этого модификатора — Strength, который позволяет определить степень изменения исходного значения. Значение Strength также может быть отрицательным.

Названия режимов достаточно ясно подсказывают, каким образом будет изменяться значение параметра.
Add добавляет случайное значение в диапазоне между 0 и Strength, поэтому мы будем уверены, что итоговое значение никогда не станет меньше значения, заданного в первом keyframe, если только мы не установим отрицательное значение Strength.
Subtract, разумеется, выполняет вычитание между значениями. В нашем случае это бесполезно, потому что исходное значение равно 0, а значит любое значение после вычитания будет отрицательным, и объект Point Light не будет излучать свет.
Multiply умножает исходное значение на число в диапазоне между 0 и Strength.
Это может привести к гораздо более сильным изменениям по сравнению с режимом Add, если исходное значение изменяемого параметра отлично от 0.
В нашем случае Power имеет начальное значение 0, поэтому Multiply не даст эффекта, поскольку любое значение будет умножено на 0.
Replace полностью заменяет исходное значение значением, задаваемым параметром Strength. Однако при использовании этого режима следует быть внимательным, поскольку Strength представляет амплитуду шума и может привести к появлению отрицательных значений параметра.
В данном случае мы будем использовать режим Add.
В частности, чтобы создать анимацию, которую вы сейчас видите на экране, я установил значение параметра Strength равным 30000, поэтому мощность источника света фактически изменяется в диапазоне между 0 и 3 Watt.

Ещё один очень интересный параметр модификатора Noise — Scale. Он позволяет сделать мерцание более или менее частым: при значениях между 0 и 1 изменения будут резкими, тогда как при значениях значительно больше 1 изменения будут плавными и растянутыми во времени. Для рендера, который я показывал ранее, я использовал значение 1 для этого параметра.

Раздел Restrict Frame Range также очень полезен. Он позволяет задать диапазон кадров, в котором применяется эффект. Это может пригодиться, например, чтобы добавить эффект мерцания только в определённые моменты анимации, скажем для источника света, намекающего, что освещение может погаснуть в любой момент в напряжённой сцене.

Как я говорил в начале видеоурока, модификатор Noise можно применить к любому параметру, который можно анимировать в Blender. Поэтому я выполняю тест с полем Radius источника света Point Light, но на этот раз использую другой режим модификатора Noise.
Сначала я возвращаюсь к первому keyframe Timeline и добавляю keyframe для поля Radius источника света Point Light с начальным значением 1 cm.

В окне Graph Editor я выбираю новую animation curve с названием Shadow Soft Size.
Чтобы быстро найти keyframe Shadow Soft Size, можно отключить Power, нажать A для выбора всего и затем нажать клавишу точки на цифровой клавиатуре. Как видно, на этот раз значение на вертикальной оси больше соответствует значению поля Radius, в отличие от того, что мы наблюдали ранее с Power.

Затем я добавляю модификатор Noise для этой кривой, на этот раз изменяя режим на Replace. Теперь я устанавливаю значение Scale равным 0.5, чтобы получить более частые и резкие изменения.
Наконец, я устанавливаю значение Strength равным 1.9. В некотором смысле это максимальное значение для данной анимации, потому что начальное значение Radius было равно 1, а Strength представляет максимальную амплитуду шума, которую нужно разделить на 2, чтобы понять, насколько параметр может увеличиться или уменьшиться.

Поскольку Radius имеет значение 1, если установить Strength равным 2, можно получить итоговое значение в диапазоне между 2 и 0, чего мы хотим избежать.
Установив значение 1.9, я получу очень небольшие случайные значения для этого параметра, но без риска достижения 0 или отрицательных значений.
Перед запуском нового рендера я также устанавливаю значение параметра Scale для Power равным 0.5, чтобы получить более резкие изменения интенсивности источника света, а также его Radius.


Что ж, на этом всё для данного урока! Надеюсь, он оказался полезным! До скорой встречи!