Реквизитор (Propper)
You can help by updating the translation.
Also, please make sure the article tries to comply with the alternate languages guide.Propper это изменённая версия VBSP , которая компилирует ваш VMF-файл в MDL-формат модели , вместо BSP-файла .
Множество мапперов хотят создавать модели для своих карт, но не хотят(не хватает времени) изучать отдельные пакеты для моделирования. Этот инструмент позволяет очень просто создавать модели реквизита прямо в редакторе карт Hammer. Он будет также полезен создателям моделей, которые работают с создателями карт. Propper оставляет текстуры такими, какими Вы их наложили в редакторе и автоматически генерирует габариты столкновений .
Tools > Propper
(или Ctrl+⇧ Shift+P), полностью заменяющий эту утилиту. Он преобразует геометрию элементов Hammer без потери качества геометрии непосредственно через BSP.Особенности
- Позволяет создавать модели для статичного , динамического или физического реквизита.
- Генерирует .QC-файл и автоматически компилирует модель для использования в вашей игре.
- Генерирует рабочие физические сети.
- Автоматически конвертирует материалы - превращает текстуры карты в правильные текстуры моделей.
- Разпознаёт реальные текстуры и служебные текстуры ( триггеров и т.п.).
- Поддерживает группы сглаживания Hammer и автосглаживание.
- Позволяет настраивать некоторые свойства поверхности, использования и геометрии резвизита, непосредственно в редакторе Hammer.
- Поддержка деформированных поверхностей — обрабатывает деформированные поверхности (конечная модель нематериальная).
- Поддержка обложек — использование нескольких текстур на одной модели .
- Настраиваемая поддержка обломков (gib).
- Поддержка $keyvalues : кабели, частицы и взаимодействие с гравипушкой.
- Поддержка LOD
- Поддержка bodygroup
Загрузка
- Propper бета версия 0.31 доступна на moddb здесь. (Последняя версия, созданная автором)
- Предыдущая версия 0.24 доступна здесь.
- Версия Propper для Source SDK Base 2013 доступна здесь. (Переделка стороннего разработчика)
- Версию Propper для Team Fortress 2 можно найти тут.
Отказ от отвественности
Программа весьма успешна в сообществе картостроителей. Базируется на vbsp, который все знают и доверяют, чтобы комп не взорвал. Используйте на свой риск. Никакой ответственности за урон компьютеру автор не несет.
Инструкции по использованию
Установка
Здесь представлены две версии Propper. Одна из них предназначена для SDK версии 2006, а другая работает с 2007 и 2009 версиями. Файл .fgd (Forge Game Data) есть в обеих версиях, он поможет вам настроить ваши пропы.
Папки в данном архиве соответствуют папкам SDK. Следовательно, для успешной установки вы должны распаковать файл в папку steamapps\<ваш_акканут>.
После установки, вы должны немного изменить свою игровую конфигурацию. Запустите Hammer, предварительно изменив игру и версию движка на те, которые вам нужны для работы с Propper. Когда Hammer запустится, в верхнем меню проследуйте в Tools > Options.
Найдите поле "Game Data Files", и нажмите кнопку "Add". Откройте файл propper.fgd( он должен быть там, если вы всё правильно установили). Теперь жмите OK или Apply для сохранения настроек. Наконец, перезапустите Hammer, что бы настройки вступили в силу.
Создание объекта
Для использования Propper, скопируйте нужную геометрию (всё, что составляет вашу модель) и вставьте это в новый, пустой .vmf-файл (File > New). Здесь есть три объекта. Первый, propper_options, нужен для того, что бы ваш объект нормально компилировался.
Поместите одну такую на вашу карту (которая, напомню, должна состоять ТОЛЬКО из брашей, из которых планируется создать модель) и загляните в её настройки:
Name | Имя, которое используется для обращения к этой объекту другими объектами (для Propper'а этот пункт не важен) |
Origin (X Y Z) | Позиция объекта в мире. Вращающиеся объекты обычно вращаются вокруг своей оси. |
Model Name | Пути (к конечной модели) и название конечной модели. Относительно пути <ваш_мод>/models модель будет создана здесь, внутри папки "models" выбранной вами модицикации или игры. Указывать расширение .mdl не нужно. |
Material path | Это путь к текстурам модели. Пример пути: <ваш_мод>/materials. ВАЖНО: убедитесь в том, что указанная директория существует, перед тем как запустить компиляцию! Propper распакует материалы (т.е. текстуры) из вашей модификации или игрового кэша и создаст их копии в указанной в этом поле папке. |
Scale | Изменение размера модели. |
Surface property | Физические свойства модели — звуки столкновений и вес объекта. |
Concave collisions | Используется для создания модели столкновений внутренних пространств объекта. Если вы выберите "no", то модель будет "запакована", т.е. если ваша модель представляет квадрат с пустотой внутри, то эта пустота будет игнорироваться и через неё не сможет никто и ничто пройти. Иначе — все внутренние пустоты станут невидимыми полигонами этой модели (вольный перевод — поправьте, если я ошибаюсь). |
Produce collisions? | Выбор "Yes" будет означать, что объект материален, т.е. сквозь него нельзя пройти. |
Smoothing mode | Определяет, как вершины нормалей вычислены для освещения. |
Source folder | Место, где вы хотите сохранить ваши .qc и .smd файлы. Финальная дерриктория будет иметь вид <ваша_папка>/<имя_модели>. Опять таки — убедитесь, что указанная папка существует! Вы можете указать любое место на вашем HDD. |
Smoothing threshold | Если auto-smooth включён, то края, более плоские чем этот угол, будут казаться гладкими. От 0 до 180. |
Snap to Hammer | Заставляет каждый вертекс привязаться к ближайшему узлу сетки (поправьте, если я ошибаюсь). |
Welding threshold | Вертексы будут соеденены, если находятся в данный пределах (попровьте, если я ошибаюсь). Значение 0 (ноль) не рекомендуется, т.к. могут появиться разрывы. Большее число объединит вертексы вместе, что может быть полезным для оптимизации вашей модели. |
Model Origin | The model's origin point defines how it is lit and is how the prop is positioned in a map. Auto-center puts the model's origin at the center of its bounding box and is recommended for physics props. For static props, put the origin somewhere that lets you align the prop easily. |
Automatically compile | По умолчанию, Propper запустит studiomdl для компиляции вашего объекта. Вы можете отключить это, если хотите использовать Propper как .smd-экспортер. Или вы можете добавить опции к .qc файлу прежде, чем скомпилируете объект. |
Fix up materials | По умолчанию, Propper делает копии всех материалов, использованых в модели, и переконвертирует их в понятный моделям вид. Вы можете отключить эту опцию. |
Disable normal mapping | Удаляет бамп-мапы из конвертированных материалов. Это в случае, если вы используете -StaticPropLighting для освещения вашего объекта. |
Don't warp displacement textures | В Hammer-е, если вы переместите вершину дисплейсмента, то текстура так же сместится. Если вы выберите "yes", то текстуры не сместятся. |
Пример настройки пути: This user was building a brick archway model called "arch" for a map for submission during the TF2 Artpass competition. В entity propper_options используются следующие параметры настройки:
- Model Name: artpass/arch
- Material path: models/artpass/arch
- Source folder: C:/propsource
Запуск Propper: Запуск Propper полностью аналогично созданию карт, только вместо карт с помощью vbsp, только вы будете создавать объект и превращать его в модель. Укажите текущую директорию игры и ваш vmf файл.
propper.exe -game $gamedir $path\$file
Propper скомпилирует модель автоматически, если вы не отключите эту функцию.
Использование Propper возможно только с помощью Hammer Editor. Нажмите Run и создайте новую конфигурацию в списке, а после запустите Propper нажатием клавиши F9 вместо запуска vbsp.
Теперь для вас должен быть готов новый объект! При замене существующей модели, возможно, придется перезапустить Hammer, чтобы увидеть изменения.
Дополнительные опции
Есть также объекты propper_physics. Если вы поставите этот объект в вашей карте, Propper создаст физический объект. Смотрите Prop data для документации по-следующему.
Name | Имя, по которому другие объекты ссылаются на этот объект (не используется propper) |
Origin (X Y Z) | Положение центра этого объекта в мире. Вращающиеся объекты обычно вращаются вокруг их происхождения (не используется propper) |
Health preset | Диктует насколько силён объект против различных видов оружия. |
Health | Параметр здоровья объекта. Установите значение 0, чтобы сделать предмет бессмертным (например, как обычная бочка в HL2). Значение: -1 будет использовать значение по умолчанию из "пресета здоровья" (рекомендуется). |
Mass | Масса объекта в килограммах. Установите нулевое значение или ниже, чтобы автоматически рассчитать массу объекта. |
Flammable | Будет ли возможность сжечь предмет? Эта функция добавляет возможность «воспламенения» вашему объекту. |
Ignite at half-health | Так же, как те взрывные бочки в HL2. |
Ignite from explosions | Объект невозможно будет уничтожить сразу, но если что-то взорвётся рядом с ним, то он воспламениться. |
Explode damage | Будет ли объект наносить повреждения (урон) при взрыве? |
Explode radius | Радиус взрыва |
Gibs | Стандартные остатки, которые возрождаются при уничтожении объекта |
Gib count | Количество частей тела модели при уничтожении объекта? |
Gib skin | Какой скин использовать на моделях остатков, если применимо |
Нововведения в новой версии 0.22 — это propper_skins. Propper может создать альтернативные графические оболочки, заменив текстуру. Если у вас есть несколько текстур на модели, которые вы хотите изменить, то вы можете использовать этот объект более одного раза.
Name | Наименование объекта, благодоря которому другие объекты будут относится к этому объекту. Это не используется, но будет в будущем. |
Material | Выберите текстуру, которая присутствует в исходной модели. Эта текстура будет использована как скин модели и будет пронумерована под цифрой 0. |
Skin(1-14) | Эта текстура заменит оригинал, когда вы выбираете скин модели под нужным вам номером. (например, skin 1, skin 2, skin 3 ... skin 14, и т.д.) |
Новые объекты в версии Propper 0.23
- propper_attachments: добавление точек крепления к модели (для кабелей и частиц)
- propper_cables: добавление верёвок/кабелей к динамическим моделям!
- propper_particles: приложить излучатели частиц к динамическим моделям (только для 2007 движка и позднее)
- propper_physgun_interactions: добавление собственного поведения физическим объектам, например прилепить к стенам, размазывание краски, протыкание врагов
- propper_gibs: подобор собственной физической модели для использования обломков при разрушении объекта
FAQ
Использует ли Propper заготовки (prefabs)?
Propper не содержит каких-либо заготовок (prefabs). Создавать их вы должны самостоятельно, для этого используйте инструменты создания объектов, найдя propper_options в списке объектов.
My prop's collisions are wrong. It's solid where it shouldn't be.
There are some cases where two brushes get combined into one big collision piece. Try to avoid making brushes overlap and it should not be a problem.
I made a large building into a model and the lighting is not as good as a brush model. What gives?
Models in Source use rather simple vertex lighting, whereas brushes get radiosity lightmaps. What that means in simple terms is your map gets nice soft shadows and bounced light, but props don't. Buildings just look better when they're made from brushes.
In some cases, you can get better lighting on your props by enabling per-vertex lighting when you compile your map. In the command line of vrad , include -StaticPropLighting to enable that feature. Models that use normal mapping aren't compatible with per-vertex lighting, so use the "Disable normal maping" option when you use Propper.
Propper quits with an error saying it can't open such-and-such file.
Be sure that you have permission to write to that folder, that it's not write-protected, and that you have entered a valid folder.
Why would I want to make a prop anyway?
It's also not uncommon for mappers to run into the brush/face/plane limits for a very large or detailed map. Props let you add detail to your map without pushing this limit. If a feature is used several times in a map, making it a prop will reduce the size of the .bsp and the system memory needed to run the map.
Models can be smaller and more precise than the stuff you make in Hammer. Plus there is the fun stuff Propper lets you do with physics models.
Hammer's a mapping tool! People who want to make models should learn a real modeling program like Blender or XSI.
I agree, but maybe they don't want to. For better or worse, people are more comfortable working with tools they know. Propper was originally meant to be a map optimization tool, but people have used it to make some very nice models.
Сообщения об ошибках
- Была найдена инстанция, в которой текстуры были некорректно применены и не на те стороны.
- Если используются материалы корне папки materials\, Propper попробует конвертировать материал для каждой стороны, на которой он используется.
- Версии 2007/2009 больше не создают папки, когда сохраняют исходный (*.smd и *.qc) файл.
- Когда propper_model x,y,z задана, они сбросятся к центральной точке когда модель будет сдвинута и/или сохранена, затем переоткрыта.
- Когда несколько моделей сделано из одного файла, первая и последняя модель будут покрыты текстурой, но модели в промежутке не будут иметь текстур.
Использование Propper с неровными поверхностями
- Если запустить инструмент на карте без каких-либо брашей (перемещения не учитываются), Propper просто на просто крашнется. Таким образом, если сделать модель исключительно от перемещений, поставьте стандартный (не смещаемый) браш в *.vmf файле. Это непонятная ошибка из vbsp и, к сожалению, этому ещё не найдено решение.
Подсказки/Предостережения
- Вы можете использовать visgroup'ы, что скрыть браши, тогда они будут игнорироваться Propper'ом.
- Если вы сделаете любой браш func_detail, они будут не твердыми в конечном предмете. Использование любого другого объекта, однако, тоже создает проблемы.
- Если вы используете определенные невидимые текстуры (например clip, nodraw, sky) на стороне, то она будет стерта. Вы можете понизить число полигонов конечной модели используя nodraw на тех сторонах, которые игрок не увидит.
- Хороший метод работы — сделайте вашу видимую модель func_detail, а затем сделать очень простую модель коллизии поверх нее из nodraw брашей.
- Hammer ограничивает вас по его одно-единичной сетке пока вы будете работать. Однако, вы можете сделать вашу модель большего размера — скажем, 16:1 — и затем указать Propper'у то, чтобы он изменил модель до корректного размера. Это должно позволить вам моделировать объекты, которые будут размером с 1/16 дюйма. (Вы также можете менять размер брашей в самом Hammer, как всегда.
- Не ставьте "materialpath" на ту же самую папку, как и у ваших текстур карты. Материалы модели могут переписать материалы карты! Лучше последовать традиции вставки модельных текстур в "models\".
- Propper перепишет файлы без предупреждения, так что убедитесь, что там нет файлов в ваших выбранных папках, которые вы не хотите потерять.
Left 4 Dead(2), Alien Swarm, и Portal 2
Propper на данный момент не работает с любым SDK новее чем SDK эры Orange Box. Если вы делаете карты для этих игр, вы можете попробовать следующее:
- Извлеките материалы (vmt и vtf файлы), которые вы хотите использовать из L4D с помощью GCFScape и отразите их в Orange Box игре, которая у вас есть (как например Episode 2, или Portal 2).
- Запустите Propper из Source SDK как обычно.
- Возьмите файлы, созданные Propper'ом и скопируйте их в вашу L4D папку.
Этот процесс не работает при использовании Propper с Alien Swarm.
Патчи исходного кода
Исходный код для Propper'а доступен в качестве патча в Valve'скому SDK коду. (Т.к. Propper — это взломанная версия vbsp.exe, я не хотел выпускать полный код — большая часть его принадлежит Valve).
Сначала, создайте новый мод через Source SDK (или через OrangeBox, или Ep1). Найдите проект для vbsp. Visual C++ Express 2008 может компилировать этот проект без проблем. Если вы выберете "Release" версию, вы создадите новый vbsp.exe.
Патч версии 0.24 доступен, если есть спрос!
Затем загрузите один из моих патч файлов:
http://crazycarl.hl2sm.com/files/vbsptopropper_b22_OB.patch для Orange box, или
http://crazycarl.hl2sm.com/files/vbsptopropper_b22_EP1.patch для EP1.
Или же воспользуйтесь ссылкой с сайта GitHub: https://github.com/tuxxi/propper-2013/releases
Следуйте этим инструкциям, чтобы настроить Tortoise SVN и применить патч, заменяя папку vbsp для игрового кода. Ваш исходный код vbsp теперь исходный код для Propper'а. Редактируйте и компилируйте по вашему желанию.
Counter-Strike: Global Offensive SDK
Propper может быть использован с SDK CS:GO. Процесс установки похож на любой для другой игры Source. Вам также потребуется установленный стандартный Source SDK!
- Извлеките папку материалов csgo и переместите её в SteamApps\common\Counter-Strike Global Offensive\
- Используйте инструкции выше, чтобы распаковать и переместить Propper в правильное место
- В меню Run Map, создайте новую конфигурацию и выберите "Executable", в то же время нажав на кнопку cmds
- Зайдите в либо sourcesdk\bin\source2009\bin, либо sourcesdk\bind\source2007\bin и выберите подходящий propper.exe
- Добавьте стандартные параметры
Если вы получаете ошибки при компиляции модели, и/или ваши конвертированные текстуры имеют неправильный размер и т.д.:
WARNING: *** Encountered VTF file with an invalid minor version! WARNING: *** Encountered VTF file with an invalid full header!
Затем используйте ep1 propper.exe, звучит странно, но это работает. Это может идти от текстуры, которая была конвертирована с новой версией VTFEdit.
Внешние ресурсы
Руководства PROPPER (на русском языке)
Project-S
- DOWNLOAD LINKS (Ссылки на скачивание)
- installation and configuration (Установка и настройка)
- Propper_Model
- Propper_LOD
- Propper_Physics
- Propper_Skins
- Propper_Gibs
- Prooper_Attachment + Propper_Cabels
- Prooper_interactions
Видео от TopHattwaffle:
Некоторые учебные материалы для обучения работе с Propper.