Houdini (графическая программа)

Из Википедии, бесплатной энциклопедии

Houdini
Логотип программы Houdini
Скриншот программы Houdini
скриншот программы Sidefx Houdini 11 под Windows 7
Разработчик Side Effects Software
Операционные системы Linux, OS X, Microsoft Windows
Первый выпуск декабрь 1996
Последняя версия 20.0.547 (6 декабря 2023)
Сайт sidefx.com

Houdini — профессиональный программный пакет для работы с трёхмерной графикой, разработан компанией Side Effects Software (Торонто, Канада). Главное отличие данного пакета в том, что он является средой визуального программирования.

Основные возможности программы[править | править код]

  • Моделирование
  • Анимация
    • основанная на ключевых кадрах анимация
    • с возможностью процедурного управления каналами параметров сцены с помощью HScript или с помощью операторов группы CHOPs (channel operators)
    • редактор ключевых кадров — с возможностью графического представления параметра сцены, изменения типа интерполяции значения и расположения во времени ключевого кадра
    • персонажная анимация — инструменты для персонажной анимации: скелеты, риг, волосы и шерсть (с просчётом физического взаимодействия), взаимодействиe персонажей (Crowd control) и т. д.
  • Физическое моделирование — расчёт физического взаимодействия:
    • твёрдых (Rigid Body) и мягких тел (Soft Body)
    • «верёвчатых» тел (Wire)
    • тканей (Cloth)
    • волос и шерсти (Fur)
    • расчёт физического поведения и визуализации газов и жидкостей (моделирование поведения огня, дыма, большинства атмосферных явлений, растворения одной жидкости в другой, карты намокания (Wet Map) и т. д.)
  • Освещение
  • Материалы и шейдеры
    • библиотека материалов
    • возможность создания пользовательского материала путём редактирования существующего или программирования шейдера материала — SHOPs (shading operator)
  • Объёмный звук — Houdini обладает набором инструментов позволяющих работать с объёмным звуком. Расположив виртуальные источники звука в сцене, с помощью специального объекта выполняющего роль микрофона (Microphone object), можно получить звуковой сигнал в конкретной точке сцены с учётом акустических свойств объектов сцены.[1]
  • Рендеринг
  • Композитинг
    • встроенный инструмент для Композитинга с (COPs — composite operators) с полноценной поддержкой пикселов с глубиной цвета 32 бита с плавающей точкой
    • информация из COPs может быть напрямую использована в сцене проекта

Операторы. Ноды (Nodes)[править | править код]

Оператор — это основная структурная единица Houdini, способная в соответствии с её типом обрабатывать определённые данные и возвращать результат. В большинстве случаев, пользователь имеет дело с графическим представлением оператора — нодой, которая отображается в виде прямоугольника с входными и выходными соединениями. Выходное соединение одной ноды можно связать с входным другой, тем самым, обеспечивая передачу данных между ними. Можно сказать, что моделирование в Houdini — это процесс создания и связывания операторов (нод). Любое действие в проекте будет порождать новый оператор, поэтому, пользователь всегда имеет возможность изменять параметры произведённых действий, а также отменять (удалять) действия или временно отключать.

Графы (Networks)[править | править код]

Пример графов в Houdini
Меню выбора ноды в Houdini

Соединения нод или операторов, образуют графы (Networks). Такие графы могут относится к одному из ниже приведённых контекстных типов:[2]

  • Objects (OBJ) — является контейнером верхнего уровня для всех геометрических объектов (источников света, камер, объектов SOPs и т д.). Позволяет определять пространственные и иерархические зависимости между объектами сцены
  • Geometry (SOP) — обладает полным функционалом для моделирования. Обычно такой граф содержит ноды-генераторы (куб, сфера, плоскость) и ноды-преобразования (трансформация, сжатие, булевые операции). Такой граф может содержать только одну активную ноду, которая будеть определять результирующую геометрию объекта SOP
  • Particles (POP) — такой граф позволяет создавать источники частиц и определять их поведение с помощью соответствующих нод
  • Motion and audio channel operators (CHOP) — такой граф содержит ноды для управления каналами данных (любой параметр сцены, информация из аудиофайла). Является инструментом процедурной анимации
  • Compositing (COP) — содержит ноды 2D-преобразования графических изображений. Является полноценным инструментом композитинга. По сравнению с другими пакетами моделирования, инструмент композитинга Houdini — это не отдельная программа. Данные из COP могут быть напрямую задействованы в трехмерной сцене
  • Dynamics (DOP) — граф для создания физических свойств объекта и расчёта их взаимодействия. Позволяет создавать реалистичное поведение объектов, к примеру, столкновение твёрдых тел с расчётом деформации или разрушения исходных объектов или поведение тканей
  • Shaders (SHOP) — содержит ноды шейдеров. Параметры этих нод изменяют свойства определённого шейдера
  • Render outputs (ROP) — содержит ноды рендеринга. Каждая такая нода обладает определённым набором параметров визуализации, к примеру: диапазон кадров для просчёта, активная камера, имя фаила для сохранения результатов рендеринга и т д. Такие ноды могут соединятся между собой, создавая зависимости
  • VEX Builder (VOP) — граф для визуального программирования Houdini. Преимущественно используется для программирования шейдеров.

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

Пользовательские ноды (Digital assets)[править | править код]

Пример процедурной модели книги

Графы могут быть объединены в самостоятельную структуру — «пользовательскую ноду» (Digital asset) со своим названием и набором регулируемых параметров. Существуют примеры создания очень сложных процедурных моделей с большим числом регулировок, к примеру: процедурная дорога, которая в зависимости от перепадов высот сама встраивает сложные мосты или туннели, пользователю лишь нужно указать путь, по которому эта дорога будет проходить или процедурная книга, где пользователь указывает количество страниц, размеры и путь папки с текстурами; изменяя параметр, отвечающий за номер открытой страницы, можно создавать анимацию перелистывания книги или журнала.

Программирование в Houdini[править | править код]

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

  • Геометрические данные — точки, примитивы, нормали, проекции, кривые и т. д.;
  • Графические данные — растровый массив данных из графического файла или напрямую из встроенного композера COPs;
  • Частицы — структуры данных для POPs;
  • Физические данные — DOPs;
  • Строчные данные — текстовые параметры операторов;
  • Числовые данные — параметры операторов, атрибуты, векторы, большинство данных для программирования шейдеров и т. д.;
  • Информация с устройств ввода — мыши, клавиатуры, графического планшета, MIDI-порта, микрофона;
  • RAW данные из файла;
  • Данные из TCP/IP-соединения;
  • Аудио-поток из файла или виртуального микрофона расположенного в пространстве сцены.

Достижения[править | править код]

За использование Houdini для имитации природных явлений с помощью частиц и сложных процедурных трёхмерных моделей, компания Side Effects Software в 2002 году, получила премию «Оскар» за технические достижения (Scientific and Engineering Award)[3].

Версии Houdini[править | править код]

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

Примечания[править | править код]

  1. Spatial audio. Дата обращения: 4 октября 2010. Архивировано из оригинала 1 июля 2012 года. (англ.)
  2. Network types. Дата обращения: 4 октября 2010. Архивировано из оригинала 1 июля 2012 года. (англ.)
  3. 75th Annual Academy Awards (2002). Дата обращения: 3 октября 2010. Архивировано из оригинала 21 июня 2012 года. (англ.)