Вход в систему

Логин:
Пароль:
Вход Зарегистрироваться Вспомнить   пароль
Информация на данной странице предоставлена нашим информационным партнером Игромания.ру

Автор: Алексей "Старпом" Макаренков

24 часа в сутки вопросы по созданию, модифицированию и вскрытию игр принимаются на адрес gamedev@igromania.ru

• • •

Я несколько раз встречал странное название “ragdoll”. Я так понимаю, оно как-то связано с моделированием. Это движковый термин или он откуда-то из области игрового моделирования? Как сделать регдол самому?

Конкретно термин ragdoll используется компанией Valve применительно к движку Source. Суть технологии довольно проста. Персонаж разбивается на некоторое количество сегментов-моделей, движение каждой из которых описывается по собственному алгоритму. Движения персов после смертельного ранения не заскриптованы, а просчитываются в реальном времени.

За счет этого достигается плавность и реалистичность падения. Персонажи “валятся” на землю каждый раз по-новому. Для придания дополнительной реалистичности Valve встроили в свой движок дополнительную систему ограничения движения конечностей в основных суставах.

Вспомните UT2004 — там, по сути, работает та же система просчета гибели персонажей. Никаких скриптов, реальное время и очень симпатичные умирания героев. Но при падении тела в последнем UT выглядят как мешки с песком. Выгибаются и отскакивают самым неожиданным образом. Рука какого-нибудь робота может выгнуться назад в локтевом суставе, нога — вращаться в колене. Красиво, но нереалистично. За счет блокирования движений в суставах по некоторым осям Valve добились большей реалистичности.

О том, как самому сделать перса с системой ragdoll, например, для HL2 — в рамках ответа рассказать невозможно. Это материал минимум на 2—3 страницы.

Ragdoll обеспечивает реалистичность движений персонажей в HL2.

Технология независимого просчета отдельных элементов модели может быть использована даже при анимации отдельных элементов головы персонажа.

• • •

Во многих играх часто используются шейдеры, вы сами об этом постоянно пишете. Объясните простому геймеру, как их увидеть. Например, я знаю, что в HL2 есть шейдеры, но сколько ни смотрел, так и не нашел их.

Использование шейдеров при моделировании авто.

Удивительно, но игростроевский ящик буквально завален вопросами, касающимися шейдеров. Все стремятся их непременно увидеть, для чего тщательно рассматривают картинку на экране мониторов, которую транслирует игровой движок. Товарищи, раз и навсегда вносим ясность. Причем на пальцах, так что, товарищи продвинутые разработчики игр, не серчайте.

Шейдеры — это не деталь изображения на экране монитора. Шейдеры  — это программы, созданные либо для обработки вершин полигонов (так называемые вершинные шейдеры), либо для работы с текстурами (так называемые пиксельные шейдеры). Шейдеры пишутся на специальном языке низкоуровневого программирования, позволяющем отдавать команды напрямую графической карте. Тем самым снимается нагрузка с процессора. Причем не какой-то маленький процент от общего числа расчетов, а довольно большой “кусок”.

Демонстрация второй версии

шейдеров в 3D Mark.

В результате процессор занимается более важными задачами, а новейший 3D-акселератор работает с тем, с чем и должен работать, — с графикой. Если чуть углубиться в вопрос, то важно отметить, что вершинные шейдеры выполняются на этапе пререндеринга сцены, выводимой на экран, и теоретически могут эмулироваться программно (центральным процессором). На практике же это весьма ресурсоемко и проще использование шейдеров отключить вовсе, чем заставлять ЦПУ просчитывать такие объемы информации.

Пиксельные же шейдеры выполняются на последних этапах обработки сцены и могут быть реализованы в сцене только на аппаратном уровне. То есть без акселератора их никак не увидишь, да и с ним увидишь, только если конкретный аксель поддерживает конкретную версию шейдеров.

Если кратко, то выглядит именно так. Дальше можно расписывать детально, какие виды вершинных и пиксельных шейдеров бывают, но это уже тема для отдельной статьи. Главное, теперь вы знаете, что шейдер — это не какой-то конкретный графический эффект, а всего лишь “кусок кода”, который управляет графической картой компьютера. И проявляться на экране шейдеры могут в виде самых различных графических эффектов.

Вопрос месяца

Меня интересует музыка из игры NFS Underground. Мне она очень нравится, но я не знаю, как извлечь ее из игры, она сохранена в нестандартном формате.

Думаю, не откроем Америки, если скажем, что в NFS Underground представлена музыка на любой вкус. Причем в списке исполнителей фигурируют широко известные фамилии. Если вы относитесь к их почитателям или просто любите хорошую музыку, вам не обойтись без программки NFS Underground Music Extractor (переписывайте ее с нашего диска).

Пользоваться ею довольно просто. Сначала скопируйте файл STRM_Music_UG0_MB.ast из папки \<Каталог игры>\SNDSTREAMS в директорию, куда вы установили утилиту. Теперь в каталоге с программой наберите в командной строке следующее сочетание: nfsu_music.exe -1. В результате здесь же появятся все музыкальные композиции игры в виде файлов формата wav. Понятное дело, что все они могут быть воспроизведены в любом музыкальном проигрывателе. Наслаждайтесь прослушиванием этих великолепных треков. И не забудьте добавить их в свою музыкальную коллекцию.

Если же вы хотите кататься по ночному городу под любимую музыку или ваши уши устали от оригинального саундтрека, вам на помощь придет утилита NFS Underground Music Importer (также наличествует на нашем диске). Первым делом отыщите музыкальные файлы, которые вы хотели бы вставить в игру. Если они записаны в формате asf, работы у вас будет поменьше (в этом случае можете сразу переходить к следующему этапу добавления в игру музыки, начинающегося с запуска файла NFSU Music Importer.exe). Если же они представлены wav- или mp3-файлами, тоже не беда: правда, тогда нужно будет их сначала перекодировать в asf-формат. Для этого запустите файл MCO Music Importer.exe, поставляющийся с программой и лежащий в zip-архиве. По сути дела, это отдельная утилита для конвертирования музыкальных файлов в формат asf, включенная в состав Music Importer. Возможно, она пригодится вам и при “вскрытии” других игр, использующих для хранения композиций этот же тип файлов.

В программном окне введите в поле Convert File путь файла, который вы хотите перекодировать в asf-формат. В ячейке Output Folder вы можете задать папку, куда будет помещен файл после конвертирования (в случае, если поле оставить пустым, новый файл отправится в каталог, где располагается исходный вариант трека). В следующем поле — Song Name — задается название песни. Что же касается небольшой менюшки, расположенной внизу окна под заголовком Station Select, то в ней вы должны пометить галочкой пункт User. Еще чуть ниже находится регулятор исходной громкости музыки — рекомендую выставить на максимум. Заполнив все перечисленные поля, жмите на кнопку Import. Буквально через несколько секунд в указанной папке образуется asf-файл с нужной вам мелодией.

Далее запустите основной файл программы, носящий имя NFSU Music Importer.exe. В появившемся окне выберите в списке трек, который вы желаете заменить, нажмите на кнопку Import ASF Music Trek и укажите затем путь asf-файла с интересующей вас песней. Чтобы добавить в игру еще одну или даже несколько композиций, повторно проделайте описанные в этом абзаце действия. Когда все новые треки будут в игре, воспользуйтесь кнопкой Update Game Data.

После этого играть станет еще приятнее, ведь теперь вы получите возможность гонять под музыку любимых исполнителей. Причем, когда она вам поднадоест, вы сможете легко обновить саундтрек игры. Как вариант, можно использовать композиции из других игр — например, из предыдущих частей NFS.

Двери тут