Дизайн Код
#статьи

Что такое Grasshopper3D

Рассказываем о Grasshopper3D, одной из самых используемых программ для 3D-моделирования на сегодняшний день.

Иллюстрация: Michael Pryor / parametricism.com / Полина Честнова для Skillbox Media

Grasshopper3D — это плагин для Rhino 3D, который в том числе позволяет программировать параметрический data-driven-дизайн в 3D, работать с Python и C#.

Grasshopper3D — одна из многих программ визуального программирования (VPL — от англ. visual programming language) вроде знакомых дизайнерам Blender и Unity, надстройки Dynamo для Revit, программы Scratch для детей. Его основной принцип — выстраивание непрерывной цепочки из данных и их настроек, которые вместе образуют стройный алгоритм и могут быть выведены в виде какого-то единого объекта.

Explicit History

Плагин использует принцип визуального программирования (перетаскивания компонентов на рабочее пространство). И с его помощью можно создавать и анализировать формы и сложные паттерны, не обладая навыками программирования. Grasshopper3D используется для параметрического моделирования сложных объектов. Наиболее известные примеры использования Grasshopper3D — работы Сантьяго Калатравы, MAD и SOMA.

Absolute World — парные жилые небоскрёбы комплекса Absolute City Centre, состоящего из пяти зданий, Онтарио, Канада. В 2012 году это здание получило награду «Лучшее высотное здание Америки»
Фото: Tom Arban / MAD Architects

Grasshopper3D был создан в 2007 году в компании Robert McNeel & Associates из Сиэтла, также разработавшей Rhino. Начиная с версии 6.0 Rhino, Grasshopper3D включён в его стандартный пакет. Однако для работы в программе потребуются большие мощности и новые версии Windows и Mac. Браузерная версия отсутствует. Linux, планшеты также не поддерживаются.

Для ознакомления с программой можно скачать пробную версию на 90 дней.

Модель, сделанная в Grasshopper3D с помощью плагина Pufferfish
Изображение: Michael Pryor / parametricism.com

Возможности параметрического дизайна в Grasshopper

Основная особенность Grasshopper — возможность задавать разные логики построения объёмной формы по различным параметрам. Изменения можно увидеть в режиме реального времени.

В отличие от стандартных 3D-программ, здесь нет необходимости копировать и вручную менять длину, ширину, толщину, угол поворота и прочие параметры в самой модели. Все эти рутинные действия Grasshopper совершает по заданным командам, позволяя в один шаг создать все возможные варианты выбранных параметров, а не только один размер или одну толщину.

Например, если ювелир проектирует кольцо в каждом размере, ему не нужно создавать 12 разных версий. Вместо этого можно создать одну версию с параметром, который управляет диаметром, — и все размеры готовы. Это даёт дизайнерам возможность создавать сложные формы, рассчитать вручную которые было бы практически невозможно.

Пример алгоритма для дизайна кольца в Grasshopper3D
Изображение: Parametric Box / Grasshopper

При этом каждый параметр можно менять на любом этапе проектирования.

Именно потому, что объект здесь рассматривается как единое взаимозависимое целое, в начале своего существования Grasshopper назывался Explicit History (с англ. «точная история». А «параметрический дизайн» описывает скорее не стиль, а подход к созданию объектов.

Однако если вы планируете сделать чёткий рендер несложных 3D-форм и текстур, которые при этом не будут перенесены в физический мир, то проще использовать Blender.

Примеры работ в Grasshopper

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

Индустрии, использующие Grasshopper вне архитектуры:

  • параметрическая мебель,
  • биоморфная мода,
  • 3D-принтинг,
  • ювелирное дело,
  • генеративное искусство.
Фото: Reebok
3D-обувь от Reebok, Botter и HP на Неделе моды в Париже
Изображение: RAINS / Zellerfeld

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

Например, сенсорные данные могут считываться Grasshopper3D даже от движения игровой приставки. Это отличает Grasshopper от других систем программирования в 3D.

BioLab Studio создало 3D-объекты, в которых грибы могут распространяться максимально эффективно
Фото: BioLab Studio
Модели, сделанные в Grasshopper3D с помощью плагина Chameleon
Изображение: MWG / Food4Rhino

Принцип работы интерфейса Grasshopper3D

Для запуска Grasshopper3D нужно открыть сам плагин в рабочем окне Rhino. Появившееся новое окно — это ваше рабочее пространство, куда нужно перетягивать компоненты (ноды) из панели управления.

Сам жест перетягивания только активизирует компоненты, дальше их нужно соединять между собой, чтобы создавать разные алгоритмы работы. Результат программируемой визуализации будет отражаться в режиме реального времени в окне Rhino, поэтому оба окна, Rhino и Grasshopper, лучше держать на одном экране или мониторах рядом.

Если алгоритм настроен верно, то ноды будут подсвечены зелёным, если неверно — оранжевым.

Модель, сделанная в Grasshopper3D с помощью плагина Dendro
Кадр: GH Parametric Design / YouTube

Плагины для Grasshopper3D

У Grasshopper3D существует множество плагинов, которые позволяют сделать анимацию всего объекта, симулировать разные типы движений его частями, закладывать в модель данные освещения и силы ветра, таблиц Excel и прочее. Полный список плагинов доступен на сайте Grasshopper Docs. Плагины с описаниями и примерами работ есть на сайте parametrichouse.com.

Существуют плагины, которые позволяют создавать объекты и рендеры с помощью нейросетей и машинного обучения (Owl), циклическими процессами (Anemone), объёмного моделирования (Dendro), структурного моделирования (Kangaroo) и др.

Модель, сделанная в Grasshopper3D с помощью плагина Kangaroo
Изображение: Jack Waterman / Dennis Palmadessa / Kyle Graham / Behance

Существуют плагины, которые совмещают работу Grasshopper с другими программами. Например, плагин Chameleon связывает Grasshopper3D с ZBrush, позволяя создавать максимально реалистичные иллюстрации.

Модель, сделанная в Grasshopper3D с помощью плагина Chameleon
Изображение: MWG / Food4Rhino

Grasshopper3D и ChatGPT

Используя ChatGPT, можно попросить чат-бот:

  • Выдать последовательность действий, чтобы самостоятельно создать в Grasshopper несложный алгоритм.
  • Выдать список необходимых нодов, чтобы собрать из них алгоритм.
  • Написать код, который потом можно вставить в Grasshopper.
Кадр: The Different Design / YouTube

Если с первыми двумя функциями всё довольно понятно, то третью нужно немного пояснить.

Кодинг в Grasshopper3D

Интерфейс Grasshopper3D даёт возможность запускать код внутри программы через Script Editor (вкладка Math > Script). Наиболее популярные языки, для которых есть свои ноды, — C# и Python.

Для работы с кодом в Grasshopper нужно запустить GhPython — компонент, который запускает Python в среде Rhinoscript. Полное описание возможностей GhPython можно найти на сайте разработчика Rhino в разделе Rhino.Python Gydes.

Изображение: Robert McNeel & Associates / RhinoInside

Скрипт можно написать самостоятельно или вставить его из ChatGPT. Если правильно сформулировать задачу, ChatGPT сможет написать код на C# или Python, который нужно просто вставить в редактор.

Если код без ошибок, это будет отображено визуально (нод будет подсвечен зелёным). В противном случае можно попросить ChatGPT переформулировать код, исходя из ошибки, или просто сформировать ещё один ответ на тот же запрос.

После того как код добавляется в интерфейс Grasshopper3D, необходимо проделать единственную ручную операцию: преобразовать геометрические координаты в фактические точки, то есть переименовать параметры X, Y, A в названия, которые записаны в коде.

Подробный разбор работы с C# в Grasshopper3D через ChatGPT можно найти на ютуб-канале the Different Design
Кадр: The Different Design / YouTube
Туториал по подключению Python в Grasshopper и созданию там разных моделей можно найти на канале Артуро Тедеши
Кадр: Arturo Tedeschi / YouTube

Бесплатные мини-курсы по Python в Grasshopper3D можно найти на сайте parametrichouse.com и на ютуб-канале Karl Singline.

Где научиться работать в Grasshopper3D

Самое доступное бесплатное обучение параметрическому дизайну — это ютуб-каналы. Они позволяют оставаться в курсе событий 3D-мира и учиться искать видео от базового до продвинутого уровня.

Один из наиболее известных каналов, который полностью посвящён Grasshopper, — The Different Design от одноимённого сайта. На нём можно найти и платные курсы, однако для знакомства с программой можно ограничиться изучением бесплатных материалов.

Скриншот: The Different Design / YouTube

Канал известного архитектора Гедиминаса Кирдейкиса уже несколько лет доступно рассказывает о Grasshopper3D и других 3D-программах. Например, сейчас выходят видео по курсу о совмещении параметрической архитектуры Grasshopper3D и игрового движка Unreal Engine. Однако там есть и множество базовых видео для новичков.

Скриншот: Gediminas Kirdeikis / YouTube

Канал Rhino Grasshopper от проекта Parametric House посвящён только работе в этой программе. Он обновляется чаще всего и даёт возможность найти видео практически под любую задачу.

Скриншот: Rhino Grasshopper / YouTube

Также на сайте parametrichouse.com можно найти бесплатные текстовые туториалы и файлы для загрузки, которые упоминаются в видеоразборах.

Скриншот: сайт Parametric House / Skillbox Media

Удобный вариант учиться на готовых проектах — можно искать кейсы построения с уже описанными алгоритмами в Behance, Pinterest, ResearchGate и прочих. Пользователи охотно делятся своими моделями и алгоритмами, которые можно пробовать самостоятельно повторить в программе.

Пример выдачи в Behance
Скриншот: Behance / Skillbox Media

Платные курсы дадут вам более структурированный подход и фидбэк по практическим занятиям:

  • На зарубежных агрегаторах типа Udemy есть разные варианты курсов от университетов и компаний.
  • Разработчик Grasshopper3D делает вводный курс в программу на английском языке.
  • Российский проект «Софт Культура» предлагает архивные курсы по Grasshopper для архитекторов и дизайнеров.

Больше интересного про дизайн в нашем телеграм-канале. Подписывайтесь!

Научитесь: 3D моделирова­ние для начинаю­щих Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована