Houdini | Базовый курс


Описание курса Houdini

Статья о курсе Houdini

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

Результат обучения

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

Структура курса

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

Курс проводится в формате “лекция / лабораторная работа”. Занятия с преподавателем – с 10 утра до 10 вечера с перерывами на кофе-брейк, обед и ужин. Длительность курса – 5 дней (понедельник-пятница).

Требования к слушателям

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

Программа курса

День первый
1. Введение
Краткий исторический очерк. От PRISMS до Houdini 13.0. Эволюция интерфейса и инструментария.
Процедурная идеология, как основа эффективности в работе над комплексными задачами.
Основные понятия: процедура, нода, связь, нетворк, параметр, атрибут.
2. Интерфейс
Настройка интерфейса. Panels, Panes, Pane Types. Основные горячие клавиши. Настройка переменных среды. Навигация.
3. Организация рабочего пространства.
Структура хранения данных и объектов в сцене. Адресация. Textport. Понятие контекста. Необходимость контекстов. Типы контекстов. OBJ, Geometry, POP, SHOP, DOP, VOP, CHOP, ROP, COP. Обмен данными между контекстами.
4. Базовый уровень сцены OBJ. Создание основных элементов сцены: объекты, источники света, камера.
5. Работа с геометрией.
SOP контекст. Контейнер Geometry. Отображение во вьюпорте. Флаги.
Атрибуты. Локальные переменные. Доступ к атрибутам через локальные переменные. Expressions.
Создание простейших примитивов. Инструменты полигонального моделирования. UV-мапинг.
6. Принцип обмена данными внутри сцены. Создание абсолютных и относительных ссылок. Визуализация связей.
7. Нода Copy. Техника Copy Stamping.
8. Группировка точек и примитивов. Нода Group.
9. Практика.

День второй
1. Добавление пользовательских настроек в интерфейс ноды. Создание Custom Parameters.
2. Базовые принципы создания Digital Asset. Parameter Promote. Запись в OTL. Менеджмент версий.
3. Работа с векторными данными.
Основы векторной алгебры. VOP контекст. Знакомство с VEX. VEX Builder, как средство визуального программирования. VEX Wrangle
4. Разработка собственного SOP модификатора.
5. Волюметрические примитивы.
Скалярные и векторные поля и операции над ними (дивергенция, ротор, градиент, лапласиан). Неявное представление геометрии. Поля Fog и SDF. Модификация волюмов с помощью VEX. Мультипликативный и пирокластический шумы. Семплирование атрибутов в волюметрик. Конструирование скалярных и векторных полей на основе геометрии. Обзор OpenVDB.
5. Практика.

Консультация №1
1. Разбор домашнего задания

День третий
1. Динамика частиц. Основные понятия.
Частица. Система частиц. Фазовое пространство. Физическая модель движения частиц, ее символьное и численное решения. Алгоритм работы particle солвера. Динамически и процедурно управляемые частицы.
2. Создание системы частиц.
POP контекст. Типы эмиттеров. Начальное состояние. Наследование атрибутов. Типы эмиссии. Вероятностная эмиссия. Контроль симуляции. Группировка частиц.
3. Силы (Forces)
Три категории сил по типу воздействия. Force. Spring. Interaction. Комбинированные (процедурно-динамические) системы частиц. Particle Advection. Создание Custom Force на VEX.
4. Коллизия (Collision)
Типы коллизии. Атрибуты. События (Events). Типы алгоритмов коллизии, методы повышения их эффективности.
5. Способы визуализации частиц
Primitives. Sprites. Instances. Metaballs. Particle Fluid Surface.
6. Динамика твердых тел. Основные понятия.
7. DOP контекст.
Понятия Object, Data, Data Sharing, Relationship. Активный/пассивный объект. Параметры симуляции. Начальное состояние. Запись в кэш.
8. Типы RBD объектов.
RBD Glue, Fracture, Point Objects. Подготовка объекта для симуляции. Packed Primitives. Voronoi Fracture Tool. Использование прокси-геометрии.
9. RBD и Bullet солверы. Особенности и ограничения.
10. RBD Constraints. Constraint Networks.
11. Экспорт данных в SOP контекст. Выбор оптимального метода.
12. Практика

День четвертый
1. Динамика жидкости.
Методы симуляции жидкости (Эйлера, Лагранжа, комбинированный (FLIP)). Обзор FLIP метода. Управление FLIP симуляцией с помощью custom velocity field. Создание Сustom Force с помощью Gas Field VOP.
2. Динамика газа. Обзор Smoke и Pyro солверов.
3. SHOP контекст. Разработка пользовательского шейдера средствами VEX Builder.
4. Постановка света. Типы светильников. Настройка теней. Light/Shadow Linking.
5. Визуализация в Mantra.
Основные параметры. Mantra Render Engines. Оптимизация времени просчета. Вывод дополнительных пассов. Использование Takes. Многопроходный рендер. Wedge ROP.
6. Instancing. Изменение свойств копируемых объектов от точки к точке.
7. Практика.

Консультация №2
1. Разбор домашнего задания