При помощи Blender Geometry Nodes можно очень легко и быстро создать эффект пространственной воронки с анимацией.
Добавим в сцену плоскость (shift + a – Mesh – Plane), назначим ей модификатор Geometry Nodes и инициализируем начальное дерево нод, нажатием на кнопку “New”.
Добавим в дерево нод Curve Circle (shift + a – Curve Primitives – Curve Circle). Вставим его в главную ветку дерева, заменив исходную геометрию плоскости, которая нам не нужна.
Сделаем копию нода Curve Circle, выделив его и нажав сочетание клавиш shift + d.
Добавим нод Curve to Mesh (shift + a – Curves – Curve to Mesh) в конец главной ветки дерева нод.
Выходы с обоих нодов Curve Circle соединим со входами Curve и Profile Curve нода Curve to Mesh.
Нод Curve to Mesh обводит кривую, соединенную с его верхним входом Curve второй кривой, соединенной с его входом Curve Profile. Таким образом мы получили форму тора.
Полученная сетка в режиме Wireframe (z – Wireframe) выглядит так, как нам нужно, однако сам меш – плоский. Чтобы сформировать ярко выраженные ребра, проделаем ту же самую операцию обводки кривой профилем другой кривой еще раз.
Добавим нод Mesh to Curve (shift + a – Mesh – Mesh to Curve) в конец нодового дерева.
Это удалит все полигоны меша и преобразует все его ребра в кривые. Теперь наш меш выглядит как нужно уже и в режиме просмотра Solid (z – Solid).
Для придания кривым толщины добавим еще один нод Curve to Mesh (shift + a – Curves – Curve to Mesh) в конец нодового дерева.
Сделаем еще одну копию нода Curve Circle (выделить – shift + d). Установим значение Radius равным 0.0025. Соединим выход этого нода со входом Curve Profile последнего нода Curve to Mesh.
Добавим в сцену камеру и развернем наш меш нужным образом.
Перейдем в редактор Shading Editor и создадим два простых материала: Black и Blue.
Blue – из одного нода Emission с голубым цветом свечения и силой свечения равной 15.
Black – из одного нода Diffuse BSDF с черным цветом.
Вернемся в редактор Geometry Nodes.
Добавим в конец нодового дерева нод Set Material (shift + a – Materials – Set Material). В его поле материала выберем ранее созданный шейдер Blue.
Сейчас на рендере видна вся сетка. Чтобы скрыть заднюю поверхность, объединим геометрию плоской поверхности меша с ребрами.
Добавим нод Join Geometry (shift + a – Geometry – Join Geometry) в конец нодового дерева. Для того чтобы к финальной геометрии ребер добавить плоскости полигонов, соединим с его входом выход первого нода Curve to Mesh.
Зададим цвет для полигонов, добавив еще один нод Set Material (shift + a – Materials – Set Material). Включим его в ветку нодового дерева после первого нода Curve to Mesh. Выберем в этом ноде материал Black.
В свойствах рендер движка EEVEE отметим галочку Bloom, чтобы добавить ореол свечения.
Сам по себе рендер выглядит уже неплохо. Подключим анимацию.
Для тог, чтобы заставить кольца смещаться внутрь воронки, мы можем использовать параметр вращения кривой Tilt. При вращении кривой вокруг собственной оси, кривая, которая выступает профилем тоже будет вращаться.
Для управления вращением кривой добавим нод Set Curve Tilt (shift + a – Curve – Set Curve Tilt). Вставим его сразу после первого нода Curve Circle, который задает нам исходную кривую для формирования тора.
Скроллируя мышкой значение в поле Tilt добавленного нода мы сразу можем наблюдать нужный нам эффект.
Свяжем изменение этого параметра с таймлайном сцены.
Добавим нод Scene Time (shift + a – Input – Scene Time). Соединим выход Frame этого нода со входом Tilt нода Set Curve Tilt.
Теперь при проигрывании анимации кольца воронки вращаются.
Для регулировки скорости и направления движения колец добавим нод Math (shift + a – Utilities – Math) после нода Scene Time. Переключим его в режим деления Divide.
Число в оставшемся свободном поле нода Math (Divide) отвечает за скорость вращения колец, а его знак – за направление вращения.
Выставив подходящие значения можно начинать рендер анимации.