Який був би хороший фільтр для створення "магнітних деформаторів" з карти глибини?


10

У своєму проекті я створюю систему деформування високодетальної сітки (одягу), щоб вона «підходила» до опуклої сітки. Для цього я використовую карти глибини предмета і «корпусу», щоб визначити, в якій точці світового простору відбувається відхилення і ступінь.

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

Я хотів би замість цього створити з карти відхилення глибини набір простих «деформаторів», які будуть «штовхати» * всі вершини деформованої сітки назовні (у світовому просторі). Таким чином, всі функції сітки зберігаються і немає необхідності мати складну евристику для викреслення невідповідних вершин.

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

Чи може хтось запропонувати відповідний фільтр або алгоритм для генерації деформаторів? Або кажучи про інший спосіб «стиснення» карти глибини?

(* Поштовх, тому що його прилягання до опуклого "булькатого" гуманоїда, тому перетворення, ймовірно, будуть "сферичними" від ПОВ поверхні.)

Редагувати: Ось правильно запропоноване зображення / діаграма, що ілюструє те, що я намагаюся досягти.

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

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

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

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

введіть тут опис зображення


Не могли б ви вставити малюнок або малюнок ефекту, якого ви хочете досягти? Легше було б зрозуміти вашу проблему.
витер

Відправивши коментар, зроблений нижче, малюнок або малюнок може допомогти дуже багато. Існує багато способів імітувати, як одяг обгортає частини тіла, і, можливо, ваша ідея «деформаторів» є лише одним із декількох, які могли застосувати.
sam hocevar

що не так з переміщенням всієї форми?
Ali1S232

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

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

Відповіді:


2

У вас є карта глибини, на яку я припускаю, що це просто відстань між опуклою сіткою A і нейтральною деформованою сіткою B, і у вас є поверхневі нормали сітки A.

Те, що вам не вистачає, - ваги (або групування) того, як кожна вершина на сітці B впливає на своїх сусідів. Наприклад, коли центральна верша переміщується, вона також повинна перетягувати сусідні верти на деяку кількість (відсоток), якщо вони в одній групі.

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

Очевидно, що відбувається певне змішування та об'єднання цінностей. Як сказав @Gajoo, "що не так з переміщенням всієї форми?"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.