Ефективна скелетна анімація


11

Я дивлюся на прийняття скелетного формату анімації ( як запропоновано тут ) для гри RTS. Індивідуальне представлення кожної моделі на екрані буде невеликим, але їх буде багато!

У скелетній анімації, наприклад, файли MD5, кожна окрема вершина може бути приєднана до довільної кількості з'єднань.

Як можна ефективно підтримати це, роблячи інтерполяцію в GLSL? Або двигуни роблять анімацію на процесорі?

Або двигуни встановлюють довільні обмеження на максимальні з'єднання на вершину і викликають ноп-множення для тих з'єднань, які не використовують максимальну кількість?

Чи є ігри, які використовують скелетну анімацію в подібній для RTS обстановці, таким чином доводячи, що на інтегрованих відеокартах мені нема про що турбуватися, коли рухатись костом?


+1, Це гарне запитання. Мені завжди було цікаво, чи потрібно анімацію робити затіненою мовою чи на процесорі ...
Джеймс

Ігри RTS з використанням двигуна SAGE EA (C&C 3 та пізніші версії BFME) використовують скелетну анімацію, але там вершини пов'язані лише з однією кісткою (принаймні в BFME)
Барт ван Хекелом

Відповіді:


6

Обмеження кількості впливів на кістки є загальним, так. Ви можете або використовувати 0-вагові невикористані впливи, або мати цикл / механізм раннього запуску, щоб пропустити.

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

LODing скелетних персонажів майже такий самий, як LODing що-небудь інше, за винятком того, що ви, мабуть, захочете LOD впливати на кістки та скелет, а також сітку.

Наприклад, низький рівень деталізації може використовувати лише одну кістку з найвищим впливом на вершину (також відомий як "тверда шкурка").

Ви, мабуть, також обмежуєте кількість кісток у скелеті для низької моделі LOD.

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


Я сподівався, що хтось може сказати: "Ви дійсно не хочете, щоб кості для башточок були в РТС, якщо ваші шматки невеликі; розгляньте MD3, якщо замість цього пов'язана модель" або щось таке
Чи буде

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

2

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

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