Поиск сообщества

Показаны результаты для тегов 'touchdesigner'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Правила | FAQ (ЧаВо)
    • Правила
    • FAQ | ЧаВо
  • Новости
    • Новости про Soft
    • Новости про Hard
    • Новости 3D
    • Различные новости
  • Анонсы событий с участием VJ или видео маппинга
    • Москва
    • Санкт-Петербург
    • Вологда
    • Минск
    • Тюмень
    • Остальные города России и ближнего зарубежья
    • Города еще не попавшие в категорию
  • Программы по Виджеингу
    • Resolume
    • Modul 8
    • Arkaos
    • Visual jockey
    • VDMX
    • Particle Illusion
    • TextMachine
    • Processing
    • Остальные
  • Основной форум
    • VJ Болталка
    • Разговоры на любые темы!
    • Софт и виджеинг. Общие обсуждения
    • Видео маппинг технологии
    • Железо для виджеинга. Общие обсуждения
    • DVJ раздел
  • Творчество VJ'ев
    • Творчество VJ. Их видео инсталляции, VJ sets, video mapping
    • Футажи, видео контент, видео арт, DVD, видео ресурсы
    • Фото и видео с выступлений виджеев
    • Russian VJ's DVD
  • Работа для виджеев. Куплю - продам
    • Поиск и работа для VJ, Предложения от виджеев
    • Куплю оборудование
    • Продам оборудование
    • Аренда оборудования
    • Видео контент
  • Графические программы для создания контента
    • 3D графика
    • Программы для монтажа
    • Композитинг. AE, Fusion, Nuke и другие
    • Photoshop
    • All Macromedia
  • Разное
    • Различный интересный софт
    • VJ Ссылки
  • ENGLISH FORUM
    • Hardware
    • Software
    • FInding content
    • Free
    • VJ Event
    • I Need this...
    • Your offers and wishes to a forum
  • Технический форум
    • Проблемы работа форума | пожелания
    • Новый ресурс malbred.com

Календари

  • Календарь событий

Категории

  • Уроки по Resolume
  • Уроки по видео маппингу
  • Уроки по TouchDesigner
  • Уроки по VVVV
  • База по работе с видео
  • Уроки по VDMX
  • Уроки Quartz Composer
  • Работа с VJ железом
  • Уроки по Modul8
  • Стерео и мультитач технологии

Найдено: 3 результата

  1. TouchDesigner компании Derivative — популярная платформа и программа, используемая во всем мире для создания интерактивных решений и анимации реального времени в ходе выступлений, а также для отображения трехмерной анимации, создания карт и схем, а также с недавнего времени в системах виртуальной реальности. Благодаря поддержке камеры Intel RealSense TouchDesigner становится еще более многоцелевым и мощным средством. Следует отметить и возможность импортировать в TouchDesigner объекты и анимацию из других трехмерных пакетов с помощью файлов .fbx, а также возможность работать с уже рендеринговыми анимационными роликами и изображениями. В этой статье, состоящей из двух частей, я расскажу об интеграции камеры Intel RealSense в TouchDesigner и о возможностях ее использования. В демонстрациях в первой части используется камера Intel RealSense с узлами TOP. В демонстрациях во второй части используются узлы CHOP. Во второй части также поясняется создание последовательностей виртуальной реальности и полукруглых панорам с использованием камеры Intel RealSense. Обе части включают анимации и загружаемые файлы TouchDesigner* (.toe), которые можно использовать для просмотра. Для получения файлов TouchDesigner* (.toe) нажмите здесь. Кроме того, доступна бесплатная копия TouchDesigner* для некоммерческого использования. Она полностью функциональна (за исключением того, что максимальное разрешение ограничено значением 1280 на 1280). Примечание. В настоящее время существует два типа камер Intel RealSense: камера ближнего обзора F200 и камера дальнего обзора R200. Благодаря своему сверхкомпактному размеру камера R200 очень удобна для выступлений и других сценариев использования, когда камера должна быть скрытой. В отличие от более крупной модели F200 камера R200 не поддерживает отслеживание рук и пальцев, а также отслеживание маркеров. TouchDesigner* поддерживает обе модели камер Intel RealSense: и F200, и R200. Цитирую веб-страницу TouchDesigner: «TouchDesigner* — это революционная программная платформа, дающая возможность художникам и дизайнерам работать с материалами в открытой свободной среде. TouchDesigner* — идеальное решение для интерактивных мультимедиапроектов, использующих видео, звук, трехмерную графику, ввод с помощью контроллеров, Интернет и базы данных, источники света DMX, датчики окружающей среды и вообще все, что только можно вообразить. Это мощная среда для смешения всех названных элементов бесконечным числом способов». «Благодаря процедурной архитектуре TouchDesigner* на основе узлов данные камеры Intel RealSense можно немедленно получать, визуализировать, затем передавать на другие узлы, не тратя времени на написание кода. Можно быстро создавать прототипы идей и вести разработку с мгновенной обратной связью. Камера представлена узлом в TouchDesigner*, а это означает, что нет необходимости закрывать и перекомпилировать приложение на каждой итерации разработки. Камера Intel RealSense дополняет возможности TouchDesigner*, предоставляя пользователям значительное количество готовых модулей, таких как жесты, отслеживание рук, отслеживание лица, данные глубины. Все это можно использовать для взаимодействия. Нет необходимости применять низкоуровневый анализ данных о положении рук для распознавания жестов: это уже сделано». Использование камеры Intel RealSense в TouchDesigner TouchDesigner* — программа и платформа на основе узлов, использующая Python* в качестве основного языка сценариев. Существует пять категорий узлов, выполняющих разные операции и обладающих разными функциями: узлы TOP (текстуры), SOP (геометрия), CHOP (анимация и звук), DAT (таблицы и текст), COMP (трехмерные геометрические узлы, а также узлы для создания двухмерных панелей управления) и MAT (материалы). Программисты компании TouchDesigner*, посоветовавшись с разработчиками Intel, создали два особых узла, узел камеры Intel RealSense TOP и узел камеры Intel RealSense CHOP для интеграции камеры Intel RealSense в программу. Примечание. Эта статья предназначена для пользователей, уже знакомых с программой TouchDesigner* и с ее интерфейсом. Если у вас нет опыта работы с TouchDesigner* и вы собираетесь постепенно разбираться в этой статье, то рекомендую сначала просмотреть документацию, доступную здесь. Примечание. При использовании камеры Intel RealSense для достижения оптимальных результатов следует учитывать дальность. На этой веб-странице Intel указана дальность всех моделей камер и даны рекомендации по использованию камер. Узел камеры Intel RealSense TOP Узлы TOP в TouchDesigner* выполняют множество операций, обычно содержащихся в программах для композиции изображений. Узел камеры Intel RealSense TOP дополняет эти возможности за счет двухмерных и трехмерных данных, поступающих от камеры Intel RealSense. Узел камеры Intel RealSense TOP содержит ряд настроек для получения разных видов данных. Цвет. Видео с датчика цвета камеры Intel RealSense. Глубина. Вычисленная глубина каждого пикселя. 0 означает, что пиксель находится на расстоянии 0 метров от камеры, 1 означает, что пиксель находится на максимально возможном расстоянии или дальше. Необработанная глубина. Значения берутся непосредственно из Intel RealSense SDK. И вновь 0 означает 1 метр от камеры, 1 означает, что пиксель находится на максимально возможном расстоянии или дальше. Наглядная глубина. Изображение Intel RealSense SDK в оттенках серого, позволяющее наглядно представить глубину. Его невозможно использовать для фактического вычисления точного расстояния каждого пикселя до камеры. Отображение глубины на цветной UV-карте. Значения UV из 32-разрядной плавающей текстуры RG (обратите внимание, что в ней только два цвета (красный и зеленый), а синего цвета нет), необходимые для выравнивания изображения глубины в соответствии с цветным изображением. Для выравнивания изображений можно использовать узел TOP Remap. Отображение цвета на UV-карте глубины. Значения UV из 32-разрядной плавающей текстуры RG (обратите внимание, что в ней только два цвета (красный и зеленый), а синего цвета нет), необходимые для выравнивания изображения цвета в соответствии с изображением глубины. Для выравнивания изображений можно использовать узел TOP Remap. Инфракрасное изображение. Необработанное видео инфракрасного датчика камеры Intel RealSense. Облако точек. Это в буквальном смысле облако точек в трехмерном пространстве (с координатами X, Y, Z) или точек данных, созданных сканером камеры Intel RealSense. UV-карта цветов облака точек. Можно использовать для получения цвета каждой точки из потока цветного изображения. Примечание. Можно загрузить этот файл RealSensePointCloudForArticle.toe для использования в качестве простого начального шаблона для создания трехмерной анимированной геометрии из данных камеры Intel RealSense. Этот файл можно изменять разными способами. Вместе три узла TOP камеры Intel RealSense — Point Cloud, Color и Point Cloud Color UV — позволяют создать трехмерную геометрию из точек (частиц) с наложением цветного изображения. Это открывает множество интересных возможностей. Геометрия облака точек. Это анимированная геометрия, создаваемая с помощью камеры Intel RealSense. Ее очень хорошо использовать при выступлениях на публике. Можно добавить и звук говорящего анимационного персонажа. TouchDesigner* также может использовать звуковые данные для создания анимации в реальном времени. Узел CHOP камеры Intel RealSense Примечание. Существует еще один узел CHOP камеры Intel RealSense, отвечающий за данные трехмерного отслеживания и положения. Мы обсудим его во второй части этой статьи. Демонстрация 1. Использование узла камеры Intel RealSense TOP Для получения первой демонстрации TOP нажмите кнопку в верхней части статьи: settingUpRealNode2b_FINAL.toe. Демонстрация 1, часть 1. Вы узнаете, как настраивать узел камеры Intel RealSense TOP и соединять его с другими узлами TOP. 1. Откройте диалоговое окно Add Operator/OP Create. 2. В разделе TOP щелкните RealSense. 3. На странице параметров Setup узла камеры Intel RealSense TOP для параметра Image выберите значение Color в раскрывающемся меню. В узле камеры Intel RealSense TOP отображается изображение того, на что направлена камера, как при использовании обычной видеокамеры. 4. Задайте для камеры Intel RealSense разрешение 1920 на 1080. Настроить узел Intel RealSense TOP очень просто. 5. Создайте узел Level TOP и соедините его с узлом камеры Intel RealSense TOP. 6. На странице параметров Pre узла Level TOP выберите Invert и передвиньте ползунок на значение 1. 7. Соедините узел Level TOP с узлом HSV To RGB TOP, затем соедините последний с узлом Null TOP. Узел камеры Intel RealSense TOP можно соединять с другими узлами TOP для получения нужного изображения и создания нужных эффектов. Затем мы передадим созданное изображение в узел Phong MAT (материал), чтобы можно было налагать его на различные геометрические фигуры в качестве текстуры. Использование данных с камеры Intel RealSense для создания текстур для геометрии Демонстрация 1, часть 2. В этом упражнении показано, как использовать узел камеры Intel RealSense TOP для создания текстур и как добавлять их в узел MAT, чтобы можно было назначать их геометрии в проекте. 1. Добавьте узел Geometry (геометрия) COMP в сцену. 2. Добавьте узел Phong MAT. 3. Возьмите узел Null TOP и перетащите его на параметр Color Map узла Phong MAT. Узел Phong MAT использует данные с камеры Intel RealSense для своего параметра Color Map. 4. На странице параметров Render узла Geo COMP добавьте тип phong1 к параметру Material, чтобы использовать узел phong1 в качестве материала. Узел Phong MAT использует данные с камеры Intel RealSense для своего параметра Color Map, добавленного в параметр Render/Material узла Geo COMP. Создание узла Box SOP и текстурирование с помощью только что созданного шейдера Phong Демонстрация 1, часть 3. Вы узнаете, как назначить шейдер Phong MAT, только что созданный с помощью данных с камеры Intel RealSense, узлу Geometry SOP куба. 1. Перейдите в узле geo1 на его дочерний уровень (/project1/geo1). 2. Создайте узел Box SOP, узел Texture SOP и узел Material SOP. 3. Удалите узел Torus SOP, который там был, затем соедините узел box1 с узлами texture1 и material1. 4. В параметре Material узла material1 введите ../phong1. Это узел phong1 MAT, созданный на родительском уровне. 5. Чтобы поместить текстуру на каждую сторону куба, в параметрах Texture/Texture Type узла texture1 поместите face и задайте для параметра the Texture/Offset put значение .5 .5 .5. На дочернем уровне узла geo1 COMP узлы Box SOP, Texture SOP и the Material SOP будут соединены. Узел Material SOP теперь получает текстуру из узла phong1 MAT, находящегося на родительском уровне ( …/phong1). Анимация и создание экземпляров геометрии узла Box Демонстрация 1, часть 4. Вы узнаете, как поворачивать узел Geometry SOP с помощью узла Transform SOP и простого выражения. Затем вы узнаете, как создавать экземпляры геометрии узла Box. В результате мы получим экран с множеством вращающихся кубов, на каждом из которых будут текстуры из узла камеры Intel RealSense TOP. 1. Для анимации вращения куба вокруг оси X вставьте узел Transform SOP после узла Texture SOP. 2. Поместите выражение в компонент X (первое поле) параметра Rotate в узле transform1 SOP. Это выражение не зависит от кадров, оно будет продолжать работать и не начнет повторяться по окончании кадров на временной шкале. Я умножил значение на 10, чтобы увеличить скорость: absTime.seconds*10 Здесь видно, что куб вращается. 3. Для создания кубов перейдите на родительский уровень (/project1) и на странице параметров Instance узла geo1 COMP установите для параметра Instancing значение On. 4. Добавьте узел Grid SOP и узел SOP–DAT. 5. Задайте параметры сетки: 10 строк и 10 столбцов, размер — 20 и 20. 6. В параметрах узла SOP–DAT для SOP задайте grid1 и убедитесь, что для параметра Extract задано значение Points. 7. На странице параметров Instance узла geo1 COMP введите для параметра Instance CHOP/DAT: sopto1. 8. Заполните параметры TX, TY и TZ, используя соответственно P(0), P(1) и P(2), чтобы указать, какие столбцы из узла sopto1 использовать для положений экземпляров. 9. Если нужно, чтобы изображение с камеры Intel RealSense передавалось без фильтрации, отключите узлы Level TOP и HSV to RGB TOP либо обойдите эти узлы. Рендеринг и анимация в реальном времени Демонстрация 1, часть 5. Вы узнаете, как настраивать сцену для рендеринга и выводить изображение в режиме прямого показа или в виде видеофайла. 1. Для рендеринга проекта добавьте узлы Camera COMP, Light COMP и Render TOP. По умолчанию камера выполняет рендеринг всех компонентов геометрии на сцене. 2. Отведите камеру назад примерно на 20 единиц по оси Z. Для освещения оставьте значения по умолчанию. 3. Задайте разрешение рендеринга 1920 на 1080. По умолчанию фон рендеринга является прозрачным (значение альфа равно 0). 4. Чтобы сделать фон непрозрачным черным, добавьте узел Constant TOP и измените значение параметра Color на 0,0,0, чтобы задать черный цвет, указав для параметра Alpha значение 1. Можно выбрать любой другой цвет. 5. Добавьте узел Over TOP и соедините узел Render TOP с первым подключением, а узел Constant TOP — со вторым. При этом пиксели фона получат значение (0, 0, 0, 1), то есть перестанут быть прозрачными. Еще один способ изменить значение прозрачности TOP на 1 — использовать узел Reorder TOP и задать для его параметра Output Alpha значения Input 1 и One. Отображение сцены с непрозрачным черным фоном. Здесь виден полный экран с текстурированными вращающимися кубами. Если вы предпочитаете выводить анимацию в файл вместо воспроизведения ее в реальном времени при демонстрации, нужно выбрать диалоговое окно Export movie в разделе file на верхней панели программы TouchDesigner. В параметре узла TOP Video введите null2 для этого конкретного примера. В противном случае введите любой узел TOP, которому требуется рендеринг. Вот панель Export Movie с узлом null2. Если бы был еще и звуковой узел CHOP, то я бы разместил CHOP Audio сразу под null2. Демонстрация 1, часть 6. Одна из полезных особенностей платформы TouchDesigner* — возможность создания анимации в реальном времени. Эта возможность особенно удобна при использовании камеры Intel RealSense. 1. Добавьте узел Window COMP, а в параметре оператора введите узел null2 TOP. 2. Установите разрешение 1920 на 1080. 3. Выберите нужный монитор в параметре Location. Узел Window COMP позволяет выводить всю анимацию в реальном времени на выбранный монитор. С помощью узла Window COMP можно указать монитор или проектор, на который следует выводить изображение. Можно создать сколько угодно узлов Window COMP для вывода изображения на другие мониторы. Демонстрация 2. Использование данных глубины узла камеры Intel RealSense TOP Узел камеры Intel RealSense TOP содержит ряд других настроек для создания текстур и анимации. В демонстрации 2 мы используем данные глубины для применения размытия к изображению на основе полученных от камеры данных глубины. В архиве мы будем использовать файл RealSenseDepthBlur.toe. Сначала создайте узел камеры Intel RealSense TOP и задайте для параметра Image значение Depth. Изображение глубины содержит пиксели со значением 0 (черные), если они близко к камере, и со значением 1 (белые), если они далеко от камеры. Диапазон значений пикселей определяется параметром Max Depth, его значение указывается в метрах. По умолчанию этот параметр имеет значение 5. Это означает, что пиксели, находящиеся на расстоянии 5 метров от камеры (или дальше), будут белыми. Пиксели со значением 0,5 находятся на расстоянии 2,5 м от камеры. В зависимости от фактического расстояния между камерой и вами имеет смысл изменить это значение на меньшее. В этом примере мы изменили значение данного параметра на 1,5 м. Затем нужно обработать глубину, чтобы удалить объекты, находящиеся за пределами интересующей нас дальности. Для этого мы используем узел Threshold TOP. 1. Создайте узел Threshold TOP и соедините его с узлом realsense1. Нужно убрать все пиксели, находящиеся дальше определенного расстояния от камеры, поэтому задайте для параметра Comparator значение Greater, а для параметра Threshold — значение 0.8. При этом пиксели со значением больше 0,8 (что соответствует расстоянию 1,2 м или более, если для параметра Max Depth в узле камеры Intel RealSense TOP задано значение 1,5) станут равными 0, а все остальные пиксели — равными 1. 2. Создайте узел Multiply TOP, соедините узел realsense1 с первым входом, а узел thresh1 — со вторым входом. При умножении пикселей на 1 они останутся в неизменном виде, а при умножении других пикселей на 0 они будут обнулены. Теперь узел multiply1 содержит только пиксели больше 0 для той части изображения, на которой нужно сделать размытие, чем мы сейчас и займемся. 3. Создайте узел Movie File в TOP и выберите новое изображение для параметра File. В этом примере мы выбираем Metter2.jpg из папки TouchDesigner* Samples/Map. 4. Создайте узел Luma Blur TOP и соедините moviefilein1 с первым входом lumablur1, а multiply1 — со вторым входом lumablur1. 5. В параметрах lumablur1 задайте для параметра White Value значение 0.4, для параметра Black Filter Width значение 20, а для параметра White Filter Width — значение 1. Благодаря этому у пикселей со значением первого входа 0 будет ширина фильтра размытия 20, а у пикселей со значением 0.4 или больше — ширина размытия 1. Все в целом. В результате получаем изображение, где пиксели, на которых находится пользователь, не размыты, а все остальные пиксели размыты. Фон, выводимый отображением Luma Blur TOP, показывает, насколько размыто изображение. Демонстрация 3. Использование данных глубины узла камеры Intel RealSense TOP с узлом Remap TOP В архиве мы будем использовать файл RealSenseRemap.toe. Примечание. Камеры глубины и цвета узла камер Intel RealSense TOP физически находятся в разных местах, поэтому выдаваемые ими изображения по умолчанию не совпадают друг с другом. Например, если ваша рука находится ровно посередине цветного изображения, то она будет не в середине изображения глубины, а несколько смещена влево или вправо. Сдвиг UV-карты устраняет эту проблему за счет выравнивания и точного наложения пикселей. Обратите внимание на разницу между выровненным и невыровненным узлами TOP. Remap TOP совмещает данные глубины, полученные от узла камеры Intel RealSense TOP, с данными цвета, полученными от этого же узла, используя UV-данные совмещения глубины с цветом на одном и том же пространстве. Демонстрация 4. Использование облака точек в узле камеры Intel RealSense TOP В архиве мы будем использовать файл PointCloudLimitEx.toe. В этом упражнении вы научитесь создавать анимированную геометрию с помощью облака точек, узла камеры Intel RealSense TOP и узла Limit SOP. Обратите внимание, что этот подход отличается от примера файла Point Cloud, приведенного в начале этой статьи. В предыдущем примере используются шейдеры GLSL, что дает возможность создать гораздо больше точек, но эта задача усложняется и выходит за рамки статьи. 1. Создайте узел RealSense TOP и задайте для параметра Image значение Point Cloud. 2. Создайте узел TOP–CHOP и подключите его к узлу Select CHOP. 3. Подключите узел Select CHOP к узлу Math CHOP. 4. В параметре TOP узла CHOP topto1 введите: realsense1. 5. В параметрах Channel Names узла Select CHOP введите r g b, разделив буквы пробелами. 6. В узле CHOP math1 в поле значения параметра Multiply введите: 4.2. 7. На странице параметров Range в поле значений параметра To Range введите: 1 и 7. 8. Создайте узел Limit SOP. Цитирую вики-страницу на сайте www.derivative.ca: «Limit SOP создает геометрию из данных, передаваемых узлами CHOP. Он создает геометрию в каждой точке выборки. С помощью параметра Output Type на странице Channels можно создавать геометрию разного типа». 1. На странице с параметром limit1 CHOP Channels введите r для параметра X Channel, «g» — для параметра Y Channel и «b» — для параметра Z Channel. Примечание. Перемещение значений r, g и b в другие каналы X, Y и Z изменяет образуемую геометрию. Поэтому позднее можете попробовать следующее: На странице параметров Output для параметра Output Type выберите Sphere at Each Point в раскрывающемся списке. Создайте узел SOP–DAT. На странице параметров для SOP введите limit1 или перетащите узел limit1 CHOP в этот параметр. Оставьте значение по умолчанию для Points в параметре Extract. Создайте узлы Render TOP, Camera COMP и Light COMP. Создайте узел Reorder TOP, задайте для Output Alpha значения Input 1 и One, соедините его с узлом Render TOP. При изменении изображения с камеры Intel RealSense изменяется и геометрия. Это итоговый проект. Итоговые изображения в узле Over TOP CHOP. Изменяя порядок каналов в параметрах Limit TOP, вы изменяете геометрию на основе облака точек. Во второй части этой статьи мы обсудим узел камеры Intel RealSense CHOP и создание содержимого для записи и демонстрации в реальном времени, демонстрации полусферических панорам и систем виртуальной реальности. Кроме того, мы обсудим использование узла Oculus Rift CHOP. Мы поговорим про отслеживание рук, отслеживание лица и маркеров. Источник: habrahabr.ru
  2. Урок по touch designer - Интерактивная 3D анимация Урок по touch designer - Интерактивная 3D анимация Страница 2 Все страницы Интерактивная 3D-анимация – одно из самых сложных направлений виджеинга. Во-первых, необходимо подготовить материал для анимации (модели, текстуры, движения). Во-вторых, надо продумать, каким образом будет осуществляться взаимодействие с этим материалом в режиме реального времени (скажем, с помощью мыши, клавиатуры, джойстика, вебкамеры и т.д.) и как это взаимодействие скажется на окружающих объектах. Инструмент для работы с анимацией должен быть простым в использовании и достаточно быстрым, чтобы можно было обрабатывать материал с высоким разрешением в реальном времени. В этой статье будут рассмотрены следующие вопросы: Подготовка цифрового контента:Заранее подготовим серию изображений, а затем будем отображать их на полигон, который находится перед камерой (такие изображения обычно называют спрайтами). Подготовим упрощённые полигональные модели (с текстурами), некоторым из них зададим движения (например, поворот). Затем можно будет экспортировать модели в файл, и работать с ними в специальных программах. Создадим простую 3D-модель в реальном времени (например, деформацию объекта или систему частиц). Видео (или неподвижные изображения) можно объединить с 3D-контентом, и использовать их в качестве фона или текстур. Аудио можно использовать для создания фоновой музыки или сопровождения некоторых событий. Также посредством аудио можно управлять поведением 3D-моделей в реальном времени. Создание интерактивностиУправляющие данные для цифровой модели можно получать от мышки, клавиатуры, джойстика или даже по сети. Например, можно управлять деформацией 3D-модели с помощью мыши, или использовать кнопку на клавиатуре, чтобы вызвать заранее подготовленное движение (например, боевой удар). Улучшение визуализации в реальном времениБольшинство 3D-форматов хранит самую базовую информацию о модели. В интерактивной анимации можно улучшить качество рендеринга, используя специальные инструменты или программирование (например, можно генерировать в реальном времени текстуры и тени).Инструменты для создания интерактивной 3D анимации Все инструменты для создания интерактивных 3D-приложений можно разделить на две категории: среды программирования и средства визуального программирования. Среды программированияСамый простой пример 3D-анимации – это обычная компьютерная игра. Большинство компьютерных игр написано на C++, потому что у этого языка практически нет ограничений и он наиболее эффективен. Скриптовые языки, такие как ActionScript или Processing. Но они слишком медленны для работы со сложной 3D-графикой. Средства визуального программированияЭта категория инструментов создана для «непрограммистов», чтобы свести необходимость программирования к минимуму. Примером таких инструментов служат PureData, Max/MSP с Jitter, Isadora. Почти все эти инструменты основаны на понятии «узла». Узлы обеспечивают некую функциональность. А виджею нужно только связать эти узлы таким образом, чтобы добиться желаемого результата. Однако большинство этих инструментов работают только с аудио и видео информацией. Они не предоставляют возможности создания анимированного 3D-контента. Например, они не позволяют импортировать сложные 3D-форматы или создавать даже простые 3D-модели в реальном времени и вообще обладают довольно ограниченными возможностями рендеринга. В этой статье будет рассмотрена работа с TouchDesigner. Это инструмент визуального программирования, в котором особое внимание уделено работе с 3D-моделями в реальном времени. Он позволяет импортировать FBX (формат 3D-моделй Maya). Также можно работать с 3D-примитивами (сфера, тор и т.д.) и применять к ним различные операции (деформацию, скручивание и т.д.). В TouchDesigner есть поддержка рендеринга в реальном времени (так называемых, шейдеров реального времени и языка GLSL). Таким образом, можно создать интерактивное приложение с богатой 3D-анимацией, даже не смотря на то, что программа появилась сравнительно недавно и ещё находится на стадии бета-версии, а число её пользователей невелико. Бесплатную версию TouchDesigner можно скачать с сайта http://www.derivative.ca/. Скриншот запущенной программы TouchDesigner Знакомство с TouchDesigner Запустите программу TouchDesigner: Меню «Пуск» > Программы > Derivative > TouchDesignerFTE.077По умолчанию программа не настроена на запрос подтверждения о сохранении данных при выходе. Поэтому лучше сразу включить эту опцию в меню: Edit > Preferences… Как правило, проект может содержать другие внешние файлы, такие как видео, изображения, аудио, 3D-объекты и т.д. Создать новый проект можно через меню: File > New Project… В процессе работы с проектом, его можно сохранять через меню File > Save Env. Предыдущие версии также будут автоматически сохранятся в качестве резервных. Например, на рисунке выше показано, что проект сохраняется под именем lesson1.toe, тогда резервные файлы будут получать имена lesson1.1.toe, lesson1.2.toe, lesson1.3.toe и т.д. Эти файлы можно удалять, если вам не нужны резервные копии. Экран программы разделён на несколько частей (их расположение можно настроить по желанию, но пока оставим так, как показано на рисунке ниже): Окно параметров: здесь показываются параметры выбранного узла. Чтобы спрятать/показать это окно нажмите клавишу «p». Просмотр сети: здесь можно строить сеть из узлов. Палитра инструментов: здесь расположено большинство примеров и инструментов. Шкала времени: здесь можно запустить воспроизведение или остановить его для дальнейшей работы с сетью. Есть несколько полезных моментов по работе с мышью и клавиатурой в программе: ЛКМ: панорамировать сеть Колёсико мыши: зуммировать сеть Нажмите клавишу H, чтобы вернуться к начальному виду сети Щелчком ЛКМ выберите узел в сети. Нажмите Shift-H для зуммирования выбранного узла. Щелкните колёсиком мыши на узле для просмотра подробной информации о нём. Удерживая ПКМ можно выделять один или несколько узлов. Основной задачей в TouchDesigner (как и в любом инструменте визуального программирования) является создание узлов, соединение их связями и настройка параметров каждого узла. Создать узел в TouchDesigner можно нажав клавишу TAB в окне для работы с сетью. Узел сокращённо обозначается OP: TouchDesigner использует различные цвета для обозначения разных типов узлов: TOP (сиреневый): узлы для обработки видео и изображений. CHOP (зелёный): узлы для работы с каналами. Канал представляется зависимостью некоторого значения от времени. Обычно горизонтальная ось – это ось времени, вертикальная ось – значение. Эти значения контролируют какие-либо параметры в узлах. Позиция указателя мыши, состояние клавиатуры и т.д. обрабатываются в узлах CHOP. SOP (синий): узлы для обработки 3D-форм. MAT (светло-коричневый): узлы для работы с 3D-материалами. DAT (пурпурный): узлы для обработки текста. COMP (тёмно-серый): узлы для компонентов. Компоненты – это контейнеры, содержащие другие узлы. Можно представить их как высокоуровневую инкапсуляцию понятия «объект» в TouchDesigner. Создадим узел EMBOSS TOP: Красный кружок с крестиком сигнализирует о наличии ошибки в узле. Можно щёлкнуть колёсиком мыши на узле, чтобы прочитать сообщение об ошибке. В данном случае ошибка возникла потому, что к узлу не подключен входной сигнал. Входные пины находятся слева, выходные - справа. Соедините сеть, как показано ниже: Сеть читается слева направо. В первом узле происходит загрузка видео, затем оно обрабатывается с использованием фильтра Emboss (Тиснение) и передаётся на выходной узел. Можно любым образом настраивать параметры узлов, особенно узла EMBOSS. Для удаления связи между узлами щёлкните на конце связи, а затем на пустом месте. Сделаем, чтобы глубина эффекта (параметр Strength) зависела от шкалы времени. Для этого в узле EMBOSS задайте значение параметра Strength равным $T: Для любых параметров можно задавать выражения. Выражение $T означает “текущее время (в секундах)”. Теперь создадим контейнер (узел COMP). В сети у каждого узла есть имя. Если вы щёлкните на контейнере колёсиком мыши, то увидите, что имя узла /project1/container1. Контейнер может содержать внутри себя сеть из узлов. Можете представлять контейнер, как папку, хранящую сеть. Это самый высокий уровень сети. Обычно вся сеть помещается в контейнер. Чтобы зайти внутрь контейнера, нужно выбрать его и нажать «i». Это имя показывает, что вы находитесь в контейнере /project1/container1 Чтобы подняться на уровень выше, нажмите u. Теперь попытаемся вырезать и вставить сеть из трёх узлов, созданную ранее. Переместим эту сеть в контейнер (узел COMP) с помощью сочетания клавиш Ctrl-x и Ctrl-v: 1. Выберите все три узла TOP, нажмите Ctrl-x. 2. Перейдите в контейнер COMP. 3. Нажмите Ctrl-v. 4. Поднимитесь на уровень выше, нажав «u». Один из самых главных параметров у контейнера – это параметр Background TOP на вкладке Panel: Задайте его равным ./out1, что будет означать “узел с именем out1 хранится внутри”. Это задаст тот узел, который мы хотим окончательно показать в контейнере. И наконец, щёлкните ПКМ на узле контейнера и выберите Viewer (Просмотр). Появится окно, а в нём будет представлен окончательный результат нашей работы. С этим окном можно взаимодействовать дальше. Пример создания простой интерактивной 3D-сцены с нуля Сохраните вашу работу под другим именем, перейдите к контейнеру и удалите в нём 3 узла TOP. В этом примере создадим простую 3D-сцену, управляемую мышью. Перейдите внутрь контейнера и создайте узел Render TOP для рендеринга 3D-сцены. По умолчанию узел имеет одну камеру (cam1), один геометрический объект (geo1) и один источник света. Таким образом, надо создать контейнер, состоящий из узлов: Camera COMP: вы должны создать по крайней мере одну камеру для 3D-сцены. По умолчанию камера получает имя cam1 и автоматически привязывается к узлу Render TOP. Камера располагается в позиции [0,0,5] и направлена на позицию [0,0,0]. В дальнейшем эти значения можно поменять. Geometry COMP: вы должны создать по крайней мере один геометрический объект для 3D-сцены.По умолчанию его имя geo1, он автоматически привязывается к Render TOP и имеет форму тора. Можно зайти внутрь узла Geometry COMP и задать другую форму, используя сеть узлов. Light COMP: вы должны создать по крайней мере один источник света. По умолчанию он располагается в позиции [0,0,20], но можно задать и другое значение. И наконец, создайте узел Out TOP и соедините его с выходом узла Render TOP. Переименуйте его в out1. Сеть будет выглядеть следующим образом: Теперь перейдём внутрь узла geo1 и поменяем геометрическую форму: По умолчанию задана форма тора. Создадим узел Sphere SOP и в нём создадим сферу. Внизу окошка есть кружочки: фиолетовый (если он включен, то объект рендерится) и голубой (если он включен, то объект отображается). Узел Torus SOP можно удалить или отключить, переведя фиолетовый и голубой кружочки в неактивное состояние: Поднимитесь на один уровень вверх, и вы обнаружите, что форма geo1 стала сферой. Теперь можно создать систему частиц, разлетающихся из сферы. Снова перейдём в geo1 и подключим узел Particle SOP к выходу узла Sphere SOP. Уменьшим радиус сферы и сделаем фиолетовый и голубой кружки активными: Для создания более интересного эффекта, добавьте внешние силы (параметр External Force) и турбулентность (параметр Turbulence) на вкладке Forces узла Particle SOP: Теперь получим позицию указателя мыши и будем использовать её для управления расположением сферы. Чтобы считывать позицию указателя мыши, используем узел Mouse CHOP: Координата x записывается в канал tx, или, если точнее, в канал mouse1/tx (полное имя канала /project1/container1/geo1/mouse1/tx), а позиция y – в канал ty. Будем использовать их для задания параметра Center узла Sphere SOP. Укажем значения “mouse1/tx” и “mouse1/ty”: Теперь поднимемся на уровень узла /project1. Убедимся, что значения параметра Background TOP узла Container1 задано. Щёлкнем на узле Container1 правой кнопкой мыши и выберем Viewer, чтобы увидеть итоговый результат. Примечание 1: можно щёлкнуть ПКМ на узле Container1 и задать режим отображения без рамок. Также можно настроить размеры окна Container1, задав параметры Width и Height: Примечание 2: сфера кажется несколько овальной, потому что по умолчанию узел Render Top создаёт изображение размером 512x512. Можно поменять параметры Resolution и Aspect Ratio узла Render TOP (т.е. render1) следующим образом: Примечание 3: позиция указателя мыши представляется значениями из диапазона от -1 до 1 по x и от -0.75 до 0.75 по y. Поэтому лучше не использовать эти значения напрямую для управления положением сферы, а применить коэффициент. Тогда выражение для расчёта параметра будет выглядеть, например, так (“mouse1/tx”)*2. Добавление слайдеров Перейдём внутрь контейнера /project1/container1. Слева в палитре компонентов (Palette Library) найдём компонент SliderComboV (расположен в /Derivative/UI/Sliders). Перетащим компонент в сеть: Выбираем компонент SliderComboV и перетаскиваем его в /project1/container1 Любой компонент пользовательского интерфейса (кнопка, слайдер и т.д.) внутри контейнера будет показан во всплывающем окне просмотра. Поднимемся на уровень выше, откроем просмотр Viewer (или Borderless) контейнера и увидим слайдер. Теперь создадим ещё 3 слайдера SliderComboV и зададим им разные значения параметра X (на вкладке Layout): По умолчанию выходной диапазон компонента SliderComboV от -10 до 100. Чтобы поменять эти границы, надо зайти внутрь SliderComboV, открыть окно просмотра узла с именем sliderdef и поменять значения параметров Lower and Upper. Четыре SliderComboV имеют параметры: /project1/container1/SliderComboV/out1/vertical /project1/container1/SliderComboV1/out1/vertical /project1/container1/SliderComboV2/out1/vertical /project1/container1/SliderComboV3/out1/vertical Попробуйте использовать эти 4 слайдера для управления различными параметрами 3D-сцены. Например, можно управлять цветом освещения, радиусом сферы, внешними силами, действующими на частицу и т.д. Компонент SliderComboV предоставляет богатые возможности настройки. Например, можно поменять даже его внешний вид. Но это уже тема для другой статьи.
  3. TOUCHDESIGNER Мы запускаем TouchDesigner Online Workshop. Прочитать программу базового курса и Записаться можно по линку. Воркшоп будет проходить в течение 6 недель, одно занятие в неделю по 4 часа. Занятия проводятся на онлайн платформе. Линк на вещание доступен оплатившим участникам. После занятия студентам доступны видеозаписи занятий для скачивания. Программа тренинга: Day 01 Основы интерфейса Типы данных Базовый сетап рендера и вывод на проекторы / экраны Работа с геометрией Интеграция с Houdini Day 02 Продвинутое управление воспроизведением видео Chop и работа с анимационными данными. Работа с событиями. Ключевая анимация. (Animation Comp) Работа с табличными данными и скриптинг Day 03 Композитинг и работа с текстурами Шейдинг – минимализм Шейдинг – фотореализм Шейдинг – основы GLSL шейдинга Day 04 Анализ звука Синхронизация TD с Ableton Live Интеграция с Resolume Подходы к созданию аудиореактивной графики Day 05 Создание пользовательского интерфейса Работа с массивами данных и генерация нод. Клонирование и создание внешних операторов ( tox) Оптимизация патча и производительность. Динамическая симуляция в TouchDesigner Day 06 Подходы к видеомэппингу. Работа с камерой Kinect. Техники хромакея, генерация геометрии на основе карты глубины, работа со скелетом. Обзор работы с вводом и выводом данных - подключение различных устройств ( Midi контроллеры, DMX, Arduino и тд) ----------------------------------------- ----------------------------------------- Стоимость участия: 17500 р. До 28 декабря действует скидка - стоимость курса 12500 р В случае проблем с регистрацией и по вопросам оплаты обращайтесь ко мне PM (http://vk.com/stas.glazov) http://tdworkshop.tumblr.com/post/104510796851/touchdesigner-workshop