Ryzhkov 3D Models

Termit 2.0 P.1 | Cameramatch

Починаю працювати над новим великим (для мене особисто) проєктом. Це наземний дрон (НРК) Termit 2.0. Складність проєкту полягатиме не в 3д моделюванні, як такому, а в тому, щоб спробувати зробити 3д друковану модель з рухомими частинами. Але про все по порядку....


Першим, і дуже важливим, етапом є створення базового мешу. Звісно, ніяких креслень немає, є лише обмежена кількість фотографій цієї версії дрона. Тому моделювати треба виключно по фотографіям з використанням техніки cameramatch. Суть полягає в тому, щоб виставити (відкалібрувати) камери по наявних фотографіям і починати моделювати з виду з камер, тобто у перспективній проекції.

Для цього я підібрав фотографії з різних ракурсів. Якість деяких фото покращив за допомогою Gemini. Це досить корисно, бо працюваи з розмити фото низької роздільної здатності незручно та неефективно. Публіку тут всі ці фото. На жаль, джерела фотографій не зберіг, вибачте за це. Але більшість фото брав з офіційних сторінок компанії Tencore,а також багато гарних детальних зображень можна побачити в інтерв'ю наМілітарному.

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

Для розстановки камер по фотографіям існує (якщо витягти її через портал у минуле) древня программа Image Modeler 2009. Програма зараз мертва, але аналогії її досі немає. Основна фішка цієї програми, що воно здатна розтавити і відкалібрувати камери по фотографіям, коли ше немає жодної геометрії в 3Д. З мінусів - програми страшенно глючить і працює нестабільно. Я зробив 2-3 спроби і зазнав поразки - програма просто видавала помилку калібровки і всі локатори були червоними. Тому я її закрив і скористався іншими інструментами.

Терміт, по суті має форму коробки. І це дуже добре для робити за аддоном для Perspective Plotter add-on for Blender, що є аналогом програми fSpy. Цим інструментом можна користуватися, коли на фотографіях є рівні та паралельні горизонтальні (та опціонально - вертикальні) лінії. НРК Терміт як раз складається саме з таких ліній / площин. Тож я можу в аддоні спокійно позначити ці лінії по осям X та Y. Вертикальні лінії по осі Z, не використовував.

Окрема класна штука в аддоні - це рефернса величина. Адже, коли ви визначили за допомогою ліній перспективне викривлення (визначили фокусну відстань об'єктава, на який було зроблено фото) залишається невідомим параметр "Відстань до об'єкта". У Perspective Plotter є дві опції: або виставит відстань до об'єкта вручну, або задати референсу довжину. Цією величиною в моєму випадку є габарити дрона, які я знайшов на сайті виробника. Я вказую ширину дрона (1,29м) як референсу довжину, вказую по якій осі буде рахуватися ця величина і розтягую блакитний відрізок від краю до краю дрона. Цей блакитний відрізок є довжиною 1,29м.

А це означає, якщо я тепер можу створити площину шириною 1,29, поставити її у відповідне місце, щоб ширина/довжина площини відповідала фото. Це буде початковою точкою створення моєї моделі. Але тут є певний нюас, що нам потрібно визначити положення цієї площини. І на цьому моменті я поки не знаю як правильно робити, тому роблю швидко власним способом :) Просто рухаю площину, поки вона не буде відповідати фотографії. Тут головне змінювати розміри площини.

Проблема полягає в тому, що коли я налаштовую інші камери, то їхні фотографії не будуть співпадати з цією площиною. Тут два шляхи: або параметрами аддона спробувати налаштувати положення та відстань камери (вручну не можна камеру рухати, бо всі зміни злітаються, коли ви повертається до Perspective Plotter), або як зробив спосіб-"милиці", який полягає в тому, що я просто дублюю наявну геометрію через Alt+D Alt+D (instance) і змінюю положення дублікати так, щоб він відповідав ракурсу нової камери. Змінюю лише положення, а не геометрію та розміри. Таким чином в мене для кожної камери, є своя геометрія.

Такий підхід є для мене виправданим, бо Perspective Plotter це лише проміжний етап. Я за допомогою цього аддону створюю дуже базову геометрію, яка має містити в собі ключові точки дизайну дрона: загальній габарити, великі форми, які великі деталі. В моєму випадку це загальні риси коробок корпусу.

На цьому робота з Perspective Plotter звершена. Вирівнюю геометрію по центру та експортую в FBX, бо далі мені треба переключитися в Blender 4.0 для роботи із застарілим аддоном Camera PnPoint add-on. Урок по ньому є на ArtStation. В ньому я вже фінальна налаштовую камери із використанням тих же фотографій, що і у Plotter, а також можна буде без проблем додати і нові фото. Суть аддону полягає в тому, що він калібрує камери орієнтуючись на наявну геометрію. Я розставляю маркери по геометрії, і потім ті самі маркери поставлю на фотографії. Аддон створює камеру та розміщує її так, що геометрія співпадала з фотогарію. Тому тут вже не треба робити якісь додаткові маніпуляції з камерами, відстанями, референсними величинами чи положенням геометрії - аддон все робить автоматично.

Варто зауважити, що ця технологія передбачає що 3д об'єкт є точною копією об'єкта, що на фото. Як відомо, ідеалу в світі не існує, тому будуть деякі похибки калібровки камери, або похибки у самій моделі. Тут важливо дивитися, щоб не було сильно критичних помилок. Якщо є ДУЖЕ сильні не відповідності модель-фото, то варто перевірити коректність розміщення локаторів, або ж є критичні помилки у самій моделі. Наприклад, якщо модель має дуже сильну похибку по загальній ширині, то на всіх калібровках аддон не зможе "натягнути" модель на фото і завжди будуть сильні невідповідності саме по ширині. Але якщо у Плоттері зробили все правильно, то таких проблем не буде. Дрібні похибки калібровки все одно будуть, для мене це ОК.

Локатори/маркери треба розміщувати лише в тих місцях, які присутні на фото. Аддон трохи глючить, тому я роблю окрему сцену/файл під кожну камеру/фото. Та і звик вже так. Після того, як всі камери налаштував, я відкриваю свій основний Blender 5.0 та роблю Append цих камер в одну сцену. Зазвичай фонові фото для камер підтягуються автоматично.Також імпортую той базовий меш, по якому виставляв камери.

От тепер це вже фінальна сцена, в якій починаю робити базовий меш. Тепер я переключаюся між різними камерами та працюю з однією геометрією, без будь-яких дублікатів. Особливість цього методу моделювання полягає в тому, що інколи важко визначити положення/розмір об'єкта. Наприклад, колеса - це завжди головний біль. Тут шукаєш компроміс між положення та діаметром котка, бо точних даних ні по першому, ні по другому параметру я не маю. Єдине що мені допомогло, це гусля, бо є одна фотографія чітко ззаду, яка дозволила визначити ширину та положення гусениці. І далі вже відносно гуслі я моделив котки.

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

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


Інші пости по проєкту A/MH-6J MH-6J 3D model project
Магазин 3Д моделей
Мій Дискорд-сервер Ryzhkov Art