惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
MongoDB | Blog
MongoDB | Blog
小众软件
小众软件
Apple Machine Learning Research
Apple Machine Learning Research
O
OpenAI News
酷 壳 – CoolShell
酷 壳 – CoolShell
The GitHub Blog
The GitHub Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 聂微东
Engineering at Meta
Engineering at Meta
W
WeLiveSecurity
Hacker News: Ask HN
Hacker News: Ask HN
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
D
Docker
F
Full Disclosure
AI
AI
罗磊的独立博客
博客园 - 【当耐特】
U
Unit 42
S
SegmentFault 最新的问题
Stack Overflow Blog
Stack Overflow Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Palo Alto Networks Blog
博客园_首页
H
Help Net Security
量子位
月光博客
月光博客
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 司徒正美
F
Fortinet All Blogs
D
DataBreaches.Net
B
Blog RSS Feed
Webroot Blog
Webroot Blog
TaoSecurity Blog
TaoSecurity Blog
S
Secure Thoughts
爱范儿
爱范儿
I
InfoQ
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Attack and Defense Labs
Attack and Defense Labs
Application and Cybersecurity Blog
Application and Cybersecurity Blog
C
CERT Recently Published Vulnerability Notes
Martin Fowler
Martin Fowler
Blog — PlanetScale
Blog — PlanetScale
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
Securelist

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Музей как программная система: что скрывается за магией TeamLab Borderless
CrocInc (КРО · 2026-05-12 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение8 мин

Охват и читатели1.3K

Обзор

Когда-то музей был складом древностей, а посетители почтительно переходили от одного экспоната к другому, и это совпадало с их ритмом жизни. Сейчас люди потребляют информацию быстрее и по другим принципам. Они хотят быть участниками событий и проживать новый опыт. Поэтому музеи создают не только художники, но и программисты, инженеры, математики и архитекторы. Многослойная иммерсивная среда становится интерфейсом, а посетитель — частью происходящего.

Привет, Хабр! Давайте посмотрим, как «внутри» работает музей цифрового искусства teamLab Borderless в Токио, который только за первый год посетили 2,3 миллиона человек. Как создаётся экспозиция площадью 10 000 м², которая возникает на глазах у посетителей. Как работают сенсоры, проекторы, симуляции и projection mapping, и как всё это связано в одном из самых технологичных музеев мира.

Почему Borderless сложнее обычной инсталляции

В 2018 году в Токио открылся teamLab Borderless и почти сразу стал одной из самых радикальных пересборок музейной логики. Он изначально спроектирован как софт, развёрнутый в физическом пространстве. Инсталляции перетекают друг в друга, выходят за пределы залов, пересекаются и реагируют на посетителя.

Borderless не просто набор экранов с готовым контентом, а «живой организм». Из-за отсутствия жёстких сценариев и чётких границ между залами система устроена сложнее, чем обычная мультимедийная инсталляция. Ей нельзя терять синхронизацию между проекциями, звуком и логикой сцены. Иначе при переходе из одного пространства в другое целостность опыта посетителя быстро рассыпется.

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

Сергей Пауков

Директор департамента инженерных и мультимедийных систем КРОК

«На рынке долго разделяли физическую среду и цифровую. В иммерсивных пространствах этого разделения больше нет. Среда — и есть интерфейс. И как только вы начинаете проектировать пространство как систему с состояниями, событиями и логикой поведения, архитектурные задачи становятся неотличимы от архитектуры ПО. Если раньше музей был статичным местом хранения, то теперь он должен "считывать" посетителя и перестраиваться под него. Это меняет сам подход к проектированию: мы больше не думаем о том, как расставить экспонаты, мы думаем о том, как запрограммировать среду на диалог с человеком»

Как музей понимает, где находится человек

Полный список сенсоров в Borderless не раскрывается, но по механике проектов понятно, как и какие задачи они решают. Движение здесь не просто триггер. Если человек идёт вдоль стены, визуальная часть движется вместе с ним. Если пересекает пространство, меняется направление потоков, поведение частиц или логика взаимодействия между объектами. Посетитель как будто управляет реальностью, и эта иллюзия должна сохраняться постоянно.

В некоторых сценах учитывается касание. Посетитель даже может добавить свой объект со смартфона. И в этот момент сенсорный слой должен не просто принять событие, а связать его с координатами в пространстве и встроить в текущую логику сцены. Это выглядит так: сенсоры → сырые данные (координаты, глубина, движение) → фильтрация шумов → сопоставление объектов → (трекинг) события. Поэтому, чтобы упростить сопоставление объектов, пространство сцены делится на логические области:

[ зона A ]   [ зона B ]   [ зона C ]

Для каждой зоны задаются свои правила:

if enter(zone A) → start(scene A)

if distance < threshold → increase intensity

if count(zone B) > N → switch mode

if velocity > X → change behaviour

Но посетитель может одновременно находиться в нескольких логических слоях, поэтому в таких музеях используются мягкие границы, градиенты расстояния и перекрывающиеся зоны. Например, это может выглядеть так:

зона A (основная сцена)

зона B (усиление эффекта)

зона C (глобальное влияние)

Тогда одно и то же движение влияет сразу на несколько уровней сцены. На локальную анимацию рядом с человеком, на интенсивность эффекта вокруг и на общее поведение пространства. Поэтому задержка между движением посетителя и цепочкой «сенсор → обработка → событие → движок → проекция» больше ~50-100 мс в таких проектах уже критична и приводит к рассинхрону.

При этом система должна учитывать, сколько человек в моменте в каждой зоне. Их среднюю плотность на условный квадратный метр. А также в каком направлении движется основной поток. Всё это напрямую влияет на масштаб эффекта, скорость анимации и поведение объектов. Они реагируют на приближение, расходятся перед человеком, меняют траекторию или плотность в зависимости от того, сколько людей рядом.

if count > 10 → снизить детализацию

if плотность высокая → упростить сцену

if поток направлен вправо → сместить динамику

Крайне важно удерживать идентичность посетителя в потоке. Если два человека пересеклись, система не должна склеить их в одного, потерять трек или скакнуть куда-то по координатам. Потому что, если на входе будет шум, ошибки и скачущие треки, никакой движок это не компенсирует, а просто отрисует неправильную реакцию. Поэтому у сенсорного слоя есть три жёстких ограничения:

  • событий должно быть как можно меньше;

  • обработка должна быть максимально локальной;

  • лишние преобразования нужно исключить.

А вот когда на входе всё стабильно, можно собирать визуал.

Как сцена пересчитывается в реальном времени

Водопад в музее легко принять за очень дорогую, хорошо сведённую проекцию. Как в интерактивных инсталляциях, где сенсор запускает следующую анимацию в ответ на движение посетителя. Но из-за отсутствия границ между сценами в Borderless геометрия помещения, высота потолков и поверхность стен влияют на результат почти так же сильно, как действия посетителей. Сценарий нельзя просто перенести в другой зал, а приходится заново собирать под конкретное пространство. Изображение здесь пересчитывается в реальном времени много раз в секунду по той же логике, что и в современных игровых движках.

Так в Unity поведение сцены обычно задаётся скриптами и компонентами, которые обновляют объекты на каждом кадре и реагируют на входные сигналы. А в Unreal ту же задачу решают Gameplay Framework, Actors, Blueprints и событийная логика.

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

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

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

Как собирают интерактивную сцену

По сути, это полноценный продакшен на стыке геймдева и VFX. Обычно над такими проектами работают инженер по компьютерному зрению, инженер интерактивных систем, визуальный дизайнер и Art Catalyst. Один отвечает за реакцию системы на движение людей и распознавание объектов, другой пишет софт для интерактивных сцен, симуляций и визуальных эффектов, третий собирает 3D-модель пространства, а Art Catalyst координирует художественную и техническую части проекта.

Сначала команда решает, что происходит при движении человека, как объекты реагируют друг на друга, какие у сцены есть состояния и переходы. А поверх этой логики собирается визуальный слой: модели, анимация, процедурные эффекты, свет и звук.

Отсюда и вполне земные инженерные задачи. Нужно контролировать количество объектов и частиц, упрощать геометрию, ограничивать сложность шейдеров и держать стабильный FPS. Нельзя просто взять сложную симуляцию из офлайн-рендера и перенести в музей. Её приходится упрощать, переписывать или пересобирать так, чтобы она просчитывалась на каждом кадре.

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

Но даже когда сцена работает внутри движка и не разваливается на тенях, её ещё нужно без потерь перенести в реальное пространство.

Как проекцию подгоняют под реальность

Графика должна без искажений ложиться на стены, пол, углы, проходы и стыки между залами. Для этого в Borderless используют projection mapping. Изображение заранее деформируют под геометрию помещений и объектов, чтобы зритель видел ровную картинку. На практике это означает долгую настройку на площадке. Что особенно хорошо видно по Borderless в Azabudai Hills, где работает около 560 проекторов.

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

Схематично это выглядит так:

проектор A  >>>>>>>>

               зона перекрытия

проектор B      >>>>>>>>

Система должна точно свести проекторы в зоне перекрытия. Если света слишком много, участок будет пересвечен. Если слишком мало, появится тёмный шов. А если ошибиться с геометрией, то при движении начнёт расплываться линия стыка.

На мониторе всё может выглядеть чисто и предсказуемо, но в зале может выясниться, что конструкция даёт лишнюю тень, поверхность съедает контраст, а человек своим движением ломает контур изображения. Поэтому после компьютерных проверок сцену начинают доводить на площадке. Её собирают в реальном пространстве, настраивают проекцию и проверяют на настоящих стенах. А когда стен нет, появляются другие сложности.

Ещё в одном проекте teamLab вместе с Panasonic настраивала сложную многопроекторную проекцию на ArtScience Museum в Сингапуре. Изображение проецировали через реку на расстояние более 200 метров и собирали с помощью 17 проекторов. Сложность добавлял фасад с лепестковой геометрией, а место для установки проекторов ограничивалось площадкой у воды. Для настройки использовали камеры и телеобъективы, чтобы точно свести проекцию и выровнять яркость и цвет.

Это долгий этап. В одном из кейсов на создание большой сцены вместе с проверками и доводкой у teamLab ушло два месяца. Так что музеи стоят дорого не только из-за оборудования. Большая часть сложности и затрат уходит на производство и доводку сцен.

Почему такие музеи интересны не только посетителям

Снаружи это увлекательный аттракцион из проекторов, анимации и музыки, а внутри — полноценная распределённая система. У неё есть медиасерверы, сеть, системы синхронизации, резервирование и охлаждение. И всё это должно ежедневно поддерживаться в рабочем состоянии.

Контент тоже не живёт вечно. Стоит передвинуть стену, изменить свет, маршрут посетителей или конфигурацию зала, и всю сцену нужно переделывать заново. Это съедает огромное количество ресурсов и по уровню сложности приближает такие проекты к большим цифровым продуктам. 

Сергей Пауков

директор департамента инженерных и мультимедийных систем КРОК

«У таких объектов есть любопытное свойство: чем незаметнее работает технология, тем сложнее она устроена внутри. Посетитель не думает о задержке, синхронизации и отказоустойчивости — он просто чувствует, что пространство живёт. И в этом, пожалуй, лучшее определение качества системы: когда её не видно. Но чтобы эта магия случалась каждый день, за ней стоит кропотливая работа инженеров. Это непрерывный мониторинг, калибровка и обслуживание систем. Музей кажется живым именно потому, что кто-то постоянно следит за его пульсом»

P.S. Контекст от редакции

Идея цифрового музея хорошо показывает нам как искусство позволяет взглянуть на привычные вещи по-новому. Пересборка музейной логики - это не только про TeamLab. Тот же подход работает и в других форматах. Например, проект «Искусство технологий» (КРОК) переосмысляет классическое искусство через современные технологии. Центральный образ - работа художника Алексея Морозова «Олимпия на сигвее», где античный архетип переносится на новую технологическую платформу, не теряя суть: гармонию, красоту, человечность. 

Похожий процесс происходит и в TeamLab: привычные мотивы и «экспонаты» остаются прежними (цветы, животные и природные пейзажи),  а вот среда вокруг них становятся цифровой, реагирующей на пользователя и взаимодействующей с ним. Все это позволяет перенести привычный опыт в новый технологический контур, не растеряв в пути смысла и человечности.