вилисов
5.53K subscribers
1.92K photos
151 videos
15 files
1.43K links
куратор крутых штук + автор книжек
инст: instagram.com/vvllsv
https://vlsv.gay
Download Telegram
вилисов
Video
ФИЛЬТР КАЛМАНА КАК ТЕАТРАЛЬНЫЙ ПРИЁМ

Кто-то тут наверняка знает, что я сейчас работаю над самым интересным проектом из всех, что мне пока приходилось делать. Те, кто следят, помнят, что мы должны были выпустить его ещё до конца июня. И я всё думал: как доступно описать, с какими вызовами мы на этом проекте сталкиваемся, чтобы была хотя бы примерно понятна сложность работы + свежесть технологий, которые мы используем. Описание лежало на поверхности: то, что мы сейчас делаем, невозможно было сделать ещё полгода назад. Вот я щас смотрю ни гитхабе даты релиза ключевых фреймворков, на которых у нас всё построено, даты совсем свежие. Некоторые не ключевые, но важные для каких-то фич библиотеки/пакеты были выпущены или обновлены так, как нам нужно, вообще пару месяцев назад. Мы работаем в такой ситуации, что многие наши траблы прямо сейчас по пути работы решаются в тредах на десять человек. Поскольку у нас не полностью игровой и не e-commerce продукт, мы с нашими запросами на функционал попадаем в вообще несуществующую нишу. СКОЛЬКО ВСЕГО Артёму и Илье пришлось написать с нуля руками на, как я понимаю, довольно низких уровнях — с ума сойти.

Дополненной реальности самой по себе сильно больше десяти лет и если вы в 2020-м хотите кинуть цифровой кубик на плоскость — при должной подготовке у вас особо не будет проблем. Но если вы хотите собрать кроссмедиа сторителлинг-проект под обе главные мобильные платформы со сложной динамичной графикой, одинаково хорошо выглядящей и управляемой на слабых и мощных устройствах, а помимо AR у вас есть звук, видео, 2D-анимация, игровые сцены с ML-распознаванием жестов — ну) придётся попотеть) просто потому что никто никогда ничего подобного не делал)

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

На видео выше — кусок стартового экрана нашего приложения. Вы видите 3D-модельку, которая стоит спиной и вращается в зависимости от того, в какую сторону вы крутите устройство, то есть управляется акселерометром. Не буду углубляться как это появилось в интерфейсе, но вот нам нужно это сделать. (Вроде просто, да? А теперь загляните к себе в телефон и попробуйте найти хотя бы одно приложение, в интерфейсе которого есть 3D-элементы. Не 2.5D, а реальный рилтайм 3D.) Ну что: я нарисовал прототип в фигме и отправляю ребятам с описанием, что этот чувак должен двигаться. Мы начинаем копать и выясняем… что Flutter — кроссплатформенный SDK, на котором у нас написано всё, кроме блоков AR — не поддерживает 3D-рендеринг. Вообще. В него невозможно вывести 3д-объект ни в одном из форматов. Что делать? Забивать? Мы делаем беглый рисёрч. Выясняется, что есть совсем свежая (декабрь 19-го) неофициальная (!) библиотека, которая способна рендерить 3д во флаттер. Эта библиотека поддерживает ТОЛЬКО .obj файлы с mtl+png текстурой, что уже здорово нас ограничивает. Но это уже что-то.

И тут мы с вами вспоминаем, что obj файлы не поддерживают анимацию. Вообще. То есть моделька не может двигаться. Никак. Сделать, как мы придумали, не получится.

Вся Россия опустила руки. Мы приходим с альтернативным решением: давайте не анимировать модель, а двигать камеру вокруг неё, потому что это технически возможно. Тогда будет динамика. Одновременно с этим предложением возникла идея двигать модельку гироскопом или акселерометром, но до этого ещё далеко. Ещё несколько дней мы выясняли, почему эта библиотека не отображает корректно текстуры и свет. Выяснили. Починили.
⬇️⬇️⬇️
вилисов
Video
⬆️⬆️⬆️ Здесь я немножко скипну вперёд. Мы начали копать как сделать так, чтобы поставить движение модели под камерой в зависимость от положения устройства в руках пользователя. На что мы наткнулись первым делом: во флаттере есть библиотека sensors, которая получает значения сенсоров устройства через нативку и переводит их в себя. Возникает почти критическая проблема: flutter sensors отдавал нам только ускорение вращения девайса, а не абсолютные величины углов. С этой информацией мы не можем получить изменение позиции модели относительно стартовой и независимо от положения девайса в руке пользователя. Что делать? Писать два нативных модуля для iOS и Android? Это очень долго.

Начинают появляться всякие изъёбистые воркэраунды: не ставить положение модели в зависимость от ускорения, а просто придавать ей усиление в ту сторону, в какую ускоряется устройство; PID-контроллеры; в какой-то момент мы почти решили что надо оборачивать получаемые данные фильтром калмана.

В какой-то момент начинает появляться зависимость положения сцены от положения устройства. Но моделька ДИКО тремблит, прямо теребонькается. Это происходит потому, что от акселерометра приходят обновления 5 раз в секунду. Для 60fps это ВООБЩЕ ни о чём, это слайдшоу. Мы разбираемся, как получать обновления сенсоров с большей частотой. Разобрались, но теребоньканье модели никуда не исчезает. Акселерометр посылает на выход ДИЧАЙШИЙ шум, его надо фильтровать, это реально сложная математика и расчёты.

Потом происходит то, что обычно происходит в какой-то момент: просветление. Артём решает вместо присваивания новых углов в соответствии с новыми данными от акселера прямо на эти новые значения менять.

Бум.

Всё работает.

Ты берешь в руки телефон или планшет и моделька крутится так, как ты крутишь девайс. Но это по-прежнему не юзабельно: правый поворот акселерометра даёт больше отклонения, чем левый, поэтому моделька через пару поворотов заваливается за горизонт, в руках чувствуется ужасно. Плюс она не возвращается на то положение, в каком приложение открыл пользователь, потому что мы считаем её позицию от земли, а не от изначального положения экрана + у нас не задана дефолтная позиция камеры, к которой через сложный расчёт модель должна возвращаться после поворота. То есть с поступлением данных о движении накапливается ошибка, это артефакт фильтрации. Вот что Артём пишет в это время: «Ну нужен какой-то finite impulse response алгоритм. Калман бесконечный, поэтому его уносит назад при осмысленных значениях параметра, а при маленьких просто нет разницы, применяешь ты фильтр или нет <…> кстати, то, что он переворачивается в итоге, связано не с накоплением, а с некоммутативностью поворота, так что от этого не избавиться повышенной точностью, просто мир таков».
⬇️⬇️⬇️
вилисов
Video
⬆️⬆️⬆️
Дальше начинается, на самом деле, самая изъёбистая часть, потому что модели нужно корректно выставить центр тяжести и рассчитать математически все зависимости движения от поворотов, а ещё учесть, что на разных устройствах акселерометр присылает данные с разными отклонениями и решить ещё тысячу возникающих траблов. Мы несколько раз меняли тип вращения, чтобы в руке это лежало и двигалось максимально комфортно.

То, что получилось, вы видите на видео.

Эта модель появляется в приложении два раза — на стартовом и финишном экране. Она занимает, я думаю, 0.3% от общего времени работы с приложением. Оцените, какие усилия в неё вбуханы и попробуйте представить, какие усилия тогда вбуханы в то, что составляет ядро этого проекта. В начале я назвал эту штуку декоративной, но это, конечно, не так. Я придумал это, чтобы уже на старте у пользователя возникло ощущение а) интерактивности б) контроля — это всё очень важно для того типа цифровой перформативности, которую мы этим проектом изобретаем. Так, через совсем маленькие штуки, задаётся фундамент к большому опыту.

Я люблю этот проект очень; он меня высосал уже абсолютно, как и остальных. Но когда ты делаешь что-то, чего не делал никто вообще до сих пор, — ну, понятно. SITTING IN A ROOM. I AM. — перфодиджитал история про безусловный базовый доход, скоро совсем-совсем, два трейлера можно увидеть в предыдущих постах, кто пропустил. Я очень сильно рассчитываю на вашу поддержку с этой работой.
третий тираж (2500 экз) напечатали. новый удобный формат, новая обложка (алёна салманова 🥰🥰🥰), суперобложка, новая вёрстка, новая корректура. просто огонь. дико рад. главный театральный бестселлер на русском языке за последние 20 лет вот-вот снова в магазах. spread the word, спасибо. ура.
несмотря на то что негодяй эдуард бояков уволил меня из мхата мы с захаром прилепиным договорились об информационном партнёрстве в рамках рязанского филиала нашего перфодиджитал проекта про базовый доход. спасибо писатель захар прилепин.
спасибо режиссёр николай коляда #ямы #янемолчу #небоюсьголодать #кремлевскаядиета

(когда кончились деньги кормить актёров извините)
Media is too big
VIEW IN TELEGRAM
ваша дневная доза топкринжа

юрий львович ПОДДЕРЖКА

upd: в чате спрашивают что это такое — сегодняшняя прессуха росгосцирка где теперь за хипхоп и тикток отвечает главреж квятковский
мы с вами знаем, что большинство актёрских школ в россии — это лютый кринж. учиться в них стоит только если ваша цель в жизни — вести поэтические прогулки на теплоходах. есть радостные исключения; одно из них — «лёгкие люди», крупнейшая школа актёрского мастерства в спб (а с недавнего времени с присутствием и в москве). могу говорить об этом ответственно, потому что сам делал с ними уже несколько проектов и это всегда было прекрасно.

щас информейшн для всех, кто в москве или рядом или готов доехать. у худрука школы тани вайнштейн 7 сентября запускается КУРС актёрского мастерства из восьми занятий.

из прикольного: занятия лоцируются в ЦИМе!! 😎🕺💪

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

ну и самое приятное: по промокоду leludi2020 вот по этой ссылке можно получить скидон на д в е т ы с я ч и р у б л е й.

🦹‍♂️🦹‍♂️🦹‍♂️ москва. седьмое сентября — начало. таня вайнштейн. курс актёрского мастерства. седьмое сентября. москва. курс. москва. седьмое сентября. скидка по промокоду. гоу.
испугались
⚡️⚡️ пару дней назад я отгрузил первую оптовую партию своего курса по дополненной реальности. теперь в мире на пятьдесят человек больше будут знать всё про технологию, уже сейчас перепахивающую то, как люди взаимодействуют между собой и с миром.

этот курс по AR — важнейший для меня проект, продвижением которого я вообще к сожалению не занимаюсь, и несправедливо, потому что судя по фидбеку он получился таким, каким я задумывал: неожиданным и важным. это по-прежнему единственный на русском языке курс дополненной реальности, не требующий навыков разработки (если честно, на других языках ничего подобного тоже нет, я делал рисёрч для своего гигантского текста про AR). не говоря уже о том, что он офигенно по форме сделан, одновременно он самый подробный: помогает не просто делать AR, но и понимать устройство и горизонты этой технологии, ведущие нас к пространственному интернету. курс не специализированный, потому что AR это одновременно про архитектуру, дизайн, развлечения, театр, музыку, промышленность, медицину, кучу всего ещё, но генерально — про коммуникацию, про новый способ транслировать идеи в не-плоском формате.

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

ну и всем кто пропустил, не видел, было не до того, сейчас появилось свободное время: курс дополненной реальности для художников; то есть для всех. целиком и полностью в телеграм-боте! прямо под рукой. двадцать одно видео, куча приложений и ссылок. 1234 рубля (серьёзно, такой объём за такой прайс). чат с поддержкой! видео меня с цифровой лошадью!! в общем полный шубен бубен. вы по-прежнему можете купить курс в подарок любому человеку. пожалуйста, передайте другим. курс здесь:

t.me/ya_arubot
t.me/ya_arubot
t.me/ya_arubot
вилисов
Video
Я СНЯЛСЯ В ТРЕТЬЕМ ТРЕЙЛЕРЕ НАШЕГО ПРОЕКТА ПРО БЕЗУСЛОВНЫЙ БАЗОВЫЙ ДОХОД

вот смотрите, третий — финальный перед выпуском — трейлак нашего AR-долгостроя про ББД. самый важный, самый мощный и самый красивый. собран в юнити. кто ещё делает контент к театральным/перформативным проектам в юнити? ну никто. он поразительный не ток поэтому, там внутри рассказывается отчасти, как он сделан, но я тут подробнее напишу про один охуительный аспект.

вот мы видим робота, он уже был в первом трейлере — можно думать про него как символ грядущей автоматизации, которая делает ББД необходимым, но на самом деле просто дефолтный персонаж юнити, оч мне нравится. вот он анимирован. как анимируют 3D-персонажей? либо руками через ключевые кадры, либо берут готовые секвенции с Mixamo или откуда-то ещё, либо, если задача сложная, делают motion capture. вот Лёня Именных записал трек, где он под арфу (!) напевает три предложения из первой главы «капитала» (!!). звучит охуительно. и мне под этот звук надо анимировать персонажа, чтобы он хотя бы уместно махал руками. найти готовую секвенцию невозможно. анимировать руками такое — заебёшься. я начал смотреть в сторону мокапа.

как обычно делают 3D-мокап? покупают smartsuit от rokoko за $2.5к, или любой другой костюм с сенсорами; либо приходят в студию, обвешанную камерами по кругу. либо совсем бюджетный варик — купить kinect, заебаться, подключая его к маку и настраивая. есть конечно решения на основе CV, когда нейронка распознаёт движение в предзаписанном видео, но их полторы штуки и за бешеные деньги. а вот мне надо просто сделать анимацию на две минуты и не хочется делать ничего из вышеперечисленного. у меня в распоряжении только айфон 11про и айпад с лидаром. что я делаю?

я делаю рисёрч. и обнаруживаю, что есть бесплатный плагин для cinema 4d — moves by maxon, который вышел полгода назад, который загрузило три калеки. он работает на основе ARKit — фреймворка дополненной реальности от Apple (он — часть AR Foundation, на котором работает наше приложение целиком). в этот фреймворк в прошлой версии добавили технологию human segmentation — когда компьютерное зрение при помощи true depth камеры может отделять тело человека в движении от бэкграунда. а если может отделять, значит может и фиксировать его движение. и вот это приложение в рантайме (!!) делает полный body capture тупо на айфоне.

охуительно!

ну так и что: я поставил айфон на стаб, включил лёнин трек и две минуты двигался как мне надо! всё. потом было много еботни с переносом raw-даты движения на готовую модель в c4d, в которой я никогда не работал. а потом мне пришлось почистить анимацию буквально по ключевым кадрам, что тоже особенный пиздец. но блин, это работает как раз-два. и вот теперь это часть вот этого прекрасного трейлера.

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

поделитесь этим видео! здесь говорят правду!!
вилисов
Video
дмитрий медведев анонсировал выход нашего проекта про безусловный базовый доход. спасибо дмитрий медведев.
ЛАБОРАТОРИЯ КАЙФА У МОРЯ

сейчас очень коротко очень хорошие новости: мы реанимируем нашу лабораторию современного танца и перформанса в краснодаре «восемь неопределённых движений». она пройдёт с 9 по 18 октября на территории быв. подшипникового завода. фантастическое место. с моей прошлой лаборатории прошло восемь месяцев, у меня ещё на 360гр. повернулись представления о том, как такие события нужно делать; помимо образовашки и свободной практики по производству условно финального перфа, будем думать о построении горизонтальных связей, как давать и получать фидбек, как выстраивать сейфспейс и вместе с этим осуществлять трансгрессию за его и свои пределы.

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