В общем, вещь довольно-таки старая, но в первую очередь пригодится тем, кто считает, что моделировать в профессиональных программах - это ересь, а Hammer - всему голова.
Ну, а во вторую очередь тем, кому стандартный .dxf экспортёр ненавистен больше всего остального Hammer'a.
Оригинальная статья
здесь.
Propper - это модифицированная версия vbsp, которая создает модели, а не карты.
• Может создавать static, dynamic и physics пропы.
• Генерирует .qc и компилирует .smd файлы в готовую модель.
• Создаёт рабочую физическую модель.
• Автоматическая "конвертация" текстур. Преобразовывает "текстуры для карт" в "текстуры для моделей".
• Отличает "настоящие" текстуры от служебных.
• Использует группы сглаживаний Hammer'a, или назначает их автоматически.
• Возможность настройки пропов внутри Hammer'a.
• Поддержка дисплейсментов. Экспортирует любой созданный дисплейсмент (без модели столкновения).
• Поддержка скинов.
• Поддержка пользовательских "гибов".
• Поддержка
$keyvalues: кабели, частицы и т.д.
Скачать:
Propper 0.24
Propper 0.3 beta
Установка
Есть две версии
Propper'a: для Source 2006 и Source 2007/2009. Автор продублировал компилятор версии 2007/2009, "положив" его одновременно и в
sourcesdk\bin\source2007\bin, и в
sourcesdk\bin\orangebox\bin.
Распаковываем архив в папку
...\Steam\SteamApps\<аккаунт>.
Теперь нужно настроить Hammer. Заходим в Tools\Options,
добавляем в "Game Data Files" соответствующий .fgd:
sourcesdk\bin\ep1\bin\propper.fgd - source 2006
sourcesdk\bin\source2007\bin\propper.fgd - source 2007
sourcesdk\bin\orangebox\bin\propper.fgd - source 2009
ВАЖНО: propper.fgd должен быть в самом
низу списка, иначе возможны сообщения об ошибках.
Создание пропов
Создаём и текстурируем брашевую геометрию будущей модели. Добавляем на карту новую entity
propper_options.
Свойства propper_options:
Origin (X Y Z) - координаты
propper_options.
Model Name - путь и название модели. Путь соответствует
SourceMods\<мой мод>\models - для модов,
\SteamApps\<аккаунт>\half-life 2 episode two\ep2\models - для EP2, и т.д.
Важно, чтобы указанная папка была предварительно создана. Дописывать .mdl к моделям не нужно.
Material path - папка, где будут созданы текстуры (.vmt файлы). Путь соответствует
SourceMods\<мой мод>\materials - для модов,
\SteamApps\<аккаунт>\half-life 2 episode two\ep2\materials - для EP2, и т.д.
Важно, чтобы указанная папка была предварительно создана.
Scale - масштаб модели.
Surface property - материал поверхности модели.
Concave collisions - модель столкновения:
Yes/
No.
Produce collisions? - создать модель столкновения?
Smoothing mode - выбор способа присвоения групп сглаживания.
Source folder - папка, где будут созданы .qc и .smd файлы.
Важно, чтобы указанная папка была предварительно создана.
Smoothing threshold - если auto-smooth в
Smoothing mode активно, то грани, угол которых ниже выставленного значения, будут сглажены.
Snap to Hammer - привязка к сетке Hammer'a.
Welding threshold - параметр склеивания вершин. Полезен для оптимизации модели.
Model Origin - центр будущей модели.
Automatically compile - автоматическая компиляция модели.
Fix up materials - создаёт копии применённых материалов, и преобразует в материалы, которые могут использоваться на модели.
Don't warp displacement textures - в Hammer'е, при перемещении вершин дисплейсмента, текстура искажается. При активном Yes, текстура искажаться не будет.
Сохраняем файл. Нажимаем
F9 (либо
File\Run Map...), выбираем "экспертный режим" (кнопка
Expert...), нажимаем Edit
=> New
=> Name: Propper,
делаем как здесь (т.е. удаляем из "Compile/run commands" всё ненужное, если есть; New
=> Command: propper
=> Parameters: -game $gamedir $path\$file),
GO!
prop_physics
При добавлении на карту
propper_physics, Propper создаст физический проп (prop_physics).
Свойства propper_physics:
Origin (X Y Z) - координаты
propper_physics.
Health preset - прочность материала.
Health - "здоровье" пропа. 0 - неуничтожаемый проп. "-1" - использование значений из
Health preset.
Mass - масса в кг. Ввод 0 приведёт к автоматическому подсчёту массы.
Flammable - "горючая" модель или нет.
Ignite at half-health - модель загорается при 50%-ом ущербе (как, например, бочки в Half-life 2).
Ignite from explosions - модель загорается от взрывов рядом.
Explode damage - сколько наносит повреждения при взрыве.
Explode radius - радиус взрыва.
Gibs - материал "гибов", при разрушении модели.
Gib count - количество "гибов".
Gib skin - текстура "гибов".
Дополнительные entity
propper_skins - ентити скинов.
propper_attachments - добавляет аттачменты.
propper_cables - добавляет кабели\верёвки к динамичной модели.
propper_particles - добавляет систему частиц (только для версии 2007\2009).
propper_physgun_interactions - дополнительные настройки prop_physics.
propper_gibs - даёт возможность выбирать свои "гибы".
Дополнительная информация
• Можно использовать "визуальные группы" (visgroups) для скрытия брашей. Они игнорируются Propper'ом.
• func_detail'ы после компиляции будут "нетвёрдые". Использование других entity нежелательно.
• Для оптимизации модели столкновений, лучше превратить модель в func_detail, а затем построить вокруг неё простую модель столкновений из обычных брашей.
• При использовании текстур nodraw, sky, clip и т.д., удаляются поверхности, к которым они были применены. Таким способом можно оптимизировать модель.
• Hammer ограничивает построение модели своей крупной сеткой, поэтому можно создать большую модель, а затем задать масштаб в опциях модели.
• Propper перезаписывает файлы без предупреждений, поэтому будьте аккуратны.