ПЕРЕНАСТРОЙКА В РЕАЛЬНОМ ВРЕМЕНИ СКЕЛЕТНЫХ ДАННЫХ ДЛЯ ПЕРСОНАЖА ИГРЫ

1. Система, содержащая:
схему для приема (304), в течение исполнения в реальном времени приложения, позиций конечных эффекторов аватара (j1, j11, j12, j17 или j18 по фиг.7), причем конечные эффекторы аватара (j1, j11, j12, j17, или j18 по фиг.7) установлены в позиции, которые вычисляются с использованием позиций конечных эффекторов пользователя (j1, j11, j12, j17 или j18 по фиг.6), причем позиции конечных эффекторов пользователя (j1, j11, j12, j17 или j18 по фиг.6) сформированы предварительно на основе изображения пользователя; и
схему для определения (590), в течение исполнения в реальном времени приложения, позиций сочленений (j2-j10 и j13-j16 по фиг.7) модели аватара, чтобы получать анатомически возможную позу для модели (702) аватара, при этом позиции сочленений (j2-j10 и j13-j16 фиг.7) модели аватара определяются исходя из, по меньшей мере, позиций конечных эффекторов аватара (j1, j11, j12, j17 или j18 по фиг.7).
2. Система по п.1, в которой схема для определения позиций сочленений модели аватара дополнительно содержит:
схему для определения ориентации конкретного сочленения модели аватара, чтобы, по меньшей мере, аппроксимировать ориентацию сочленения пользователя, причем ориентация сочленения пользователя получена исходя из данных, сформированных на основе изображения пользователя.
3. Система по п.1, дополнительно содержащая:
схему для формирования модели пользователя на основе изображения пользователя, при этом модель пользователя включает в себя позиции конечных эффекторов пользователя.
4. Система по п.1, дополнительно содержащая:
схему для формирования потока анимации, при этом поток анимации включает в себя позиции сочленений модели аватара и позиции конечных эффекторов; и
схему для посылки потока анимации на графический процессор.
5. Система по п.1, в которой схема для определения позиций сочленений модели аватара дополнительно содержит:
схему для определения того, что конкретное сочленение модели аватара не соотнесено с конкретным сочленением пользователя, причем конкретное сочленение модели аватара является не соотнесенным с конкретным сочленением пользователя, если данные не включают в себя информацию положения для этого конкретного сочленения пользователя; и
схему для установки позиции упомянутого конкретного сочленения модели аватара, чтобы аппроксимировать позицию по умолчанию.
6. Система по п.1, дополнительно содержащая:
схему для приема, в течение исполнения приложения, запроса модели аватара из приложения; и
схему для выбора, в течение исполнения приложения, модели аватара из библиотеки моделей.
7. Система по п.1, дополнительно содержащая:
схему для формирования взаимосвязи между конкретным сочленением пользователя и конкретным сочленением модели; и
схему для формирования внутренних соединений, которые связывают конечные эффекторы пользователя с сочленениями пользователя, чтобы соответствовать размеру модели аватара.
8. Система по п.1, дополнительно содержащая:
схему для отображения конечных эффекторов пользователя на модель аватара, которая имеет скелетную структуру другую, чем модель пользователя.
9. Система по п.1, дополнительно содержащая:
схему для формирования модели пользователя, которая включает в себя конечный эффектор пользователя; и
схему для определения, на основе модели пользователя, положения конечных эффекторов пользователя.
10. Система по п.1, в которой модель аватара включает в себя не соответствующую человеку модель аватара.
11. Система по п.1, дополнительно содержащая:
схему для приема информации, которая задает тип аватара, используемого приложением; и
схему для выбора, в течение исполнения приложения, модели аватара из библиотеки моделей аватаров на основании информации, которая задает тип аватара, используемого приложением.
12. Система по п.1, дополнительно содержащая:
схему для изменения размеров внутренних соединений, которые связывают конечные эффекторы пользователя с сочленениями, чтобы соответствовать размеру модели аватара.
13. Система по п.1, дополнительно содержащая схему для отображения конечных эффекторов пользователя на модель аватара, которая имеет скелетную структуру другую, чем модель пользователя.
14. Способ, содержащий:
исполнение видеоигры (304);
загрузку модели (570) аватара на основании информации, принятой из видеоигры, причем модель (700) аватара включает в себя конечный эффектор аватара (j1 по фиг.7) и множество сочленений аватара (j2-j10 и j13-j16 по фиг.7);
прием информации положения для конечного эффектора пользователя (j1 по фиг.6);
определение, в течение исполнения в реальном времени видеоигры, позиции конечного эффектора аватара (j1 по фиг.7), причем позиция конечного эффектора аватара (j1 по фиг.7) вычисляется с использованием информации положения для конечного эффектора пользователя (j1 по фиг.6);
прием второй информации положения для конечного эффектора пользователя (j1 по фиг.6);
обновление, в течение исполнения в реальном времени видеоигры, позиции конечного эффектора аватара (j1 по фиг.7) на вторую позицию, причем позиция конечного эффектора аватара (j1 по фиг.7) вычисляется с использованием второй информации положения для конечного эффектора пользователя (j1 по фиг.6); и
определение, в течение исполнения в реальном времени видеоигры, позиций сочленений аватара (j2-j10 и j13-j16 по фиг.7), чтобы получать анатомически возможную позу для модели (700) аватара, причем поза поддерживает обновленную позицию конечного эффектора аватара (j1 по фиг.7).
15. Способ по п.14, дополнительно содержащий:
установку ориентации конкретного сочленения модели, чтобы, по меньшей мере, аппроксимировать ориентацию сочленения пользователя, причем ориентация сочленения пользователя определяется на основе сформированной модели пользователя.