3D-панорама своїми руками

На цей раз ми зробимо інтерактивну 3D-панораму з нуля без реєстрації і смс. Для цього нам буде потрібно: звичайний фотоапарат, програма для склеювання знімків в панораму і трохи магії від three.js 😉

Фотографуємо

Для того, щоб зробити знімки для панорами, досить простого фотоапарата. Опукла лінза або ефект «риб'яче око» спростить надалі склейку фото в одну панораму, так як знадобиться менше знімків і, відповідно, похибка на стиках склеювання буде нижче. Також штатив і панорамний головка для фотоапарата спростять задачу склеювання знімків, так як вони значно підвищать точність зйомки. Все це бажані, але зовсім не обов'язкові умови.

Для початку ви можете почитати про те, як зробити якісну панораму, на сайті 1panorama.ru - багато поради допомогли мені не повторювати помилок початківців панорамістів. Розібравшись в теорії, беремо фотоапарат і йдемо в який нас цікавить місце - будь це міська площа або одна з ваших кімнат. Для зйомки панорами я вибрав похмуру погоду. Мій недорогий фотоапарат досить болісно переносить зміна яскравості, тому одні фотографії виходять світлими, інші - темними. Потім програма не може склеїти сусідні знімки, так як через перепади яскравості не може знайти спільних точок. Крім того, при виборі місця я намагався знайти таке, де на тлі неба були б різні об'єкти - верхівки дерев, верхні поверхи будинків і так далі. В цьому випадку при склеюванні панорами програмі завжди є за що зачепитися. Знайти на сусідніх кадрах одне і те ж дерево або будівля досить просто, а от склеїти кілька однаково сірих знімків неба в автоматичному режимі вже не завжди виходить - потрібно ручне втручання.

Отже, місце вибрано, похмура погода в наявність - можна приступати до зйомки. Я знімав смугами знизу вгору, повертаючись трохи навколо своєї осі при переході до наступної смузі. При цьому потрібно намагатися не крутити фотоапарат навколо себе, а самому крутитися навколо фотоапарата. Подбайте також про те, щоб кожен кадр перекривався з сусідніми відсотків на двадцять - так кадри простіше буде склеїти один з одним. Ось, що у мене вийшло в результаті:

3D-панорама своїми руками

Склеюємо фото в панораму

До цих пір я вживав слово «програма» для того інструменту, який склеїть всі наші фотографії. Подібних програм чимало - різного рівня і за різну вартість. Особисто я вибрав для себе Hugin - безкоштовний і потужний інструмент для створення панорам. Мені він сподобався ще й тим, що для створення панорами досить натиснути лише кілька кнопок, а про решту Hugin подбає сам (не дарма ж Хугін - «мислячий»).

Викачуємо, встановлюємо і запускаємо Hugin. Після цього натискаємо на кнопку «1. Завантажити знімки ... »і додаємо всі відзняті кадри в проект. Вийде така каша:

3D-панорама своїми руками

Для того, щоб отримати щось осмислене, натискаємо на кнопку «2. Вирівняти ... ». Запуститься асистент з пошуку схожих точок на знімках. Після цього Hugin знатиме, які фотографії перетинаються між собою. Чим більше фотографії перетинаються один з одним, тим простіше знайти однакові знімки - тому і важливо забезпечувати 20-процентне перекриття на етапі зйомки. А якщо знати всі суміжні фотографії, то склеїти їх - справа техніки.

Чекаємо виконання асистента (витрачається багато часу - залежить від кількості знімків, їх якості та іншого) і отримуємо на виході єдину картинку. Іноді вона виходить догори ногами. В цьому випадку можна перейти з закладки «Асистент» на закладку «Зрушення / Зсув» і лівої кнопки миші потягнути картинку вниз до нормальної орієнтації:

3D-панорама своїми руками

Вийшло досить непогано - все знімки зв'язалися в одну картинку практично без помилок. Для вивантаження в файл натискаємо на кнопку «3. Створити панораму ... », задаємо розмір і формат файлу:

3D-панорама своїми руками

3D-панорама своїми руками

Усуваємо таким чином всі нестиковки, заново створюємо панораму і переходимо до заключного етапу.

3D-панорама

Прийшов час зробити фінальний штрих - додати нашій панорамі інтерактивності. Для цього будемо використовувати чудову бібліотеку threejs. завдяки якій нам не доведеться винаходити свій велосипед. Беремо один з готових прикладів панорам (наприклад, ось і ось), додаємо події миші з цього прикладу - і вуаля! Панорама готова! Можна глянути, що у нас вийшло.

Підводячи підсумки, хочеться сказати, що вийшло далеко не ідеально: є проблеми з якістю, всюди дрібні нестиковки, зеніт і надир не налаштовані належним чином. Але перша версія була куди гірше. Тому робіть краще, робіть більше і діліться досвідом з іншими!

3D-панорама своїми руками

One thought on "3D-панорама своїми руками"

Розміщуйте створені вами панорами на Сферіка.рф і створюйте з них віртуальні інтерактивні 3D тури. Розміщуйте віртуальні тури на інтернет сайтах своїх клієнтів, знаходите клієнтів на Сферіка.рф і заробляйте на фотографії більше!