пятница, 11 ноября 2011 г.

Реалтаймовая визуализация и инфографика

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

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

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

Дизайнеру приходится создавать тестовую, усреднённую, возможностную среду, куда он поместит свой диван или стол, чтобы посмотреть как он будет выглядеть при том или ином освещении, с того или другого угла зрения. В процессе создания проектируемого объекта, дизайнер не видит игры хромированных бликов или текстурности дерева, он их представляет. Дизайнер создаёт анатомическую конструкцию объекта из геометрических форм, натягивает поверх скелета параметры светорассеивания, глянцевитости и шершавости текстур, но чтобы увидеть это приходится жать кнопку превью или рендера. Результатом становится всё то- же растровое изображение. Фотография вероятного будущего. Желая показать своё творение со всех сторон, дизайнер помещает внутрь виртуального пространства камеру и задаёт ей путь движения. В этом случае, результатом будет короткий ролик. 3D движок не нуждается в кнопке рендера, потому как дизайнер видит, то что имеет прямо во вьюпорте. Готовый продукт, можно сравнить с экспортом содержимого вьюпорта в исполняемый файл. Разве можно сравнить интерактивную среду, где камеры рендерят изображения в текстуру в реальном времени? Где можно разместить интернет браузер прямо внутри пространства, создав рекурсию виртуализации внутрь самой себя, а управлять любым объектом или процессом при помощи вебкамеры или микрофона? Разве можно всё это сравнить с видеороликом отрендереным раз и навсегда? Видео уступает чистому тридэ, так же как чёрнобелое фото уступает видео. Это просто следующий закономерный шаг в развитии визуальных средств репрезентации, вот и всё. Искать превосходство рендера над рантаймом или наоборот, это как сравнивать динозавра и млекопитающего. Динозавр круче млекопитающего и его превосходство не оспоримо, однако где сейчас динозавры, а где млекопитающие? Просто млекопитающие- это те существа, что вовремя трансформировались и оптимизировались. Здесь то же самое. Шаг трансформации происходит уже не в сторону усовершенствования картинки, (это происходит по инерции), а в сторону динамичности, процедурности, инвариантности содержимого. Картинка становится фреймом, в котором происходит диалог зрителя с картинкой. Автор задаёт возможные варрианты сценария этого диалога. Автор даёт значительно больше свободы для выбора зрителя, своего клиента, чем может дать посредством набора статичных картинок или видеоролика. Если фильм занимает зрителя на 2 часа, то игра 20-40часов, с возможностью вторичного прохождения не похожего на предидущее. Ролик- это застывшая конструкция, её можно смотреть в кино и друг увидит то же самое что и ты, а интерактивное приложение- это индивидуальный диалог со сценарием. Друг, никогда не пройдёт игру так же как ты. Даже ты сам не пройдёшь её снова, так же как раньше. Развитие происходит в сторону добавления новых синтетических измерений и расширения оных. Ролик- это репрезентация посредством 4 измерений, 3Д+ время. Интерактивное приложение- это 3Д+ время+ измерение вариативности. Именно это измерение позволяет быть не наблюдателем, а участником, соавтором. Например в архитектурной визуализации, изначально предоставляются исходные условия, но пользователь, клиент сам выбирает- день или ночь, с какого угла посмотреть, куда пойти, какого цвета выбрать стены, какой диван поставить.

Дизайнер может дать пользователю пространство модусов и правила конструкта, а пользователь завершит работу за него. Это как тот забор Тома Сойера. Клиент сам хочет покликать кнопочки и перебирать цветовые варианты. Он уже не будет требовать того варианта, который дизайнер не отрендерил. Древо перебора и зависимостей вариантов- это логика сборки конструкта и логика построения модусов. Клиент заходит на сайт дизайнера с любого доступного ему устройства, там он регистрируется и оплачивает свой акаунт, предоставляющии ему опциональный интерфейс работы с проектом и прямое общение с дизайнером. Дизайнер предоставляет все необходимые элементы затребуемые клиентом. Библиотеки 3D аватарок мебели, или отделочных материалов, или модульных домов, список может быть бесконечен. Вот так клиент выбирает нужный вариант методом переборов и сопоставлений, согласуясь со своими внутренними пожеланиями и соображениями, жмёт кнопку сохранить и оплатить. В XML файле записывается текущая конфигурация, которая может быть соединена с любой базой данных (при условии прямых рук у программиста). Дальше дело техники. Автоматический расчёт сметы, запрос на наличие выбранных объёмов материалов на складе, автоматическое размещение заявки. Рабочие уже получают все необходимые данные на свои дешёвые, казённые (равшановские) планшетнички. И вот уже через три- четыре часа, начинается сборка выбранного модуса в нужном месте. Торговом центре, фитнес клубе, парковке, бойлерном или электро- техническом помещении, дата- центре, медицинской или стоматологической лаборатории, ванной или кухни.

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

Если рендеры справляются с обманыванием зрителя, то только механически воспроизводя аналог фотографии или киносъёмки. Реалтаймовая модель, при приближении, моментально обнажает искусственность своей природы, разрушая иллюзию присутствия у зрителя. Зритель видит обман, упирается в грубые полигоны лица и мёртвую текстуру глаз. Он более не верит в персонажей которых видит. Он не верит в деревья из треугольников веток и плоских листьев. Очевидно, что все способы моделирования органических форм, сколь бы они не были совершенны, воспроизводят математическое описание человека, как набора топологических и геометрических алгоритмов. Однако, это то как видит человека машина, то как она его воспринимает и описывает. Это не масштабируемый метод. При приближении мы видим полигоны и текселы текстур, а при удалении от зрителя они сливаются в неразличимые пиксели экрана. Воксельные октодеревья детализируют приближаемую поверхность. Вот, в отдалении, на мониторе, можно разглядеть фигурку, она приближается и мы видим детали одежны, видим черты лица, приближаемся ещё ближе и видим несовершенство поверхности кожи, приближаемся ещё и уже микропоры и мельчайшие волоски предстают перед нашим взором, ещё приближение и мы видим микрокапеляры, клеточную структуру органической ткани. Если мы продолжим масштабировать точку зрения, то сможем увидеть молекулы. Воксельное, параметрическое моделирование, позволяет воспроизводить только то, что попадает в поле зрения. Когда мы приближаемся к уху, дабы разглядеть как оно устроено, то все остальные части тела, не попадающие в поле зрения отсекаются, не прорисовываются или выгружаются из памяти вовсе. Детализация всегда кратна заданному разрешению воксельной решётки. При приближении разрешение наблюдаемой области увеличивается, но относительно рамки экрана, отрисовывается всё то же колличество вокселей. Так же и человеческое видение, отслеживает только ограниченное количество наблюдаемых единиц, определяемое колличеством колбочек сетчатки. Разрешение человеческого восприятие- это разрешение сетчатки и обработка полученных данных зрительным отделом мозга. Рассматривая открытые пространства полей, лесов, городских  строений или крошки на столе, насекомых, мелкий текст на упаковке, мы получаем одинаковое колличество визуальных данных. Масштабирование происходит на уровне сопоставления и анализа, производимого головным мозгом. Теперь, так же поступает и машина. Теперь воспроизводимые в цифровом пространстве существа могут обрести подобие плоти, ведь до этого, модели были пустые. Только полигональная оболочка с текстурной поверхностью, а внутри- пустота. Воксельную модель можно получить при помощи медицинского томографирования. Аппарат сканирования "видит" органические ткани разной плотности и структуры, интерпретирует их как объёмы различающиеся цветом. Ни что не мешает преобразовать это различие в весовое значение присваеваемое вокселам. Эти весовые значения могут использоваться как физические параметры твёрдости, упругости, эластичности. Так, воксельная модель обретает плоть мышцы, кровь и у неё может биться сердце. Разрешающая способность томографа, разумеется не сможет считать такие мельчайшие детали, как клеточную структуру, но в этом нет необходимости, поскольку любой живой организм уже описан языком химических данных. Если машина научится сопоставлять сканируемые данные с данными транскрипции генома, то дедуктивно сможет заполнить стеки масштабируемости параметрическими данными. Тогда, масштабируя воксельный снимок человека мы сможем увидеть жизнь в каждой клетке и даже саму спираль ДНК, воспроизводимую на мониторе, всё теми же воксельными полями.

четверг, 10 ноября 2011 г.

Злые рыбы.



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

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

На иллюстрациях продемонстрированы результаты уникального пайплайна для изготовления некст-ген контента. Для создания высоко детализированной модели, я использовал Скульптрис, а не ЗБраш как обычно это делается. Динамическая тесселяция позволяет создать повышенную детализацию в нужных местах и сократить количество полигонов в тех областях, где повышенная детализация не требуется. Обычно, детализированная модель достигает от 500.000 треугольников до 1.500.000 треугольников. Этого вполне достаточно.

Далее, я загружаю полученную хайполи модель в Модо, где снабжаю поверхность процедурными и параметрическими текстурами, градиентами и прочим. Я дублирую модель и редуцирую до нужного колличества треугольников. Обычно от 500 до 2000 треугольников на модель. Затем, топология лоуполи модели корректируется и подчищается. На это уходит значительно меньше времени, чем на ретопологизацию (как это делается классически). В некоторых местах, например в области экстремальных деформаций, я ретопологизирую области на лету. Когда новая топология готова, я создаю UV развёртку для наложения текстур. Методика развёртывания настолько оптимизирована и отработана, что даже на очень сложных моделях занимает не более 20 минут. При этом я использую не менее 95 процентов площади заполнения UV пространства.

Я запекаю не только цвет текстуры, но и рассеяное освещение. Для этого у меня есть заготовленные лайтриги и преденастройки, которые остаётся только откорректировать под конкретный результат. Затем я запекаю карту нормалей из высокополигонального объекта в низкополигональный. Далее, по необходимости, запекаю мелкие шероховатости и смешиваю с основной картой неровности. Амбиент оклюжен и кавити мапинг запекаются отдельно и накладываются с цветовыми балансировками на основную карту цвета. Сама карта цвета, генерируется на основе процедурных текстур и градиентов вмести с освещением и отдельно. Все текстуры (кроме нормалей) запекаются в один проход, прямо в PSD файл и немедленно редактируются в Фотошопе. Отредактированная и готовая текстура цвета, кладётся обратно на модель и исправления происходят прямо в 3d вьюпорте. Так же, утилитой редактируется величина спейсинга швов в текстуре. Разумеется, швы  и растяжения на такой модели вы уже никогда не найдёте, сколько не старайтесь.

Результат- лоупольная модель и две текстуры. Текстуру цвета я дублирую в лайтмапинг, что делает модель не столь реалистичной,но очень выразительной и позволяет сильно экономить на освещении. Все иллюстрации- это прямые скрины окон из редактора движка Unity3d.

 В зависимости от сложности и детальности, от начала, до завершения таких моделек, ухордит от 4 до 6 часов. Быстро, качественно, красиво.