+7 (000) 000 00 00  

Периферия

3D сканеры

3D сканеры

Автор: Александров Денис ЮрьевичНе хотелось ли Вам когда нибудь увидеть не абстрактную модель вашего противника с экрана монитора, а живое лицо давнего друга, и соперника по игре, 3D модель снятую с живого человека ? Не хотелось ли Вам действительно персонифицировать свой образ в игре - ввести реальный - свой собственный образ и соответственно его "снарядить", а не просто выбирать из заданного набора моделей с возможностью лишь поменять цвет skin-a ?Вспомните что было изображено на первых "скриншотах" Q3 Arena, и что поражало многих - верно - лицо живого персонажа и следовавшие обещания что это сможет сделать в игре каждый. Давайте же разберемся реально ли это уже сейчас или будет ли реально через год-два. Причем мы будем рассматривать возможность действительно качественной реализации этого подхода. Что я имею под этим в виду - то что необходимо создать полигональную модель играющего - реального человека, а не "приблизительно" натянуть текстуру лица на какую либо заготовленную модель.Рассматривая данную проблему я ставлю своей целью ориентировать обзор на игровое приложение описанных в нем технологий, хотя он может быть полезен и 3D-дизайнерам и разработчикам игр, и даже хотя и в меньшей мере - людям занятым в такой области как ре-инженеринг.Итак наша цель: получить 3D модель персонажа (одну), снятую с конкретного человека и полностью текстурированную, c параметрами пригодными для использования этой модели в качестве модели игрока в играх следующего поколения (в т.ч. с использованием аппаратного T&L).Процесс построения такой модели можно представить в виде следующей последовательности шагов:1. Оцифровка модели реального человека.2. Ручная доработка модели - устранение дефектов оцифровки - в частности "дыр" в модели от упавших на человека при съемке теней.3. Автоматическая достройка (редактором 3D персонажей) частей модели снятие которых затруднено - подошв обуви и т.д.4. Доработка модели в 3D редакторе персонажей - генерация доспехов или иных предметов одежды (из заранее заготовленного набора). В случае если пользователь захочет оставить снятый образ без изменений этот шаг можно пропустить.5. Привязка модели к скелетному каркасу (с участием пользователя). При этом модель соответственно разбивается редактором на участки тела с отдельными параметрами анимации (ноги, руки, туловище и т.д.). При этом мимика лица не разбивается - так как это очень усложнит процесс создания модели и по силам лишь профессиональному аниматору.6. Оптимизация модели до приемлемого уровня детализации/числа полигонов- или внешними программами (такими как Rational Reducer от Systems in Motion)или самим редактором 3D персонажей - при этом возможно учесть больше специфическихчерт, как модели так и движка игры (например больше оптимизировать туловищемодели, чем ее лицо).Запись модели в формате доступном игре. На этой стадии возможны дваварианта - или запись скелетной модели (т.е. одной полигональной моделис привязанным к ней "скелетом"), либо запись уже отсчитанного редакторамнабора фаз движения игрока. И тот и другой подход имеют свои плюсы и минусы:скелетная анимация (особенно для модели с автоматической оптимизацией уровнядетализации при ее создании) требует очень больших вычислительных ресурсовв процессе игры, но имеет намного меньший объем. Тогда как заранее рассчитанная,для всех возможных положений игрока, модель имеет относительно большойобъем, но не требует таких напряженных вычислений в момент работы игровойпрограммы.Далее остановимся на наиболее сложном для пользователя процессе (которыйдо этого времени и препятствовал развитию этой технологии) т.е. на первомпункте нашего плана - оцифровке реальной модели человека. Остальные вопросыболее затрагивать я не буду - так как это скорее вопросы разработчиков,чем конечных пользователей.Итак основной вопрос наш заключается в том - а возможно ли за приемлемыеденьги построить 3D модель человека. До недавнего времени ответом на этотвопрос было - нет нельзя, точнее так продолжалось до 97-98 года. Чтобыподробнее рассмотреть этот вопрос окунемся в такую область как 3D Digitizing.О, не беспокойтесь я не собираюсь расписывать Вам принципы различных реализацийалгоритмов триангуляции. Я лишь представлю вам краткую типологию методовсъемки 3D моделей, их плюсы и минусы, причем все это применительно к нашейконкретной задаче.Методы кардинально нам не подходящие.Начнем с того что все устройства 3D ввода можно условно подразделитьна два основных типа - контактные и дистанционные. Почему условно - потомучто к контактным я буду относить все устройства которые работают по принципуобводки контура пользователем вручную, посредством сенсора, причем не зависимоот того действительно ли сенсор касается модели. Эти устройства выделяютсяв первую очередь тем, что способны строить "грамотные" 3D модели - особеннона основе NURBS, потому как модель строит по сути оператор устройства,а не само устройство. Однако такие устройства абсолютно бесполезны длянас - ну если только Вы собираетесь обводить свое лицо по контуру J. Образцом(весьма широко известным) какого типа устройств является система MicroScribe-3D(фото ниже).Все же дистанционные системы, как правило сканируют объект самостоятельно(во всяком случае я далее рассматриваю именно такие системы) и используютв том или ином виде геометрические преобразования и триангуляцию для определенияz-координат точек сканируемой поверхности. Различия состоят лишь в конкретныхметодах съемки, и в такой малости как в цене.Из дистанционных систем нам также не интересны системы:Использующие ультразвук для сканирования объектов - так как помимо весьмавнушительной стоимости, они обладают рядом недостатков - в частности зависимыот температуры воздуха в помещении и ряда других возмущений, к тому жеони обладают весьма низкой точностью порядка 1/16 дюйма. Этим обусловленаи специфическая сфера их применения - в основном медицина и скульптурныеработы.Использующие различные электромагнитные излучатели - по тем же причинам- специфичности применения, высокой стоимости, низкой точности - до 1/32дюйма. К тому же ими практически не возможно снимать в присутствии металлическихпредметов и малейших помех - таких как работающий ПК.Традиционные лазерные сканеры. Хотя они и лишены практически всех недостатковпредыдущих устройств (чем и объясняется их широкое распространение), нои они не лишены недостатков. Это и очень высокая их стоимость, и весьмаограниченные размеры сканируемых объектов, низкая производительность (особеннодля систем с точечной проекцией). К тому же данные системы, если их и удастсяиспользовать для сканирования человека весьма не безопасны - в частностидля глаз. Представление о подобных системах могут дать VIVID 700 от Minolta(на фото слева) или Digibot II от Digibotics (на фото справа).Интересующие нас системы относятся условно говоря к проекционным системам - что означает что все они проецируют (тем или иным способом - с участием лазера или без) на сканируемый объект специальную "сетку" и по ее искажениям определяют контур сканируемой поверхности.Однако и среди данных систем далеко не все могут быть для нас интересны.В частности мало нам подходят полностью автоматические системы, снимающиечеловека в полный рост за 12 сек., однако весящие при этом около 450кг,использующие в качестве рабочей станции для обработки - Silicon GraphicsIndigo2 Extreme или более мощные системы. Цену таких систем в частности- WB4 от Cyberware (тот что на фото внизу) и представить страшно.Системы для нас мало интересные ... но представляющие процесс эволюции устройств 3D ввода, и весьма интересные для низкобюджетных групп разработчиков игр или 3D моделлеров и аниматоров.Как я и говорил выше эти системы, как и все о которых пойдет речь далее - это проекционные системы. Данные системы представляют уже разумный ценовой диапазон - 7 500 - 10 000$. К данным системам можно отнести: Venus3D от In-Harmony's (на фото слева) и 3Scan от Geometrix (на фото справа) а также ряд других систем.Достоинства и недостатки у этих систем общие: не малые габариты, немалая цена, и самое основное - жесткое ограничение на размер моделей непозволяющее снимать человека - это примерно 58см х 58см для Venus3D и 30смв диаметре для 3Scan. Однако эти системы: обеспечивают высокую точностьдля систем такого класса, высокое быстродействие - по сравнению с традиционнымилазерными сканерами, работают на рабочих станциях на базе Windows NT.Система 3Scan названа здесь не случайно - она имеет наименьшую в классестоимость - около 7 500$, при этом работает в полностью автономном режиме- благодаря вращающемуся постаменту модели и использованию цифровой видеоа не фото камеры. Проекция в данной системе осуществляется лазерным излучателем- что повышает ее точность. В целом это идеальный выбор для профессиональныхразработчиков.Системы которые собственно нам и интрересны.Сразу замечу что таковых весьма не много - а точнее всего две, да и появились они сравнительно недавно.Первая из них, известная гораздо шире, это система MetaFlash от Metacreations/Minolta.Данная система реализует проекционный принцип сканирования, используетконструктив фото-камеры и является по сути надстройкой над стандартнойфотокамерой Minolta или Kodak (фото ниже).Данная камера обеспечивает вполне приличную точность сканирования -до 1мм - чего вполне достаточно для нашей задачи, обеспечивает, согласнотехнических спецификаций размер поля сканирования достаточный для сканированиячеловека в полный рост, имеет относительно не высокую стоимость - 4 500$.Как утверждается в спецификациях очень проста в использовании. Необходимо однако заметить, что по информации с сайта производителя массовые поставки данной камеры еще не начаты.Вот мы и добрались до самой занимательной части нашего обзора. Это последняя (и наиболее пригодная для целей решения нашей задачи система). Данная система стоит по информации производителя порядка 6 000$, однако не спешите пугаться и бросать чтение этой статьи - и сейчас я попытаюсь объяснить почему.Все дело в том, что данная система - комплект ShapeSnatcher+ ShapeMatcher от Eyetronics практически не содержит аппаратной части !! Нет содержит конечно, но роль ее играют бытовые компоненты которые сейчас есть чуть-ли не в каждом доме где есть ПК, а именно для работы системы нужны:Бытовой слайд проектор (не компьютерный - обычный) под слайд 35мм, с приличной оптикой.Любительский цифровой (предпочтительно), либо приличный обыкновенный фотоаппарат (на штативе или жестко закрепленный на какой либо опоре) + приличный сканер (ну отсканировать можно и в конторе в крайнем случае).Вот и вся аппаратная часть. Сама же система состоит из комплекта ПО, специального слайда с разметкой и спец. коробка (на него проецируется сетка при калибровке системы). Все это в коробке размером с обычную коробку от игры. (иллюстрация программы ShapeMatcher - ниже).Система специально ориентирована на съемку больших объектов и съемка человека - возможна, при этом система обеспечивает точность до 1мм - чего вполне достаточно (конечно не в последнюю очередь результат будет зависеть от вашей камеры). О качестве системы может говорить и тот факт, что она заняла призовое место на EIT в 1998 году. Это при том, что в то время система еще не содержала компонента ShapeMatcher, тогда как системы типа 3Scan уже выходили на рынок. Ниже приведено несколько примеров работы системы:Что же до стоимости системы - скопировать софт в России никогда проблемой не было, вопрос лишь в копировании слайда - но и это не велика беда.Однако не уклоняясь в вопросы Российского рынка ПО, можно заметить и весьма официальный путь использования этой системы - стоит лишь компании типа Id Software, или даже любому Российскому разработчику закупить лицензию на это ПО, ввести его в состав игрового редактора моделей, да растиражировать слайд - и мы имеем прототип системы для создания 3D моделей в играх - причем именно путем практически "домашней" (ну или в качестве услуги в игровых центрах) оцифровки живого человека. Вопрос с лицензией тоже вероятно не станет большой проблемой - пакет получит большой (неимоверно большой по сравнению с его текущей нишей) рынок сбыта, и это при том что ограничить его по формату записи лишь файлами воспринимаемыми игрой - не задача. Еще более кардинальным способом "закрытия" альтернативных способов использования этого ПО является встраивание когда этой системы (упрощенного) в сам редактор 3D моделей игры, на ряду с системой оптимизации моделей и другими компонентами (см. начало статьи).Конечно есть и ряд не решенных мною вопросов относительно данной системы:Хотя и утверждается что система может быть понятна и новичку, да и упростить ее можно в составе игрового редактора. Но все же встает вопрос - кого же считать за новичка ?2. Производителями утверждается, что слайд получен с помощью технологийлитографии - возникает вопрос - насколько это соответствует истине ? Ив связи с этим - можно ли записывать отсканированный образ сайда на CD,с целью напечатать его на спец. аппаратуре печати слайдов - такой как напримерPolaroid ProPalette 8000 ? А вопрос этот весьма не праздный - так как ужесейчас такие услуги в Питере и Москве оказываются, причем за достаточносимволическую плату.И напоследок, для самых терпеливых и внимательных читателей и предвидявозможные вопросы:Q. Если все сделают себе модели то для игры модели (их файлы) должныбыть у всех игроков. Вопрос - как это обеспечить ?A. Модели после даже не сложной оптимизации займут не много места -не более 150-200Kb. При игре по сети - чемпионатах или просто встречах- это не проблема - игрок приходит со своей дискетой (как сейчас с мышью)и загружает на сервер модель - через интерфейс игры - автоматически.В начале игры - все участники, еще до старта скачивают модели (как напримеркарты в StarCraft).При игре по модему/Internet люди играющие в составе клана как правилоиграют с ограниченным кругом людей - модели также перекачиваются с сервера,только подождать придется подольше. На чисто общедоступных серверах гдепублика часто случайная - те кто хотят играть с моделями организуют Privateсекции, где перекачивают модели а потом играют (как в StarCraft происходитс картами и сценариями) публичные же сектора - запрещают пользовательскиемодели.Это весьма обосновано - так как особое удовольствие от персонификациимоделей получаешь лишь тогда, когда играешь со знакомым противником, ане со случайным оппонентом.Да и к тому времени (через год-полтора) когда такие игры смогут появиться,с каналами на западе все будет уже более-менее благополучно. Мы конечнокак всегда окажемся несколько в стороне - ну да ничего не поделаешь.Q. Зачем все это ? Не будут люди так играть. Вообще все стены в Actionориентированном на DM должны быть без рисунков и одного цвета - все равноя их не замечаю, да и модели игроков тоже и т.п.A. Во-первых, все новые технологии были когда то глупыми, казались никомуне нужными - а сейчас играют и не задумываются (знаю по долгому опыту общенияс ПК и играми на нем, уж поверьте). Во-вторых, Вы никогда не задумывалисьпочему люди не хотят играть с ботами - только ли по тому, что они такиеглупые и играют не как человек (это уже верно лишь отчасти в свете UnrealTournament) ? А почему фото-галерея ICQ имеет бешенный успех - тоже незадумывались ? Подумайте на досуге...Написав все это я ни в коем случае не претендую на истину в последнейинстанции, или на абсолютную полноту раскрытия темы. Я лишь надеюсь чтоэта статья будет кому-нибудь интересна, или натолкнет кого либо на новыеидеи.При подготовке материала были использованы материалы сайтов:http://www.minolta3d.com;http://www.metacreations.com;http://www.digibotics.com;http://cgw.pennwellnet.com;http://www.inharmonytech.com;http://www.visint.com;http://www.geometrixinc.com;http://www.eyetronics.com; http://www.cyberware.com;http://www.cyberfx3d.com...