1. Введение в профессию. Обзор технологий на сегодняшний день. Continuous разрушения крупных объектов. Общие правила выполнения шота с разрушениями. Правила моделирования, общение с моделлером. Особые правила для текстурирования и маппинга.
2. Кое-что о теории физических симуляций. Математическая модель. Point-based метод, итерационные методы. Обработка столкновений. RBD-солвер изнутри. Пишем свой собственный particle, wire, cloth солвер как оператор python и переносим на HDK. Знакомство с FEM.
3. Пишем собственный RBD и Cloth солвер с использованием HDK в SOP и DOP контексте на основе Bullet physics, чтобы понять, как это работает изнутри.
4. Получение и обработка геометрии от моделлера. Контроль, упрощение, подгонка для получения хорошей геометрии. Что важно для контролируемой симуляции.
5. Процедурная обработка геометрии для последующего разрушения, создание дополнительных предметов. Подготовка внутренних деталей: кирпичи, деревянные планки, штукатурка и т.п.
6. Подготовка выпуклых кусков вместо вогнутых: convex decomposition. Почему Bullet лучше работает лучше с определенной геометрией. Несколько способов convex decomposition, подходы к решению проблемы. Разработка плагина с использованием HDK.
7. Подготовка к симуляции. Подготовка glue clusters, glue network. О другом подходе к симуляции разрушений на основе compound-объектов вместо констрейнов. Разбор возможных алгоритмов. Возможности, которые предоставляет нам Houdini 13.
8. Настройка DOP симуляции, симуляция. Обзор инструментов DOP для RBD-симуляций. Особенности низкоуровневой реализации Bullet, которые важно знать на производстве.
8.1. Разработка spring-constraint network.
9. Получение результата из DOP, работа с трансформами, обработка и модификация результатов симуляции. Детализация: добавление деталей в SOP-контексте. Техники для изменения результата без пересимуляции. Подсимуляции и двухуровневые симуляции. Ретайминг. Фейковый softbody, деформации.
9.1. Использование OpenVDB для разбиения и деформации геометрии.
10. Подготовка к шейдингу, к детализации на этапе рендера. Создание и кэширование дополнительных данных для шейдера.
11. Детализация: добавление деталей в displacement-контексте. Шейдинг, лайтинг, растройка рендера. Особенности Mantra, которые нужно знать при рендере эффектов с разрушениями.
12. Пыль, дым, щепки и вторичные элементы в процессе разрушения.
13. Введение в цифровую пиротехнику. Линейная алгебра, теория поля, уравнения Навье-Стокса. Знакомство с существующими инструментами. (инструменты с полки, PyroFX, etc). Работа с волюметриками. Динамика в Houdini.
14. Система микросолверов. Разбор микросолверов. Кратко о симуляции взрывов. Решение прикладных задач с помощью системы микросолверов.
15. Шейдинг дымов, визуализация волюметриков. Детализация. Gridless advection. Оптимизация рендера, использование PBR. Основы композитинга для дымов и пыли.