Подключение к базе данных MySQL из Blender

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

Взаимодействие Blender с базой данных MySQL через Python API не преставляет особых сложностей, однако сначала необходимо выполнить некоторую подготовку:

Читать далее «Подключение к базе данных MySQL из Blender»

Рендер тени на прозрачном фоне

Часто бывает необходимо получить рендер какого-либо объекта с отбрасываемой им тенью на прозрачном фоне. Такая задача возникает если требуется реалистично встроить 3D-объект в фотографию или же при использовании полученного изображения в качестве спрайта в компьютерной игре.

В Blender нет специального шейдера, так называемого «Shadow catcher», как в 3D Studio Max, который, оставаясь прозрачным, отображал бы тень. Однако добиться желаемого результата все же возможно.

Рассмотрим, как можно получить рендер тени на прозрачном фоне средствами Blender:

Читать далее «Рендер тени на прозрачном фоне»

Календарь стокера

Календарь стокера — сервис, который может оказаться полезным для тех, кто рисует изображения или создает модели для продажи на стоковых сайтах таких, как Shutterstock и ему подобных.

Не секрет, что продажи контента, посвященного какому-то известному событию, значительно возрастают назадолго до наступления самого события. Что вполне объяснимо — дизайнерам-оформителям требуется больше нового контента, соответствующего наступающему моменту, чем в другое время. Поэтому создавать елочные игрушки для выкладки на стоки гораздо выгоднее незадолго до Нового года, а космические корабли — накануне Дня космонавтики.

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

Читать далее «Календарь стокера»

Привязка к кадрам

При создании анимации иногда бывает необходимо выполнить какие-то действия в зависимости от времени или, что в сущности одно и то же, номера текущего кадра. Осуществить привязку анимации к кадрам в Blender возможно с использованием встроенного Python API.

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

Читать далее «Привязка к кадрам»

Борьба со ступенчатостью при сохранении градиента в JPG

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

Однако, если подобное изображение требуется сохранить в формате JPG, градиент из плавного часто становится ступенчатым, что сильно портит впечатление от рисунка. Этот неприятный эффект называют «banding». Можно ли как-то его побороть?

Читать далее «Борьба со ступенчатостью при сохранении градиента в JPG»

Аддон PartitionRender v.0.0.5

Обновление аддона PartitionRender до версии 0.0.5

  • Добавлен флажок SaveMultilayer

Если флажок установлен, промежуточные результаты рендера сохраняются в формате OpenEXR Multilayer со всеми слоями и пассами для возможного дальнейшего использования. Автоматически собирается только финальное изображение. Сборку отдельных пассов при необходимости нужно проводить вручную.

PartitonRender v.0.05
Download

Копирование отдельного модификатора на несколько объектов

Для сложных объектов иногда бывает необходимо добавить определенный модификатор на каждую составляющую его часть. Самый простой способ — последовательно перебрать все части объекта и добавить нужный модификатор на каждую. Но если объект состоит из множества частей, это займет уйму времени.

Рассмотрим способы, которыми можно значительно облегчить эту работу:

Читать далее «Копирование отдельного модификатора на несколько объектов»

Вы все еще начинаете с дефолтного куба?

На секунду задумайтесь — в каком количестве реальных сцен вы действительно что-то создали, использовав этот самый дефолтный куб?

Удаление дефолтного куба

Немного, правда? Но все равно, каждый раз создавая чистую сцену, вы нажимаете: x — delete. Снова и снова. Давайте уже наденем белые перчатки фокусника и раз и навсегда избавимся от этого бесмыссленого действия:

Читать далее «Вы все еще начинаете с дефолтного куба?»

Совмещение цветного рендера с «гипсовым»

Для эффектной демонстрации своих работ хорошим приемом является показ рядом с цветным рендером еще и «гипсового» (Clay render) — подчеркивающего объем, освещение, топологию моделей, а так же, в случае фотореалистичного рендера, хорошо показывающего «тридешность» сцены. Еще более эффектным приемом может стать совмещение этих двух рендеров в одном изображении.

Совмещенный рендер

Читать далее «Совмещение цветного рендера с «гипсовым»»

Аддон PartitionRender v.0.0.4

Обновление аддона PartitionRender до версии 0.0.4

  • Ноды сборки финального изображения выводятся на отдельный выход и удаляются при каждом запуске рендера, что позволяет запускать повторный рендер без перенастроек композитинга.
Download

Аддон PartitionRender v.0.0.3

Обновление аддона PartitionRender до версии 0.0.3

  • Добавлены кнопки Reset и Clear.
    • Reset — сброс текущей партиции на начальную.
    • Clear — сброс с удалением всех сохраненных партиций.
  • При установке/снятии флажка Use Range просиходит сброс партиции на начальную.
Аддон PartitionRender v.0.0.3
Аддон PartitionRender v.0.0.3
Download

Аддон PartitionRender 0.0.2

Обновление аддона PartitionRender до версии 0.0.2

  • Добавлена возможность задавать для рендера только ограниченный ряд партиций.
  • Исправлена ошибка, проявляющаяся при запуске при несохраненном blender-файле. Если blender-файл не сохранен, все временные файлы сохраняются в системной временной директории.
Аддон PartitionRender 0.0.2
Аддон PartitionRender 0.0.2
Download

Аддон PartitionRender

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

Например: рендер целого изображения занимает 12 часов. Но нет возможности не выключать компьютер все это время, однако возможно оставлять его включенным по 5 часов с перерывами. Если прервать рендер для выключения компьютера — при следующем запуске рендер начнется с начала и весь достигнутый прогресс будет потерян. Аддон PartitionRender позволяет разбивать картинку на несколько блоков — партиций, каждая из которых рендерится отдельно. Выбрав разделение по X и Y на 2 части, изображение будет разделено на 4 блока. Каждый из которых будет рендерится около 3 часов, что укладывается в отведенное на работу время. Каждая отрендеренная партиция сохраняется. При последующем (после выключения компьютера) запуске рендера, работа автоматически продолжится с той партиции, на которой произошел перерыв. После завершения рендера всех партиций, они автоматически собираются в композитинге в целое изображение.

Download

Аддон бесплатный, с открытым (open source) кодом. Если вы хотите поддержать проект — вы можете приобрести аддон за любую удобную цену, или укажите цену 0, чтобы скачать его бесплатно.

Читать далее «Аддон PartitionRender»

Удаление всех нодов из окна композитинга через скрипт

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

 

Символьные ссылки, как средство повторного использования кода при разработке аддонов Blender

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

Использование символических ссылок при разработке аддонов
Использование символьных ссылок при разработке аддонов

Python, в соответствии с правилами импорта пакетов, предоставляет возможность подключать модули следующими способами:

Читать далее «Символьные ссылки, как средство повторного использования кода при разработке аддонов Blender»

Аддон Blender: Wire

Аддон для рендера объектов с показом сетки (wireframe).

Download

Аддон бесплатный, с открытым (open source) кодом. Если вы хотите поддержать проект — вы можете приобрести аддон за любую удобную цену, или укажите цену 0, чтобы скачать его бесплатно.

Читать далее «Аддон Blender: Wire»

Создание многофайлового аддона

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

Blender на уровне Python поддерживает модульную систему компоновки кода, что позволяет разносить логические части аддона по отдельным файлам, после чего подключать их для использования там, где необходимо. Даже если вы ни разу не задумывались об использовании модулей, создавая скрипты или аддоны, вы с ними уже сталкивались — любой код, сохраненный в файл *.py, представляет из себя отдельный самостоятельный модуль. Просто ваш аддон состоял всего лишь из одного модуля. Сложные же аддоны могут состоять из нескольких десятков подключенных модулей.

Мультифайловый аддон
Мультифайловый аддон

Читать далее «Создание многофайлового аддона»

Как отследить ошибку, если Blender закрывается вместе с консолью

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

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

Запуск Blender из интерпретатора командной строки cmd
Запуск Blender из интерпретатора командной строки cmd

Для запуска Blender из интерпретатора командной строки нужно:

  1. Запустить сам интерпретатор («Пуск» — Выполнить — cmd)
  2. В окне cmd ввести полный путь к установленному Blender. Например: C:\"Program Files"\blender-2.78a-windows64\blender.exe

Часть пути, если в нем есть пробелы, нужно заключить в двойные кавычки — как «Programm Files» в примере.

В поисках идеальной сферы

С моделированием сферических поверхностей мы сталкиваемся достаточно часто. Казалось бы, сфера — самый простой объект для моделирования и любой графический редактор, и в том числе и Blender, предоставляет по умолчанию сферу в наборе основных примитивов — остается лишь добавить ее в сцену. Однако, действительно ли так просто создать на самом деле красивую сферу?

8
8

Читать далее «В поисках идеальной сферы»