Добавление физических эффектов в Valve Hammer Editor


Мы не будем использовать BMOD, да и весь AMXX вообще. В общем смотрим

Метод вкратце

Импортируем нашу карту в Блендер, с помощью физического движка Bullet генерируем анимацию, компилируем модель и добавляем ее обратно на карту в виде энтити. Мы не будем использовать BMOD, да и весь AMXX в целом. В общем смотрим

Что нам понадобится?

  • Valve Hammer Editor – редактор карт очевидно;
  • BSP Viewer – понадобится для экспорта карты в 3ds;
  • Blender – прекрасный 3Д редактор со встроенным Bullet’ом;
  • rba2ba – скрипт на питоне, написанный чехом Jonatan Matejka. Потребуется для генерации скелета будущей модели ( Скачать: rba2ba.rar

  • Blender SMD Tools – для экспорта нашей работы в привычный SMD;
  • smdfix – исправляет названия текстур и UV карту в SMD ( Скачать: [attachment=9357] ).

Настройка нашей сцены в Valve Hammer Editor

Открываем карту в Хамере. Предположим, нам нужно добавить красивый эффект падения ящиков из-за сломанной опоры. Для этого рисуем башню из трех брашей с текстурами деревянных ящиков и пару дощечек под ней. Одна из опор лопается. У автора оригинальной статьи получилось вот так:

Добавление физических эффектов в Valve Hammer Editor

Компилируем нашу карту в bsp (советую установить параметр -subdivide 512) и открываем ее в BSP Viewer’е.

Добавление физических эффектов в Valve Hammer Editor

Жмем File -> Export -> 3DS File. Оставляем галку на Export Materials. Сохраняем 3ds файл. Если вы собрали карту вместе с текстурами (исключили wad файл), то жмем File -> Export -> Bitmaps. Параметры в опциях можно оставить без изменений. Если карта все же берет материалы из wad’а, то вам придется распаковать содержимое архива при помощи специальной для этого программой (подойдет Wally или GCFScape). Теперь, когда у вас 3ds со всеми bmp-текстурами, можно переходить к следующему шагу.

Моделирование в Blender

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

Установите и запустите редактор. Подключите плагины rba2ba и Blender SMD Tools (File -> User Preferences -> Addons и жмем на Install from File). Теперь импортируем наши ящики в Блендер. Жмем Fule -> Import -> 3D Studio (.3ds). Переходим в Bledner Game.

Добавление физических эффектов в Valve Hammer Editor

Выделяем любой ящик. Переходим к Physics в свойствах объекта (в правом меню последняя иконка).

Добавление физических эффектов в Valve Hammer Editor

Устанавливаем Physics Type: на Rigid Body, и Collision Bounds на Box (или Convex Hull если меш не имеет примитивной формы). Дополнительно можно установить массу (Mass) объекту. Тоже самое делаем и с другими ящиками.

Выделяем все ящики и вводим комбинацию клавиш Shift+Ctrl+Alt+C, выбираем Origin to Geometry.

Переходим снова в правое меню и на этот раз щелкаем по иконке World

Добавление физических эффектов в Valve Hammer Editor

Здесь мы можем изменить гравитацию (Gravity), FPS и физические шаги (Physics Steps). Удаляем дощечку под ящиками. Теперь нажимаем на P. Башня рассыпалась? Замечательно. Esc вернет вас обратно в режим редактирования. Если ящики будут проваливаться под землю, измените параметр Substeps или выделите поверхность на которую падают ящики и задайте соответствующий Collision Bounds.

Добавление физических эффектов в Valve Hammer Editor

Когда анимация физики будет вас устраивать, установим галку на Game -> Record Animation. Снова запускаем анимацию. Далее удаляем все объекты кроме ящиков. Выделяем оставшиеся коробки и жмем на пробел. В поле ввода набираем Rigid body anim to bone anim (это установленный скрипт нашего чешского друга и автора оригинала этой статьи).

Добавление физических эффектов в Valve Hammer Editor

После группируем меши комбинацией Сtrl+G. Теперь File -> Export -> Source Engine, Scene as configured. Пишет ошибку? Проверьте в свойствах сцены (правое меню, иконка с шаром и цилиндром) указан ли путь к директории для экспорта (Export Path). Не забудьте установить формат SMD.

Запускаем smdfix через батник или командную строку. Можете импортировать полученные смд (в привычном 3д редакторе) и проверить анимацию. Если вас все устраивает, то переходим к заключающим шагам.

Компиляция MDL

Создаем текстовый документ расширения .qc и записываем туда следующий код:
$cd "." // относительный Путь к ресурсам
$body "body" "out" // body - название меши в mdl, out - путь к smd меши
$sequence "idle" "anims/ArmatureAction" fps 50 // idle - название анимации в mdl,
// anims/ArmatureAction - путь к smd анимации,
// fps - частота кадров в анимации

Подробнее о qc скриптинге можно почитать вот тут

Компилируем наш qc код компилятором для HL (через studiomdl.exe). Возможно, может появиться ошибка при компиляции из-за ограничений в кол-ве кадров в анимации. В таком случае придется вернуться к Блендеру и понизить значение FPS в параметрах сцены.

Скачать компилятор: [attachment=9358]

Импорт анимации в Valve Hammer Editor

Теперь мы можем вернуться к Valve Hammer Editor\’у. Открываем нашу карту и заменяем старые статические браши ящиков на новую энтити класса “mdl_cycler” . Устанавливаем параметры sequence 1, framerate 1. Далее я не буду расписывать как добавлять триггеры и указывать их на энтити. Все это можно найти в многочисленных мануалах по Valve Hammer Editor. Для расчета времени продолжительности анимации можно воспользоваться формулой: время = кол-во кадров/fps, где кол-во кадров можно посмотреть в mdl-вьювере или открыв текстовым редактором smd анимации.
Добавление физических эффектов в Valve Hammer Editor

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

Источники

Первоисточник: Link
Авторский перевод сайта Next21.ru: Link


Комментарии:


Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Zombie-Mod.com — крупнейший игровой портал по Counter Strike