Как сделать рендер в блендере

Обновлено: 06.07.2024

Рендер — вот оно сладкое слово для каждого моделлера. Это момент истины, заключительный этап работы над проектом. И хотя создание сцены завершено, от правильной настройки системы обработки зависит очень многое. Малейшая неточность и результат будет испорчен. А ведь визуализация даже одного кадра может длиться часами.

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

8.1. Основы обработки

На протяжении всей книги вы часто встречали слово "рендер" и даже выполняли быстрый прогон сцены с помощью клавиши .

Рендер (Render) — это система визуализации проекта и сохранение результата в виде графических или видеофайлов. В то же время рендером называется собственно результат обработки.

В мире существует много систем визуализации 3D и некоторые из них поддерживаются программой. Поэтому различают встроенные рендеры и сторонние. В этой версии Blender уже имеется три встроенных обработчика, которые можно найти и выбрать в меню Engine (Движок), расположенном в заголовке главного окна программы (рис. 8.1).

Рис. 8.1. Встроенные рендеры Blender

 Blender Render — это самый первый визуализатор программы, он используется по умолчанию;

 Blender Game — движок для визуализации сцены в режиме реального времени. Blender — это не только программа для создания 3D, но и мощный игровой конструктор. Выбирайте этот пункт, если вы создаете игру или приложение реального времени;

 Cycles Render — новый рендер, появившийся в версии программы 2.61. Разработчики пророчат ему великое будущее и в дальнейшем предполагают использовать его по умолчанию. Движок сырой, но имеет очень хорошие возможности.

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

Наиболее популярными являются: YafRay , LuxRender , Pov-Ray , Rendermfarm .

Эти движки подключаются к программе с помощью встроенного механизма плагинов.

Каждый рендер хорош по-своему, у каждого есть свои сильные и слабые стороны. Так, к примеру, новейший Cycles имеет возможность ускорения просчета за счет ресурсов графического GPU (видеоплаты). YafRay советуют использовать для сцен, содержащих материалы с преломлением и отражением. Но нужно знать, что в большинстве случаев сцену и материалы объектов придется подгонять под требования конкретного рендера. Поэтому в данной главе будет рассмотрен лишь стандартный Blender Render . Его возможностей вполне достаточно для визуализации сложнейших сцен.

Обработчик Blender способен сохранять результат в различных форматах графических и видеофайлов. Так, при нажатии клавиши выполняется обработка одного текущего кадра, который можно сохранить на диск. Это делается либо с помощью меню Image | Save As Image в окне результата обработки, либо просто нажав клавишу . По умолчанию программа предложит сохранить картинку в формате PNG. А вот изменить его можно в настройках рендера (рис. 8.2).

В верхней части панели Render присутствуют две большие кнопки, которые позволяют запустить процесс обработки — это Image (Картинка) и Animation (Анимация). Уже по названию понятно, что за что отвечает. Процесс обработки Blender демонстрирует в окне Image Editor , которое автоматически запускается при старте. Но вы можете выбрать иной тип вывода в меню Display .

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

Настройки изображения выполняются на закладке Dimensions (Размеры) (рис. 8.3).

При запуске программа предлагает обрабатывать картинку в разрешении Full HD, т. е. 1920 на 1080 пикселов. Это, конечно, великолепно, но в большинстве случаев излишне. Вы можете вручную установить разрешение в полях Resolution . Только учтите, что необходимо правильно установить соотношение сторон ( Aspect Ratio )

Система рендеринга Blender

и частоту кадров ( Frame Rate ). Ведь существуют определенные стандарты телевизионного вещания (на них ориентируются форматы видео). Так, у нас в стране используется PAL, который имеет разрешение 720×576 пикселов с частотой 25 кадров в секунду. В странах Европы популярен NTSC с совсем другими пропорциями и частотой, а ведь есть еще всевозможные варианты HD. Если вы не знаете конкретных данных необходимого стандарта, то лучше воспользоваться заготовками Blender в меню Dimensions . Здесь есть практически все популярные телевизионные стандарты разных стран.

Рис. 8.2. Настройка рендера

Рис. 8.3. Настройки разрешения

После того как вы определились с разрешением картинки, нужно выбрать, в каком формате будет сохранен результат. Это делается на закладке Output (Выход)

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

Главный выбор осуществляется в меню File Format (Формат файла) (рис. 8.5).

Многие блендеристы знаю о Render Layers и периодически их используют. Но знаете ли Вы, что с их помощью можно разбить сложную сцену на множество более мелких частей?

render-layers2

Данная сложная сцена будет выступать в качестве примера:

Эта сцена — монстр поедания памяти! Она так беспощадно пожирает память, что даже на GTX Titan с 6GB памяти она не может быть отрендерина целиком и за раз. Однако, с помощью Render Layers сцену удалось разбить на части и выполнить рендеринг. Вот как это сделать…

Шаг №1 Разделение сцены

Шаг №2 Разделите элементы на слои рендера (Render Layers)


Scene
Определяет какие физические слои будут рендерится в Вашей сцене. Однако, они не делают ничего со слоями рендера и просто будут отображать все слои в окне 3D-вида.
Layer
Определяет какие физические слои будут включены в данный слой. В данном случае первые 5 слоев определяют передний план сцены.
Exclude
В этом вся суть! Здесь мы указываем слои, которые не должны рендерится на данном слое (инверсное выделение относительно секции Layer). Данная опция указывает Blender, что необходимо исключить их из памяти. Не упустите данный шаг из виду, иначе все усилия будут напрасны.

Шаг №3 Включить прозрачность (Transparency)

render-layers6

Так как мы будем собирать все данные слои вместе, важно, чтобы Blender рендерил их с прозрачным фоном. Находится данная опция на вкладке Render > Film > Transparent.

Шаг №4 Рендеринг

render-layers7


Не удивляйтесь, если по завершению рендеринга Вы увидите лишь часть Вашей сцены. Это отображается Ваш первый слой.

Шаг №5 Объединение слоев (Композитинг)

Все слои имеют прозрачный фон и мы может объединить их с помощью нода Alpha Over:

Проделайте это столько раз, сколько слоев рендера Вы создали:

Готово!


Вот таким способом можно рендерить очень сложные сцены на посредственном компьютере. Надеюсь данный урок помог решить данную проблему и теперь Вы в состоянии отрендерить практически любую сцену.

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

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

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

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

OpenCL¶

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:

(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

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.

Настройка сцены

Стандартная сцена Блендера выглядит примерно вот так:


Обычно я всегда удаляю сразу всё т.к. в самом начале оно всё мешает. Особенно эта лампа, которая светит прямо в глаза! (нет)


Камерамэн

Вот так это выглядит.


Так же очень важен момент, что камера должна иметь ортогональную проекцию и верный ортогональный размер. Вот мои настройки:



Для удобства оперирования объектами, рендером и вообще порядка в сцене используются (мной) слои.

Но есть ещё один слой…

Солнце светит. Или не солнце. Или не светит.

Установки рендера

Собственно в этом и заключается часть настроек: снижаем размер итогового изображения (конкретно в этом примере это 38% от 256х256), убираем сглаживание anti-aliasing, во вкладке Shading ставим Alpha: Transparent (по стандарту там Sky).



(на самом деле не очень)

То, к чему я пришёл уже почти после первых версий игры. Когда-то эта идея забылась, но вспоминалась, когда я хотел было сделать свою ДДНТ (где кстати тоже есть Взертос), в том проекте я ориентировался на графику Доты2 и тут сидела подсказка, суть которой в том, что…

Всё что ниже, ближе к полу — темнее, всё что выше — светлее. Используй умный градиент, дубина!

Следующей мыслью было то, чтобы взять координату по Z и уже на основе этой координаты считать градиенты. И собственно это помогло. Далее нужно было ещё придумать как же так на каждый материал это ставить. НА КАЖДЫЙ ?! ЧТО?! ДА У МЕНЯ 100500 МОДЕЛЕЙ УЖЕ ГОТОВО.


Приветствуются любые вопросы относительно этой темы.

Было бы вам интересно такое и подобное? Про Блендер и всякое около разработческое.

Blender 3D — Свободный редактор 3D-графики

Олександр Симоненко

Олександр Симоненко
запись закреплена

Alex Georgiev

Alex Georgiev

Ну или mp4 выбери в окне контейнер(там где сейчас mkv)

Олександр Симоненко


Олександр Симоненко

Alex, я кнтрл ф12 нажал, тамтче то прогрузилось, зашел в папку тмп, там одни фотки

Alex Georgiev

Олександр Симоненко


Олександр Симоненко ответил Alex

Alex Georgiev

Курбан, сначала надо задать все параметры, размер картинки, кол-во кадров в секунду, путь и формат видео MP4 ( качество пожатия) А ПОТОМ f12 )) и будет не рендер отдельных картинок а видео файл.

Alex Georgiev

Олександр Симоненко


Олександр Симоненко ответил Alex

💪

Alex, благодарю, увидел бы в живую пожал бы руку двумя руками

Читайте также: