Видео маппинг, видео перформансы

Остальные новости

Урок по touchdesigner - Интерактивная 3D анимация

Содержание материала

Сделаем, чтобы глубина эффекта (параметр 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 предоставляет богатые возможности настройки. Например, можно поменять даже его внешний вид. Но это уже тема для другой статьи.

EventCatalog.ru — всё для организации мероприятий!