Як створити книгу з елементами доповненої реальності
Джерело: https://www.instructables.com/Augmented-Book-Prototype/
Last updated
Was this helpful?
Джерело: https://www.instructables.com/Augmented-Book-Prototype/
Last updated
Was this helpful?
Ця інструкція призначена для створення книги з елементами доповненої реальності з використанням Kinect 360 та проектора. Kinect відстежує положення книги за допомогою камери, тому ви можете переміщати її, і проекція буде слідувати за рухом книги. Ви можете, наприклад, спроектувати 3D-елементи, які відображатимуться в комплекті з тінями і зможуть обертатись та змінювати форму, колір, текстуру.
Ми завжди думали, що доповнена реальність є чудовою технологією, однак для її відтворення завжди потрібен додатковий пристрій. Ми хотіли спробувати використовувати його в поєднанні з проекційним картографуванням, щоб створити цілісний і магічний досвід.
Оскільки ми вирішили обрати великий формат (A3), ми хотіли застосувати японську техніку переплетіння сторінок. Існує кілька способів використання цієї техніки, і ми пояснюємо найпростішу, яка ідеально підходить для початківців. Вам не потрібні клеї або складні інструменти.
Друковані сторінки вашої книги
2 Обкладинки
Нитка (наприклад, вощена бавовняна або лляна нитка)
Олівець
Лінійка
Шило
Голка для палітурки
Ножиці
Затискачі
З цією технікою переплетіння сторінки зазвичай не відкриваються рівно. Для книги AR нам потрібно відкрити книгу відносно рівно, саме тому ми попередньо склали передню обкладинку та всі сторінки на відстані 2 см від краю.
Ви можете використовувати квадрат із геометричним набором або зробити позначки на відстані 2 см від краю за допомогою маленької металевої лінійки. Потім поглиблюйте складку, нахиляючи сторінку над лінійкою. Продовжуйте, щоб завершити складку, як показано на малюнку. Таким чином при перегортанні сторінка ляже якомога рівніше.
Продовжуйте робити це з передньої обкладинки та всіх внутрішніх сторінок, не задньої обкладинки, оскільки її не потрібно буде складати.
Підготуйте шаблон для виготовлення отворів, використовуючи папір такого самого розміру, як ваша книга. Позначте це на відстані 1,8 см від краю хребта. Ця відстань гнучка, але слід переконатися, що палітурка не буде заважати складці.
Складіть папір навпіл тричі. Продовжте, розгорнувши його, і позначивши 4 отвори, починаючи з верхньої складки, а потім стрибаючи по одній складці для кожного цілого, так що відстань між отворами до верхнього та нижнього краю буде меншою, ніж відстань між отворами.
Тримайте сторінки разом за допомогою затискачів, щоб отвори були в однаковому положенні. Щоб переконатися, що кліпси не залишають слідів на обкладинці, покладіть під них трохи залишків паперу.
Розмістіть шаблон на своїх сторінках, щоб використовувати його як орієнтир. Зробіть всі чотири отвори за допомогою шила.
Використовуйте одну нитку, наприклад, вощену бавовняну або лляну нитку. Не робіть вузол. Довжина нитки має бути приблизно в п’ять разів більшою висоту вашої книги.
Візьміть розділ своїх сторінок, щоб заховати нитку всередині, і почніть із другого отвору знизу. Залиште приблизно 10 см на кінці, щоб потім зав’язати вузол.
Прошийте книгу книгу і поверніться назад через ті самі отвори. Обережно натягніть нитку, щоб вона щільно прилягала до краю книги.
Продовжуйте до наступного отвору, обмотайте нитку навколо краю і назад. Перемістіться на останнє ціле, обмотайте нитку навколо кінця і назад через отвір. Потім оберніть його навколо верхнього краю і знову назад через отвір.
Тепер продовжуйте плести назад через отвори, обертаючи по краях, як це зробили вгорі, і нарешті повертайтеся до отвору, з якого ви почали. Досягнувши цієї точки, поверніть голку назад між сторінками, де знаходиться початок вашої нитки.
Обережно заправте обидві нитки, щоб переконатися, що вони щільно затягнуті. Потім зв’яжіть два кінці між собою в пару вузлів. Зріжте кінці і готово! (зображення 16-18)
Тепер коли книга закінчена, ми пояснимо частину проекту з доповненою реальністю.
Kinect 360
Проектор + кабелі
Кріплення проектора
Комп’ютер з екраном
Кабельні стяжки
Наш проект спирається на openFrameworks та різні доповнення від його спільноти. Вам потрібно буде ознайомитися з openFrameworks та кодуванням, оскільки процедура налаштування досить складна.
Спочатку потрібно завантажити та встановити openframeworks http://openframeworks.cc Потім завантажте змінені доповнення та приклад із наступної адреси: http://www.convivial.studio/arbook.zip Додайте змінений 'ofxFern' (це засновано на https://github.com/ofTheo/ofxFern (на основі http://cvlab.epfl.ch/software/ferns/index.php)) папку до вашої папки додатків openframeworks, а потім додайте папку ' reProj 'у вашу папку' apps / myApps '.
Вам також потрібно буде завантажити наступні аддони:
Після того, як ви додали всі необхідні доповнення до папки openframeworks, ви можете відкрити файл проекту в папці "reProj". Проект створений для Microsoft Visual Studio 2015, якщо у вас немає Windows, ви можете спробувати використати генератор проектів openFrameworks, вам потрібно буде включити всі наступні доповнення до вашого проекту
ofxOpenCv
ofxCv
ofxFern (modified)
ofxUI
ofxKinect
ofxAssimpModelLoader
ofxXmlSettings
Для того, щоб ідентифікувати та відстежувати ваші сторінки, вам потрібно буде перетворити їх у маркери.
У вашій папці даних ви можете знайти шаблони виробників.
Вам потрібно буде створити .bmp-зображення (640px 480px), сфотографувавши маркер, який ви хочете використовувати. Якщо ви називаєте своє зображення model.bmp, вам потрібно створити текстовий файл із назвою model.bmp.roi. Наступним кроком є редагування цього текстового файлу з 4 кутовими пікселями вашої області інтересу (ROI), такими як:
0 0
320 0
320 640
0 640
Після запуску програми буде згенеровано два файли:
model.bmp.detector_data
model.bmp.marker_data
Створення файлів займе кілька хвилин, і, можливо, вам доведеться спробувати різні картинки та протестувати різні зображення / об'єкти-маркери.
Вам потрібно буде визначити, скільки маркерів ви використовуєте в ofApp.h на рядку
#define PAGES 3
Ми рекомендуємо не використовувати більше 5 різних маркерів з бібліотекою AR.
Важливо, щоб проектор був встановлений порівняно високо. Наприклад, ви можете використати кріплення до стелі або сконструювати саморобне рішення, щоб закріпити проектор.
Кінект, прикріплений до проектора. Примітка: Кінект не повинен знаходитися занадто далеко від відстежуваного об'єкта, оскільки він не буде відстежувати об'єкт, якщо він занадто далеко. Цей параметр може зробити калібрування складним, і вам, можливо, доведеться спробувати різні установки вашого простору.
Спочатку вам потрібно буде ввести роздільну здатність екрана в коді, відредагувавши App.h
#define FIRST_SCREEN_W 1920
#define FIRST_SCREEN_H 1080
#define PROJ_W 1280
#define PROJ_H 800
Потім вам потрібно буде скомпілювати додаток і виконати цю процедуру:
Повторно відрегулюйте положення проектора та кінекту, поки не отримаєте хороший результат калібрування.
Як тільки все буде налаштовано, створіть свої матеріали у openFrameworks і прив’яжіть їх до своїх маркерів.