Как получить изображения для создания интерактивного VR Object-а?
Как получить изображения для создания интерактивного VR Object-а?
Эта статья, состоящая из нескольких страничек, посвящена съёмке VR-Object-ов или 3D объектов, как их иногда называют.
На первой страничке приведено описание самодельной установки для съёмки 3D объектов и рассказано, как использовать метод интервальной съёмки для этих целей.
Самые интересные ролики на Youtube
Близкие темы
Как подключить ЦФК к оптическому датчику движения или другой электронной схеме?
- Пролог
- Что такое VR-Object?
- Как получить изображения для построения 3D объекта?
- В чём трудность получения изображений для VR-Object-ов?
- Самодельная установка для съёмки 3D объектов
- Захват изображений в режиме интервальной (цейтраферной) съёмки
- Устройство синхронизации затвора фотокамеры с положением модели
- Конструкция и детали устройства синхронизации
- Съёмка с помощью устройства синхронизации
- Какова суть технологии получения синхронных изображений из видеороликов?
- Как записать световые маркеры синхронизации в видеоролик?
- Как захватить промаркированные кадры из видеоролика?
- Преимущества и недостатки метода получения изображений для 3D объектов из видеороликов
- Как это работает? Видео иллюстрация
Страницы 1 2 3
Пролог
С повсеместным переходом Интернета на безлимитный трафик, мне захотелось представить свои самоделки в формате настоящих VR Object-ов. Но, уже после нескольких съёмок, выяснилось, что это крайне трудоёмкий процесс, который к тому же требует невероятной сосредоточенности. Ведь если по невнимательности сделать всего один неверный снимок, а потом отложить модель в сторону, то проще переснять всю серию, чем восстановить этот единственный кадр.
В процессе усовершенствования технологии съёмки VR-Object-ов, пришлось проверить несколько технологий и даже разработать одну оригинальную. Эти технологии не требуют применения дорогостоящего оборудования, а «оригинальная» даже не нуждается в покадровой съёмке. Собственно об этих технологиях и пойдёт речь ниже.
Что такое VR-Object?
Ну, а для тех, кто не знает, что такое VR Object (Virtual Reality Object), даю краткую справку.
Применительно к Веб страницам, VR Object или 3D объект, это некое виртуальное изображение модели, которое позволяет рассмотреть эту самую модель с разных сторон. Чаще всего, такие объекты интерактивны. В Веб плеер встраивается простенький интерфейс, который позволяет вращать, приближать и перемещать 3D объект по мере необходимости. Реализуется это с помощью флеш технологии, а для демонстрации в сети Интернет, в браузер пользователя встраивается Adobe Flash Player.
Чтобы создать анимированный флеш ролик с VR Object-ом, его, конечно, нужно сначала со всех сторон сфотографировать.
This movie requires Flash Player 9
|
||
Чаще всего в сети Интернет можно встретить VR-Object-ы, имеющие всего несколько проекций.
This movie requires Flash Player 9
|
||
Реже встречаются многокадровые флеш ролики, демонстрирующие вращение модели в одной или в нескольких плоскостях.
This movie requires Flash Player 9
|
||
Но, если нужно создать полный 3D объект (360°х180°), то понадобится снять не один десяток снимков под разными углами к модели.
Вот эта интерактивная флэшка даёт представление о полном 3D объекте. Для его создания было получено 648 отдельных синхронных изображений.
Потяните мышкой, чтобы рассмотреть объект со всех сторон.
Как получить изображения для построения 3D объекта?
На картинке изображено простейшее приспособление для съёмки VR Object-ов. Оно позволяет изменять угол съёмки, как в горизонтальной, так и в вертикальной плоскости.
Для вращения модели в горизонтальной плоскости, обычно используют вращающуюся на 360° площадку, а в вертикальной – штативную штангу, которая позволяет двигать камеру по 90°-ной дуге, центр которой соосен с воображаемым центром объекта. Обычно для перемещения камеры в вертикальной и горизонтальной плоскостях используются одни и те же значения угловых величин.
Снимки делают, поворачивая площадку, дискретными шагами. Таким образом, получают последовательность снимков, которую можно условно назвать рядом. Затем изменяют наклон штативной штанги и делают новый ряд снимков.
Для съёмки объекта снизу, его переворачивают на 180° (по вертикали) и повторяют всю серию.
Полученные таким образом изображения "верхних" и "нижних" рядов собирают в интерактивную анимированную картинку в какой-нибудь программе для создания VR-Object-ов.
Одной из самых популярных программ на сегодняшний день является Object2VR. Программа позволяет в считанные минуты получить интерактивную флеш-анимацию в формате SWF, пригодную для размещения в сети Интернет.
В чём трудность получения изображений для VR-Object-ов?
В идиллии, флеш ролик с 3D объектом должен позволить рассмотреть объект съёмки со всех сторон. То есть, объект должен поворачиваться в горизонтальной плоскости на 360°, а в вертикальной на 180° (или наоборот).
Для получения плавного движения объекта во флешке, желательно, чтобы каждый ряд состоял из 50-60-ти кадров.
Нетрудно посчитать, что для построения полного 3D объекта понадобится:
60(кадров) * 30(рядов) = 1800 (кадров)
Но и даже для построения «половинчатого» 3D объекта придётся снять 600-900 кадров.
Необходимость в огромном количестве исходного материала, это основная причина, которая заставляет фотографов ограничиваться полумерами, снимая модель только в одной плоскости вращения.
Существуют, конечно, промышленные автоматические установки для съёмки 3D объектов, но они крайне дороги.
В поисках бюджетного решения данной проблемы, я апробировал несколько технологий получения изображений, каждая из которых имеет свои плюсы и минусы. Далее я о них подробно расскажу. Но, начну с описания аппаратной части.
Самодельная установка для съёмки 3D объектов
На картинке изображена самодельная установка, предназначенная для съёмки 3D объектов. Хотя, точнее будет назвать это сооружение макетом, собранным из того, что нашлось в мастерской самодельщика. Тем не менее, эти железки позволяют с достаточной точностью снимать модели небольшого размера под произвольными углами.
В качестве вращающейся площадки был использован проигрыватель грампластинок. Он идеально подходит для подобного назначения, так как его диск имеет плавный ход и снабжён приводом, который я тоже использовал в одной из технологий.
Для синхронизации в горизонтальной плоскости, используются бумажные диски, заранее размеченные на необходимое количество кадров в ряду.
Эти диски были распечатаны на лазерном принтере и каждый склеен из трёх отдельных листов бумаги формата А4.
Для вращения камеры в вертикальной плоскости, были применены поворотные тиски, которые обеспечивают установку штативной штанги под нужным углом.
Угол наклона штанги отсчитывается по шкале, изготовленной из двух CD дисков-пустышек и бумажной вкладки с делениями, так же распечатанной на принтере.
Регулировка положения центра вращения штанги относительно центра модели осуществляется с помощью перемещения подающего суппорта станины сверлильного станка. Фиксация положения осуществляется штатным винтом. Не во всех бытовых станинах такой винт есть, но я думаю, это легко исправить.
При настройке съёмочной установки, штангу следует повернуть вверх так, чтобы камера оказалась сверху диска, а центр диска оказался в центре кадра. Затем на диск нужно установить модель и центр вращения штанги совместить с центром модели.
Когда съёмочная установка настроена, можно приступать к съёмке.
Захват изображений в режиме интервальной (цейтраферной) съёмки
Самый простой способ получения снимков для 3D объекта – использование режима «Интервальная съёмка», который присутствует в большинстве современных цифровых зеркальных камер.
Для съёмки достаточно установить интервал в 2 секунды (быстрее, просто, не повернуть площадку), и запрограммировать количество кадров, необходимое для съёмки модели в одной из плоскостей вращения (для съёмки одного ряда).
После каждого срабатывания затвора, нужно педантично поворачивать площадку с моделью на заранее отмеченный угол.
На первый взгляд, ничего сложного в этом методе нет, но этот вид съёмки быстро выявил серьёзный недостаток.
При съёмке каждого кадра, требуется точно совмещать метку на диске с визиром, так как неверно отснятый или пропущенный кадр может привести к подёргиванию изображения при вращении объекта. Беда в том, что проявиться этот дефект может только после того, как будет отснята вся серия. А зазеваться, при выполнении столь монотонного процесса, как выяснилось, очень легко.
В любом случае, если Вы будете использовать этот метод, не снимайте камеру со штативной штанги, а модель с площадки, пока не проверите качество съёмки всей серии хотя бы во вьювере.
Другой недостаток этого метода – износ затвора зеркальной камеры. И хотя меня убеждали, что замена затвора, это пустяковая операция и стоит она недорого, я продолжаю думать, что это неактуально только для очень развитых стран, где есть официальная поддержка ведущих фото-брендов. У наших пенатов такого сервиса пока нет.
Тут бы самый раз воспользоваться какой-нибудь недорогой компактной камерой, но не в каждой камере есть режим интервальной съёмки или интервал может быть слишком велик. Например, в моей компактной камере Nikon Coolpix P7700 (описание от реального пользователя) минимальный интервал съёмки равен 30 секундам.
Можно, конечно, за 30-40$ купить к камере внешний интервальный таймер (Timer Remote Control Shutter), но это не устранит главный недостаток метода – необходимость ручной установки угла съёмки и сопряжённые с этим ошибки.
Для того чтобы получить жёсткую синхронизацию отдельных изображений с положением объекта съёмки и иметь возможность осуществлять съёмку произвольной компактной камерой, было разработано и изготовлено очень простое устройство синхронизации.
Очень понравилось!
Давно хотелось самому попробовать эту съемку — после такой статьи только укрепился в своем желании.
Жду продолжения, интересует доступность программ — предпочитаю бесплатные!
Владимир, я тоже в последнее время начал использовать бесплатные и портативные программы. Именно с их помощью реализовал технологию извлечения синхронных фотографий из видеороликов. Интересно, что я пока не нашёл платных программ, которые могли бы с этим справится. Этого корректно не умеют делать даже хвалёные программы видеонаблюдения, в которых заявлена подобная функция.
Но, вот, что касается получения флешь контейнера с 3D объектом, то тут я не уверен, что существует бесплатный софт. Есть халявный 3DReader, но это игрушка, не заслуживающая внимания. Так что, для сборки придётся использовать какую-нибудь условно платную программу.
60(кадров) * 30(рядов) = 1800 (кадров)
обалдеть! сколько же времени и сил потребовалось на эту машинку?
Славон, эта машинка построена всего из 648 кадров (36х18=648). На съёмку по новой технологии ушло минут десять. На захват и переименовывайте изображений ещё минут 20-25. А вот на обтравку ушло, действительно, много времени. Не сразу удалось правильно автоматизировать этот процесс. Вообще, обтравка объектов, содержащих блестящие детали, плохо поддаётся автоматизации. Так что, контур травил на автомате, но весь «блеск» пришлось вручную добавлять к выделению.
Крутая установка получилось!
Для публикации Virtual Reality Object можно использовать ресурс http://megavisor.com/editor/
Пользоваться можно бесплатно, по аналогии с Ютубом.
Владимир, пока не работает, написано: Coming soon… Идея может хорошая, но, скорее всего, быстро закончится, если вообще начнётся. Кроме того, тут для меня не всё понятно. Если привязать флешку к этому Megavisor-у, то её нельзя будет встроить в свою страницу и наоборот. Можно, конечно, не привязывать, но тогда её сможет встроить кто угодно. Выходит, пользоваться только ради трафика. А безлимитный трафик только в рекламных целях бывает.
Dropbox меня уже отключал, как только пошёл сколь-нибудь серьёзный трафик. Пришлось часть на Youtube перенести, а часть к себе на сервер, чтобы доступ в Dropbox восстановить.
А теперь, я уже несколько дней наблюдаю, как Youtube захлёбывается. Раньше доступ к HD и Full HD был нормальным, а теперь тормоза. Я бы подумал, что это временное явление, кабы не появился новый чекбокс – «Не воспроизводить видео в высоком качестве». Так что, я думаю, нужно стремиться к лаконичности в видео (в плане длины роликов) и переносить всё на свой хостинг. Все эти халявы рано или поздно заканчиваются и потом появляется столько проблем с переносом, что начинаешь сожалеть, что в очередной раз повёлся на замануху.
Я, кстати, и раньше сомневался, что Youtube надолго хватит с Full HD. Ведь Full HD появился в самых дешёвых мыльницах, и каждый перец теперь закачивает это видео как есть и даже без обрезки.
Я не сильно в этом шарю, но насколько я понимаю, Adobe Flash Player не поддерживает P2P. То есть, каждый юзер смотрит киношку с серверов Google, что рано или поздно затормозит их, если технологию не усовершенствуют.
По новой технологии?!это по какой же если не секрет
Аслан, статья на трёх страницах. Переключатели страниц сверху и снизу текста. Если лень читать, в конце третьей страницы есть видеоролик, где всё показано.
Добрый день. Подскажите, как вы делаете пакетную обтравку. Заранее спасибо.
Доброго здоровья Игорь!
Чтобы сделать пакетную обтравку, нужно снять объект на контрастирующем фоне. Почитайте про приёмы съёмки Chroma Key. После этого можно воспользоваться одним из инструментов Photoshop для выделения объектов, например, Color Range и добавить действия в Action.
Но, может оказаться, что после пакетной обработки, какие-то детали объекта окажуться вырезанными. Например, я снимал Hammer на белом фоне (так как у объекта были стёкла), и при этом пострадали некоторые блестящие детали. Поэтому, я настроил Action так, чтобы после Color Range он остановился, и я мог бы внести изменения. Потом я нажимал на продолжение Action-а и он завершал операцию. Таким образом, работа эта была автоматизирована только наполовину. Но, всё равно, скорость обработки увеличивается в сотни раз, по сравнению с полной ручной обтравкой. Кроме того, другие, хорошо контрастирующие объекты, удаётся вырезать на полном автомате или с коррекцией всего нескольких изображений.
Из личного опыта. При просмотре готовой флешки, можно не заметить косяки автоматической обтравки. Лучше проверить все изображения в режиме поочерёдного просмотра картинок в каком-нибудь вьювере, например, в ACDSee с включённым инструментом Threshold (цветочек в иконке).
Лучше всего для автоматизации поддаются одноцветные, тёмные и матовые объекты. Отсутствие одного из этих прилагательных увеличивает количество ручного труда.
Доброго времени суток. Еще вопрос возник — собрал вашу схему, не заработала. Как ее отладить ? Осциллограф есть, кое-какие познания в логике тоже, но что-то у меня не получается… Заранее спасибо.
Доброго здоровья Игорь!
Если схема собрана верно, то нечего в ней отлаживать не требуется, кроме номинала резистора R3, который зависит от свойств фотодиода. Требуется это для тог, чтобы обеспечить на выходе скважность равную двум. Если вы не совсем понимаете, как работает схема, то полистайте книжку «Популярные цифровые микросхемы», которую можно скачать отсюда>>>
Здравствуйте еще раз. Схема заработала. В полном объеме — все захватывает , сохраняет. Отлично. Спасибо. Есть еще вопрос — подскажите , как отключить в настройках программы Object2VR табличку, которая при открытии готового объекта расположена ниже самого объекта — там автор, дата, название и еще что-то. У вас в видеоролике эта табличка присутствует. А вот на вашем же сайте выложена машинка желтый Хаммер — на сайте этой таблички нет. Я не очень еще разбираюсь с этой программой, но чего только не отключал — все равно эта табличка присутствует. Заранее спасибо за ответ.
Здравствуйте Игорь!
Пришлось пересмотреть ролик, чтобы понять о чём Вы спрашиваете. Как Вы могли заметить, в директории расположения выходных файлов, программа Object2VR создаёт не только файл этого самого VR Object-а в формате SWF, но и ещё два файла HTML и JS. Эти файлы позволяют сформировать html страничку для просмотра и проверки работоспособности VR Object-а в браузере.
В принципе, можно разместить эту страничку вместе с имеющимся скриптом и флешкой в сети Интернет. Нужно только иметь в виду, что в html страничке прописаны относительные пути, и если Вы расположите флэшку и скрипт в директории, отличной от директории расположения файла html, то пути придётся изменить.
Таблицу, о которой Вы спрашиваете, можно удалить, отредактировав файл html в любом текстовом редакторе.
Однако флэшку можно разместить на сайте и с помощью любого подходящего плеера. Например, если Вы используете популярный движок CMS WordPress, то можно использовать плеер WP-SWFObject. В любом случае для демонстрация ролика необходимо, чтобы на клиентской машине был установлен Adobe Flash Player. В прошлом он был установлен не у всех. Но, сейчас, благодаря популярности Youtybe, он есть на любой машине.
Добрый день. Меня тоже сильно увлекла идея создания VR-изображений. Своими руками сделал поворотный стол, освещение и еще много чего, но столкнулся с проблемой. В связи с чем решил обратиться к Вам.
Качество снимков на выходе хорошее и результат склейки в Object2VR меня тоже устраивает, но кроме одного момента. Я не владею английским и осваивал программу методом тыка. Я не могу добиться от программы поворота объекта не только в одной плоскости (к примеру: в плеере вертикально расположенный телефон развернуть горизонтально).
Пример: megavisor.com/en/catalog
Я прекрасно понимаю, что этот пример не является объектом 360х180, как бы я его не переворачивал, нижнюю или верхнюю панель я не увижу. Интуиция подсказывает, что эта функция где то в загрузке фотографии, но я пробовал как увеличивать Rows, так и увеличивать States, ни каких изменений. У меня объекты однорядные и при увеличении любого из параметров, я подгружал тот же ряд что и изначально. То есть у меня нет снимков с измененным углом наклона. Может где то надо поставить галочку, или я вообще ошибаюсь и эта функция находится не там?
Подскажите, пожалуйста, как включить эту функцию поворота объекта в другой плоскости?
Добрый день Михаил!
Не совсем понял, что именно вы хотели сказать… Сразу два отрицания – слишком сложная конструкция. Но, ответить попробую.
Я перестал следить за развитием Object2VR, так как переключился с VR на видео для Youtube. Но, тогда, когда я использовал эту программу, в ней не была предусмотрена функция интерактивного вращения однорядного объекта в двух плоскостях. (Английский для освоения этой программы знать ни к чему, так как на сайте есть обучающие видео ролики. Если функцию добавили, то должны были выложить ролик.)
Но, вы можете создать дополнительную ось вращения и в Object2VR, вне зависимости от наличия дополнительных функций. Для этого достаточно создать дополнительные ряды из имеющегося единственного ряда. Сделать это проще всего в Photoshop c помощью инструмента Transform, вводя угловые величины цифровым способом (разделить 360° на количество кадров). Если записать для этой операции Action со сдвигом слоя, а потом вывести результат командой Export Layers to Files, то вы сможете создать все дополнительные изображения в автоматическом режиме. Но, единожды, конечно, это придётся сделать при записи Action-а.
А ваш семпл, судя по всему, сделан в более продвинутой программе, раз там присутствуют стереоскопические возможности.
приветствую Админ есть ли программа котороя конвертирует 3д объекты с формата swf в формат obj ? благодарю за ранте !
Привет Арон! Попробуйте Sothink SWF Decompiler. Они вообще много интересного софта делают на эту тему. Именно эту программу не юзал, но пользовался Sothink Video Encoder for Adobe Flash. В своё время была лучшей в этом плане, хотя и малоизвестной. Правда, поддержка у них хромает, если не покупать софтину. Табетка на рубоарде есть. Если нетрудно, отпишитесь, пожалуйста, по результату. А то может придётся и мне конвертировать что-то в HTML5.
Уважаемый admin!
Очень интересная установка! Особенно с учетом что она ведь годится и для съемки пакета фотографий для последующей обработки в программах конвертирования изображений в полноценную 3D-модель (типа программы 3D Som).
Хотелось бы или получить от Вас разрешение на републикацию Вашей статьи в своем журнале «Мир 3D / 3D World» (mir-3d-world.w.pw), или (что было бы еще лучше) пригласить Вас опубликовать там эту статью, возможно, с Вашими авторскими изменениями или дополнениями в приложении к обработке пакета фото для создания 3D -модели.
SCREW, разрешение на публикацию материалов блога и условия публикации обозначены в футере блога.
ОК, огромное спасибо.
В случае изменений в тексте (при редактировании) нужно ли с Вами согласовать полученный текст, или достаточно только ссылки на данный первоисточник (например, в виде: «По материалам …»)?
Screw, а чем текст не нравится? Если можете написать сами, так зачем вам мой текст? Логики не улавливаю.
Снял пробную серию объекта на неустойчивом столе. И соответственно кадры немного гуляют. Можно ли их как то стабилизировать, чтоб не было свистопляски?
Спасибо.
Георгий, я не видел ваших картинок, чтобы дать точный, однозначный ответ. ответ. Так что, ответ будет общим.
Вы можете загрузить картинки в Photoshop командой «File > Scripts > Load Files into Stack». Тогда вы получите файл, где каждый слой будет соответствовать одной из картинок в последовательности. Затем нужно оставить видимыми два картинки снизу, причём у верхней сделать Opacity 50%. Нажав букву V, курсорными клавишами выставить картинку на нужное место. Вернуть Opacity на место и перейти вверх на следующий слой. Повторить процедуру нужно будет для каждой картинки. Если это дело в Action записать и вывести на хоткей, что телодвижений будет поменьше.
Ещё можно попытать счастья и при запуске скрипта, выбрать опцию «Attempt to Automatically Align Source Images», но я мало верю, что картинки выровняются на автомате, так как границы объекта меняются скорее всего вместе с бэкграундом. Но, если даже часть подравняется, то будет неплохо.
А вот если у вас объект крутится, а бэкграунд неподвижный, или если есть хоть какая-та общая неподвижная точка, принадлежащая каждому изображению, то процесс выравнивания можно очень легко автоматизировать во многих программах, начиная от Premiere и After Effects и кончая PTgui. Правда, тогда и вручную, по описанной выше технологии, будет выровнять совсем просто.
Спасибо огромное за развёрнутый ответ. Снимал туфель и поспешил всё изолировать на белом. Ф/шопу естественно не хватило опорных точек для выравнивания, в результате получал фантастические картинки с перекошенным туфлем.
А Вы были правы можно в слоях вручную подгонять позиции объекта, муторно но реально выполнимо. Во многом именно благодаря Вам заинтересовался VR.
Спасибо.