Blender был разработан как рабочий инструмент голландской анимационной студией NeoGeo (не имеет отношения к игровой консоли Neo-Geo). В июне 1998 года автор Blender’а, Тон Розендаль (Ton Roosendaal), основал компанию Not a Number (NaN) с целью дальнейшего развития и сопровождения Blender. Программа распространялась по принципу shareware.
В 2002 году компания NaN обанкротилась. Усилиями Тона Розендаля кредиторы соглашаются на изменение лицензии распространения Blender в пользу GNU GPL с условием единовременной выплаты €100000. 18 июля 2002 года началась программа по сбору спонсорских пожертвований на покрытие необходимой суммы. Уже 7 сентября 2002 года было объявлено о том, что необходимая сумма набрана, и о планах перевести в ближайшее время исходный код и сам Blender под лицензию GPL.
13 октября 2002 года компания Blender Foundation представила лицензированный под GNU GPL продукт.
В настоящее время Blender является проектом с открытым исходным кодом и развивается при активной поддержке Blender Foundation.
Возможности
Характерной особенностью пакета Blender является его небольшой размер. Установленный пакет занимает около 50 МБ. В базовую поставку не входят развёрнутая документация и большое количество демонстрационных сцен.
Функции пакета:
Поддержка разнообразных геометрических примитивов, включая полигональные модели, систему быстрого моделирования в режиме subdivision surface (SubSurf), кривые Безье, поверхности NURBS, metaballs (метасферы), скульптурное моделирование и векторные шрифты.
Универсальные встроенные механизмы рендеринга и интеграция с внешним рендерером YafRay.
Инструменты анимации, среди которых инверсная кинематика, скелетная анимация и сеточная деформация, анимация по ключевым кадрам, нелинейная анимация, редактирование весовых коэффициентов вершин, ограничители, динамика мягких тел (включая определение коллизий объектов при взаимодействии), динамика твёрдых тел на основе физического движка Bullet, система волос на основе частиц и система частиц с поддержкой коллизий.
Python используется как средство создания инструментов и прототипов, системы логики в играх, как средство импорта/экспорта файлов (например COLLADA), автоматизации задач.
Базовые функции нелинейного редактирования и комбинирования видео.
Game Blender — подпроект Blender, предоставляющий интерактивные функции, такие как определение коллизий, движок динамики и программируемая логика. Также он позволяет создавать отдельные real-time приложения начиная от архитектурной визуализации до видео игр.
Дополнительные особенности
В Blender Объект (который представляет собой сущность, взаимодействующую с окружающим миром) и его Данные (определённая форма/функции объекта) разделяемы. Отношение Объект-Данные представляется отношением 1:n (термин, относящийся к теории баз данных, обозначает возможность нескольких объектов использовать одни и те же данные — один ко многим или сюрьекция) и динамически связаны между собой, позволяя использовать некоторые процессы быстрого моделирования, уникальные для Blender.
Внутренняя файловая система, позволяющая хранить несколько сцен в едином файле (называемом .blend файл).
Все «.blend» файлы совместимы как с более старыми, так и с более новыми версиями Blender. Так же все они переносимы с одной платформы на другую и могут использоваться как средство переноса созданных ранее работ.
Blender делает резервные копии проектов во время всей работы программы, что позволяет сохранить данные при непредвиденных обстоятельствах.
Все сцены, объекты, материалы, текстуры (только собственные, не импортированные), звуки, изображения, post-production эффекты могут быть сохранены в единый «.blend» файл.
Настройки рабочей среды могут быть сохранены в «.blend» файл, благодаря чему при загрузке файла вы получите именно то, что сохранили в него. Файл можно сохранить как «пользовательский по умолчанию», и каждый раз при запуске Blender вы будете получать необходимый набор объектов и подготовленный к работе интерфейс.
Тем не менее, внутреннее содержание «.blend» файла менее похоже на структурированное описание объектов и их взаимоотношений, и более близко к прямому дампу области памяти программы. Это делает практически невозможным преобразование «.blend» файлов в другие форматы. При этом следует заметить весьма продвинутый механизм экспорта в разнообразные форматы, такие как obj, dxf, stl, 3ds и прочие (список постепенно растёт).
Интерфейс пользователя
Blender имел репутацию программы сложной для изучения. Практически каждая функция имеет соответствующее ей сочетание клавиш, и учитывая количество возможностей, предоставляемых Blender, каждая клавиша включена в более чем одно сочетание (shortcut). C тех пор как Blender стал проектом с открытым исходным кодом, были добавлены полные контекстные меню ко всем функциям, а использование инструментов сделано более логичным и гибким. Прибавим сюда дальнейшее улучшение пользовательского интерфейса с введением цветовых схем, прозрачных плавающих элементов, новой системой просмотра дерева объектов и разными мелкими изменениями.
Пользовательский интерфейс Blender’а следует следующим отличительным концепциям:
Режимы редактирования. Два основных режима Объектный режим (Object mode) и Режим редактирования (Edit mode), которые переключаются клавишей Tab. Объектный режим в основном используется для манипуляций с индивидуальными объектами, в то время как режим редактирования — для манипуляций с фактическими данными объекта. К примеру, для полигональной модели в объектном режиме мы можем перемещать, изменять размер и вращать модель целиком, а режим редактирования используется для манипуляции отдельных вершин конкретной модели. Также имеются несколько других режимов, таких как Vertex Paint и UV Face select.
Широкое использование горячих клавиш. Большинство команд выполняется с клавиатуры. До появления 2.x и особенно 2.3x версии, это был единственный путь выполнять команды, и это было самой большой причиной создания репутации Blender’y как сложной для изучения программы. Новая версия имеет более полное графическое меню.
Управление рабочим пространством. Графический интерфейс Blender’а состоит из одного или нескольких экранов, каждый из которых может быть разделён на секции и подсекции, которые могут быть любой частью интерфейса Blender’a. Графические элементы каждой секции могут контролироваться теми же инструментами, что и для манипуляции в 3D пространстве, для примера можно уменьшать и увеличивать кнопки инструментов тем же путём, что и в 3D просмотре. Пользователь полностью контролирует расположение и организацию графического интерфейса, это делает возможным настройку интерфейса под конкретные задачи, такие как редактирование видео, UV mapping и текстурирование, и сокрытие элементов интерфейса которые не нужны для данной задачи. Этот стиль графического интерфейса очень похож на стиль, используемый в редакторе UnrealEd карт для игры Unreal Tournament.
Хотя Blender’y (для версии 2.41) ещё недостаёт возможностей патентованного программного обеспечения (таких как N-гон моделирование), рабочее пространство Blender’а считается одним из самых новаторских концепций графического интерфейса для графических инструментов и вдохновлённым дизайном графического интерфейса патентованных программ, таких как Luxology’s Modo.
Разработка
С момента открытия исходного кода Blender претерпел улучшения и переработку основного кода программы. Это сделало процесс добавления новых возможностей гораздо более лёгким. Хотя Blender полнофункциональная программа, профессиональные пользователи других программ могут найти недостающие возможности, такие как недостаток процесса моделирования на основе N-Gon и несколько незавершённый набор инструментов моделирования, методы численного измерения и манипулирования, невозможность настроить сочетания клавиш по своему усмотрению (без модификации исходного кода программы), ограниченная совместимость с другими 3D форматами файлов и несколько неудобное представление библиотек материалов. К тому же Blender имеет тенденцию время от времени «течь» (старые версии) и присутствует некоторый недостаток в описании и документации. Проблема с документацией была решена в большой степени благодаря викификации проекта документации Blender и Blender Summer of Documentation.
Возможности Blender 2.47
Новый релиз содержит большое количество устранённых ошибок и исправлений.
Новые инструменты и улучшения были внесены в Snapping tools (Инструменты привязки).
Улучшена логика игрового движка.
Исправлена неправильная трансформация для визуализации группы частиц.
Исправлено отрицательное значение в ноде Gamma с отрицательным вводом.
Tangent (Касательное) затенение (которое влияет только на specular) создавая бамп не работает для диффузии.
Исправлен модификатор Mesh Deform не работающий на выдавливаемых кривых.
Исправлен сбой преобразования старой системы частиц в связанном файле.
Некоторые объекты не восстанавливали правильную матрицу для Environment Map (Карта окружающей среды), это могло бы получить рендер объекта в неправильном положении.
Ноды композиции с выключенными нодами не должным образом перерисовывали окно нодов при изменениях.
Blender мог вылетать, если пользователь отменял запекания мягких тел для волос.
Опция Disable Tex не отключала текстуры для опции материала Texface.
Исправлен обзор данных для раскрашивания рисунка, которые не работали.
В редакторе действий Border Select Channels больше не выбирает кости.
Исправлена ошибка в X-Mirror для арматуры. Когда кость в зеркальной цепи не была правильно названа, она устанавливала корень или наконечник в неправильное состояние.
Исправлено запекание АО с более чем 16 семплами.
Исправлена опция «Col» для систем частиц не работающая корректно с Mat IPOs
Исправлены «симметричные» частицы, работающие неправильно на некоторых гранях.
Инструмент Bevel зависал на определённой геометрии, где скашиваемое ребро было разделено двумя гранями, которые имели более чем один общий край и вызывались без проверки возвращение статуса Bmesh eulers.
Исправлен игровой движок изменявший данные позы
Когда ваш домашний каталог полон, сохранение по умолчанию было неудачным и не отображало ошибку.
Исправлен сбой на захвате/перемещении по оси, когда ничего не выбрано.
Опция автоматического обновления в IPO редакторе теперь обновляет объекты, используя активный IPO-блок, как ObAction при трансформации ключевых кадров.
Shift+H скрывал не выделенные объекты на невидимых слоях.
Color picker (Сборщик цвета) не всегда перерисовывал rgb/hsv/hex значение.
Родительские вершины не работали правильно, с многочисленными не связанными кривыми.
Исправлен сбой в запекании жидкости с большим количеством мелких объектов жидкости.
Outliner не обновлялся при изменении родителя в Transform Properties