Перейти к содержимому

Как запустить рендер в blender

  • автор:

1.4. Рендеринг

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

Существует также другой подход – расчет траекторий лучей (или, как говорят специалисты, трассировка лучей). Для каждой точки растрового изображения проводится луч в некоем известном направлении (это может быть, например, вектор от позиции наблюдателя). Затем происходит перебор всех объектов-примитивов трехмерной сцены. Трассировщик проверяет луч на пересечение с примитивом и получает координаты точки пересечения. Если на сцене присутствуют источники света, проводятся дополнительные лучи от полученной точки к источникам света. На основании полученной информации (а также заранее определенных констант), вычисляется цвет пикселя в данной точке.

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

Для построения проекции трехмерной сцены нам нужна виртуальная камера – объект, который, подобно реальной камере, будет «снимать» происходящее со своей точки обзора. По умолчанию Blender уже добавил на сцену одну камеру: вам остается только нажать клавишу F12 , и вы увидите рендер, сделанный через нее. Чтобы вернуться обратно к сцене, нажмите Escape.

Камеру можно перемещать и поворачивать, как и любой другой объект. Чтобы понаблюдать, как сцена видна через камеру, можно сменить вид: выберите в меню View → Camera. Теперь нажмите клавишу N и в появившейся левой панели инструментов найдите вкладку View. Поставьте галочку напротив Lock Camera to View. Рамка паспарту теперь станет красной, а камера будет привязана к точке наблюдения навигации. То есть, если вы повернете точку наблюдения средней кнопкой мыши, камера тоже повернется соответствующим образом – это позволяет быстро настроить камеру наилучшим для вас образом. Не забудьте только отключить этот режим привязки, когда закончите позиционировать камеру.

Настройки рендеринга находятся на той же панели свойств, в первой группе – Render. На вкладке Dimensions можно изменить разрешение финального изображения, а также указать процент масштаба финального изображения – это необходимо для быстрой визуализации маленьких промежуточных картинок. Сделав рендер клавишей F12 , вы можете сохранить его: выберите в меню Image → Save As Image… В диалоге выбора файла вы можете указать формат сохранения (PNG, JPEG, Targa, OpenEXR, HDR, TIFF и др.), коэффициент сжатия и другие параметры.

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

Визуализация на GPU¶

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

Cycles поддерживает два режима визуализации на GPU: CUDA, который предпочтителен для графических карт Nvidia, и OpenCL, который поддерживает визуализацию на графических картах AMD.

Конфигурирование¶

Для включения визуализации на GPU, откройте окно Параметры и на вкладке Система выберите используемое Устройство расчёта. Затем, для каждой сцены, в панели Визуализация вы сможете настроить использование визуализации на CPU или на GPU.

CUDA¶

Nvidia CUDA is supported for GPU rendering with Nvidia graphics cards. We support graphics cards starting from GTX 4xx (computing capability from 2.0 to 6.1).

Cycles требует установки самых свежих драйверов Nvidia, для всех операционных систем.

OpenCL¶

OpenCL is supported for GPU rendering with AMD graphics cards. (We only support graphics cards with GCN architecture 2.0 and above). To make sure your GPU is supported checkout this Wikipedia page.

Cycles требует установки самых свежих драйверов AMD, для всех операционных систем.

Поддерживаемые возможности и ограничения¶

Обзор поддерживаемых возможностей и сравнение технологий приведены в соответсвующем разделе .

Ограничения CUDA: Максимальное количество индивидуальных текстур ограничено 88 целочисленными текстурами ( PNG , JPEG и так далее) и 5 текстурами с плавающей запятой ( OpenEXR , 16-битный TIFF и прочие) на картах серии GTX 4xx/5xx. Более поздние карты не имеют такого ограничения.

Часто задаваемые вопросы¶

Почему Blender перестаёт отвечать во время визуализации?¶

Когда графическая карта занята визуализацией, она не может перерисовывать пользовательский интерфейс, из-за чего Blender перестаёт отвечать. Мы пытаемся обойти эту проблему, забирая контроль над GPU как можно чаще, но гарантировать полностью гладкую работу мы не можем, особенно на тяжёлых сценах. Это ограничение графических карт и для него не существует стопроцентно работающего решения, хотя мы и постараемся в будущем улучшить этот момент.

Если у вас есть возможность, лучше установить более одного GPU и использовать один из них для отображения, а остальные задействовать для визуализации.

Почему сцена, которая визуализируется на центральном процессоре, не визуализируется на видеокарте?¶

Для этого существует множество причин, но самая часто встречающаяся — на вашей видеокарте недостаточно памяти. На текущий момент мы можем визуализировать только те сцены, которые влезают в память видеокарты, которая обычно меньше памяти, доступной центральному процессору. Обратите внимание, что, например, изображения текстур размерами 8k, 4k, 2k и 1k занимают, соответственно, 256Мб, 64Мб, 16Мб и 4Мб памяти.

Мы намерены добавить систему для поддержки сцен больших, чем имеющаяся память видеокарты, но это будет не скоро.

Можно ли для визуализации использовать несколько видеокарт?¶

Да, перейдите в Параметры ‣ Система ‣ Устройство расчёта ( User Preferences ‣ System ‣ Compute Device Panel ) и настройте устройства по своему вкусу.

Могут ли несколько видеокарт увеличить доступную память?¶

Нет, каждая видеокарта имеет доступ только к своей собственной памяти.

Какой рендер быстрее: Nvidia или AMD, CUDA или OpenCL?¶

Currently Nvidia with CUDA is rendering fastest, but this really depends on the hardware you buy. Currently, CUDA and OpenCL are about the same in the newest mid-range GPUs. However, CUDA is fastest in the respect of high-end GPUs.

Сообщения об ошибках¶

Unsupported GNU version! gcc 4.7 and up are not supported! (Неподдерживаемая версия GNU! gcc 4.7 и старше не поддерживаются!)¶

On Linux, depending on your GCC version you might get this error. There are two possible solutions:

Use an alternate compiler

If you have an older GCC installed that is compatible with the installed CUDA toolkit version, then you can use it instead of the default compiler. This is done by setting the CYCLES_CUDA_EXTRA_CFLAGS environment variable when starting Blender.

Launch Blender from the command line as follows:

CYCLES_CUDA_EXTRA_CFLAGS="-ccbin gcc-x.x" blender

(Substitute the name or path of the compatible GCC compiler).

Remove compatibility checks

If the above is unsuccessful, delete the following line in /usr/local/cuda/include/host_config.h

#error -- unsupported GNU version! gcc 4.7 and up are not supported! 

This will allow Cycles to successfully compile the CUDA rendering kernel the first time it attempts to use your GPU for rendering. Once the kernel is built successfully, you can launch Blender as you normally would and the CUDA kernel will still be used for rendering.

CUDA Error: Invalid kernel image (Ошибка CUDA: Неверное ядро изображения)¶

Если вы получили эту ошибку на 64-битной MS-Windows, убедитесь, что вы используете 64-битную сборку Blender, а не 32-битную.

CUDA Error: Kernel compilation failed (Ошибка CUDA: Сбой компиляции ядра)¶

Эта ошибка может возникнуть, если у вас новая карта Nvidia, которая пока ещё не поддерживается вашей версией Blender’а, а у вас установлен набор инструментов CUDA. В этом случае Blender может попытаться динамически собрать ядро для вашей графической карты и не преуспеть в этом.

В таком случае вы можете:

  1. Check if the latest Blender version (official or experimental builds) supports your graphics card.
  2. Если вы сами собирали Blender, попробуйте скачать и установить новейший набор инструментов для разработчика CUDA.

Обычным пользователям не требуется устанавливать набор инструментов CUDA, поскольку Blender уже поставляется со скомпилированными ядрами.

CUDA Error: Out of memory (Ошибка CUDA: Не хватает памяти)¶

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

The Nvidia OpenGL driver lost connection with the display driver (Драйвер Nvidia OpenGL потерял соединение с драйвером дисплея)¶

Если видеокарта используется как для обычной работы, так и для визуализации, MS-Windows имеет ограничение на время, которое видеокарта может посвятить вычислению визуализации. Если у вас есть особенно тяжёлые сцены, Cycles может занять слишком много времени видеокарты. Уменьшение размера плиток в панели .*Производительность* может облегчить эту проблему, но единственным реальным решением является использование отдельной видеокарты для визуализации.

Another solution can be to increase the time-out, although this will make the user interface less responsive when rendering heavy scenes. Learn More Here.

CUDA error: Unknown error in cuCtxSynchronize() (Ошибка CUDA: Неизвестная ошибка в cuCtxSynchronize())¶

An unknown error can have many causes, but one possibility is that it is a time-out. See the above answer for solutions.

© Copyright : This page is licensed under a CC-BY-SA 4.0 Int. License.

Viewport Render¶

Viewport rendering uses the 3D Viewport rendering for quick preview renders.

Он позволяет вам исследовать вашу анимацию (поэкспериментировать с движением объектов, изменением углов и так далее).

Так же может использоваться для предпросмотра анимации – в случае, если ваша сцена слишком сложна для вашей системы и не может воспроизводиться в реальном времени в области 3D-вида.

You can use Viewport Render to render both images and animations.

Below is a comparison between the Viewport render and a final render using the Cycles Renderer.

../../_images/editors_3dview_viewport-render_example-workbench-render.jpg

Viewport render using Solid Mode. ¶

../../_images/editors_3dview_viewport-render_example-eevee-render.jpg

Viewport render using Material Preview Mode. ¶

../../_images/editors_3dview_viewport-render_example-cycles-render.jpg

Disable overlays to render the viewport without any additional overlays.

While this option is not specific to Viewport rendering, it’s often useful to enable, since it removes data such as rigs and empties that can be a distraction.

Параметры¶

Render ‣ Viewport Render Options

For the most part, Viewport Render uses the current viewport settings. Some settings are located in the render panel of the render engine that is used to render the view.

Solid mode uses the render settings of Workbench; Material Preview mode uses the render settings of Eevee.

Sampling and Alpha Transparency Mode options can be set in Properties ‣ Render ‣ Sampling . Make sure the Workbench or Eevee render engine is selected to see the appropriate values.

Additionally, some render settings are used too:

  • Размеры визуализации
  • Соотношение сторон визуализации
  • File Format & Output (file path, format, compression settings, etc.)

Визуализация¶

Activating Viewport Render will render from the current active view. This means that if you are not in an active camera view then a virtual camera is used to match the current perspective. To get an image from the camera point of view, enter the active camera view with Numpad0 .

Как и обычную визуализацию, вы можете прервать её нажатием клавиши Esc .

To render a still image, use 3D Viewport ‣ View ‣ Viewport Render Image .

to render an animation, use 3D Viewport ‣ View ‣ Viewport Render Animation .

To render an animation, but only those frames that have a keyframe, use 3D Viewport ‣ View ‣ Viewport Render Keyframes . This only renders those frames for which the selected objects have an animation key. The other frames are still written to the output, but will simply repeat the last-rendered frame.

For example, when a six-frame animation is rendered, and the selected objects have a key on frames 3 and 5, the following frames will be output:

  1. The 1st frame is always rendered.
  2. The 1st frame is repeated because there is no key on this frame.
  3. The 3rd frame is rendered.
  4. The 3rd frame is repeated because there is no key on this frame.
  5. The 5th frame is rendered.
  6. The 5th frame is repeated because there is no key on this frame.

You can limit the viewport render to a particular region with Render Regions .

Рендер и обработка в Blender

Привет, меня зовут Сергей Мингулин, я — 3D-художник и преподаватель курса по созданию стилизованных 3D-персонажей в XYZ. Посмотреть на мои проекты можно здесь. Это — третья статья из цикла о визуализации в Blender.

Последняя наша тема, — это настройка рендера и обработка: рассмотрим инструменты, которые есть в самой программе и в Photoshop. Также я расскажу об особенностях настоящего плёночного снимка и способах их имитации, и покажу, какие функции Photoshop может спокойно заменить Blender.

Настройка рендера

Как я уже рассказывал в предыдущем материале, чтобы сохранить volume иллициев и избежать некорректного отображения, мы рендерим в Cycles.

Заходим во вкладку Render Properties. В разделе Sampling мы можем контролировать качество финального рендера, изменяя числовое значение в строке Render. Но это прямо влияет на производительность и скорость рендера, так что в своей работе я обычно выставляю значение для Render — на 1200. При этом настройки Max Bounces в разделе Light Paths остаются практически без изменений.

Единственный параметр, который мы незначительно меняем — это Volume (ставим «2» вместо «0»). Это сильнее нагрузит систему, но улучшит отображение тумана и свечения.

Вторая вкладка, которая нас интересует, — Output Properties. Выставляем разрешение «2000». Этого будет достаточно для портфолио на Artstation, с учётом того, что алгоритмы сайта «пожмут» итоговую картинку.

Наконец, перед рендером включаем во вкладке View Layer Properties необходимые renderpass`ы в разделах Data, Light, Cryptomatte. И вместо Denoising, который находится в самом низу этой же вкладке, активируем Denoising Data из раздела Data.

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

По умолчанию будет доступен только нод Render Layers, в котором активны ранее выбранные нами аутпуты. Для этого мы и включали все те настройки на предыдущем этапе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *