Як можна імітувати розбиваюче скло?


10

Мені потрібно зробити моделювання каменем, викинутим через скляне вікно. Як я можу це досягти?

Я маю на увазі, я думав над тим, щоб зробити 3D-модель з каменю та скла у 3D Studio Max 2012, розбити скло та експортувати обидві XNA 4.0 як .x-моделі. Потім в XNA роблять анімацію - пишу власний двигун фізики. Чи можливо так? Чи можна знищити скло в XNA після удару чи мені це потрібно зробити в 3DS Max? Під «руйнуванням скла» я маю на увазі відключення декількох раніше розбитих шматочків скла один від одного, оскільки залежно від швидкості запуску та ваги каменю та стійкості (твердості?) Скла (все визначено користувачем) шматочки відключаться від один одного по-різному.

Відповіді:


5

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


3

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


Привіт Натане (знову), ти працював над цим завданням після 2011 року? Чи можете ви дати ще підказки? Thx
karlphillip

@karlphillip Я працював над демонстрацією за допомогою PhysX Destruction , хоча особисто я робив лише рендеринг, а не будь-які матеріали з фізики в цьому проекті. Технологія PhysX працює, створюючи заздалегідь розбиті шматочки в інструменті DCC та замінюючи їх на нерозмиті сітки при пошкодженні.
Натан Рід

3

Складіть непорушене скло і розбиту панель. Коли ви зіткнетеся, вимкніть непорушену версію і починайте використовувати розбиту панель.

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

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



1

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

Я використовував bulledsharp (bulletsharp wrapper for c #) для фізичного двигуна, але важливо використовувати найсвіжіший, складений самим джерелом bulletharp з sourceforge svn, а також самими новими джерелами фізики кулі. Не той, який був попередньо складений .dll, доступний для завантаження з веб-сайтів. Попередньо складена версія була для мене занадто старою і не включала в себе ще деякі дорогоцінні функції. Я також дізнався, що для простих симуляцій, де вам не потрібна розширена графіка, краще використовувати старіший 3dsmax, тобто 2011 (не останній 2012 рік), щоб розробити модель тощо. Головним чином, тому що плагінів та експортерів більше. Більше того, справді корисно ознайомитись з навчальними посібниками у всіх доступних рамках (shardx, xna, xna4, slimdx, c ++ та інші).

Нарешті, мій підхід полягав у тому, щоб побудувати скляну стіну, використовуючи дійсно невеликі кубики. Звичайно, щоб зробити моделювання запуск, у вас повинна бути справді потужна машина. Якщо у вас щось менш потужне, ви можете використовувати більші кубики. Важливо скласти всі кубики, створені зі сплячої острівної держави. Тепер кожен твір має своє представлення у двох розмірних масивах поплавків. Цифра там вказує, яка міцність зв'язку між двома кубами. Коли камінь кидається і виявляється коллісій, сила обчислюється за кожним кубом у стіні (включаючи кам'яну масу та швидкість, масу куба та розмір та відстань від центру зіткнення) та віднімає з масиву по колу -подобний візерунок. Активні ті куби, які після віднімання мають нульову або меншу міцність з'єднання. Це змушує дитинчат рухатися.

Ось воно. Спасибі за вашу допомогу.

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