The Met
~Я
Ребятки, на днях лазила по сайтам разных дизайн-студий (искала вдохновение для одного своего проекта) и наткнулась на крутых канадцев из Locomotive. Мое внимание привлекла одна 3D-моделька — колечко. Сделано так залипательно, крутится плавненько, бликует... Короче, мне сразу захотелось его пощупать. Ну, в смысле, заглянуть под капот: посмотреть исходный код, поковырять геометрию и понять, как они это завели.
Естественно, там ребятки тоже не дураки сидят. По правой кнопке мыши код страницы ты не увидишь — контекстное меню тупо заблокировано скриптом. Но, мальчики, зная меня, вы же понимаете - когда меня такое останавливало? Пара нехитрых манипуляций в девтулзах хрома, обход блокировки, и вот я уже внутри. Я даже смогла вытащить оттуда .glb файл самой модельки.
Но, честно говоря, результат меня немного разочаровал. Я-то, наивная, сначала подумала про чистый GLSL-шейдинг, какой-нибудь трушный SDF-реймаршинг, где вся форма генерируется чистыми формулами прямо на видеокарте... Но нет. Оказалось, это просто банальный WebGL-вьювер для готовой сетки (меша), которую 3D-моделлер заранее заботливо собрал в Blender или 3ds Max. Программистской работы тут оказалось минимум — просто загрузить файл и настроить свет. Скукота.
Зато эта история напомнила мне один дико крутой случай из прошлого, когда я смогла прикоснуться к настоящей магии, причем не цифровой, а исторической. Вы ведь знаете, что я фанатею от головоломок? А бывают Puzzle Rings — это такие перстни, которые состоят из кучи переплетенных звеньев, и если их снять, они рассыпаются в цепочку, а собрать обратно без знания алгоритма нереально.
Так вот, самый изощренный их подвид — средневековое гиммель-кольцо (от латинского gemellus — близнец). И в Нью-Йоркском Метрополитен-музее (The Met) лежит легендарный экземпляр 1631 года. Это немецкое золотое кольцо-близнец с рубином и бриллиантом, которое разделяется на две половинки, а внутри спрятан лютый секрет в стиле Memento Mori: в одном звене лежит крошечный эмалированный младенец, а во втором — ухмыляющийся скелет. Настоящий готический киберпанк XVII века. Понятно, что в музее оно лежит под бронированным стеклом, и туристам его никто и никогда не разбирает, чтобы вековые шарниры не дай бог не отвалились.
И вот сижу я как-то, уныло листаю фотки, и тут звонок. Мой хороший знакомый Марк — он фотограф, причем не из тех, кто снимает утренники, а серьезный профи, который периодически делает макросъемку для музейных архивов и каталогов.
— Стеф, привет! Срочно бросай свой код, у тебя есть планы на завтрашнее утро? — в трубке прямо звенел азартный рабочий вайб.
— Привет. Смотря что случилось. Опять позвали снимать каких-нибудь редких крокодилов в Бронксском зоопарке и тебе нужен ассистент, чтобы держать вспышку перед их зубами?
— Круче! Помнишь, я подавал заявку на оцифровку Griffin Collection для The Met? Мне только что подтвердили слот в лаборатории. Завтра в девять утра я снимаю то самое немецкое кольцо Гиммель 1631 года. Будем раскладывать его под макро-рельсы в максимальном разрешении.
— Марк, ты шутишь? Туда же обычных смертных не пускают!
— Я впишу тебя в ведомость как digital-оператора — типа ты следишь за фокусом и захватом картинок на ноуте, пока я за камерой. Главное — надень что-то неброское, не хватайся руками за кураторский стол и не вздумай дышать на экспонат. Идешь?
Конечно же, я пошла! На следующий день мы были не в шумных туристических залах, а глубоко в подсобных помещениях музея — в стерильной закрытой фотолаборатории при отделе реставрации европейского искусства. Вокруг куча профессионального света, штативы и идеальная тишина.
Самый важный нюанс, который меня поразил: Марк вообще не имел права прикасаться к кольцу. Все манипуляции проводила строгая женщина-куратор в специальных нитриловых перчатках. Она аккуратно достала кольцо из мягкого кейса и положила на бархатный ложемент под софтбоксы.
Сначала Марк отснял его в собранном виде. А потом началось то, ради чего я там была. Куратор поднесла руки к кольцу и плавным, отточенным движением раздвинула золотые ободки. Вековой механизм сработал идеально, без единого звука. И прямо на наших глазах из темноты золотых пазов показались эти микроскопические эмалированные фигурки — младенец и скелет. Я стояла прямо за спиной Марка и смотрела не на само кольцо (оно крошечное, на нем фиг что разглядишь), а на огромный 32-дюймовый калиброванный монитор, куда транслировалась картинка с макрообъектива в реальном времени. Каждая чешуйка золота, тончайшие трещинки на древней эмали, игра света на рубине — это было настолько живое и осязаемое ощущение, будто я сама залезла внутрь этого механизма. Куратор поворачивала кольцо на доли миллиметра, а мы с Марком ловили фокус. Это было лучше любого 3D-вьювера в мире.
В общем, под впечатлением от той поездки и от канадцев из Locomotive, я сейчас сама села за разработку цифрового кольца-головоломки. Но, в отличие от канадского дизайнера, я не ищу легких путей. Никакого Блендера и готовых тяжелых .glb моделей! Я пишу его чисто с помощью кода и математических формул для фрагментного шейдера (Fragment Shader) на чистом WebGL. Форма кольца, переплетение его звеньев, анимация раскрытия и физика света на металле — всё это генерируется математикой прямо в реальном времени на видеокарте. Да, мозг взрывается от тригонометрии, зато проект получается максимально легким, залипательным и честным с точки зрения программирования. Когда допишу шейдер до идеала — обязательно скину вам ссылочку покрутить!
Стефания
https://stephaniia-bubnova.web.app/
Свидетельство о публикации №126071703835