Propper:ru

From Valve Developer Community
Jump to: navigation, search
English (en)русский (ru)
... Icon-Important.png


Вступление

Propper это изменённая версия vbsp, которая компилирует ваш vmf в формат mdl, вместо bsp.

Множество мапперов хотят создавать для своих карт пропы, но не не хотят(не хватает времени) изучать отдельные пакеты для моделирования. Этот инструмент позволяет очень просто создавать пропы прямо в редакторе уровней Hammer. Он будет также полезен для моделлеров, которые работают с мапперами. Propper оставляет текстуры такими, какими вы их наложили в редакторе и автоматически генерирует физ. меши.

Особенности

  • Может создавать статичные, динамичные и физические пропы.
  • Генерирует .qc файл и автоматически компилирует проп для использования в вашей игре.
  • Генерирует рабочие физические меши.
  • Автоматическое конвертирование материалов -- превращение текстур карты в правильные модельные текстуры.
  • Разпознаёт реальные текстуры и "инструментные" текстуры (текстуры триггеров и т.п.).
  • Поддерживает группы сглаживания( smoothing groups) Hammer-а и автосглаживание( autosmooth).
  • Настройка вашего пропа прямо в Hammer-е.
  • Поддержка дисплейсментов — выводит любые поверхности с дисплейсментами (not solid).
  • Поддержка скинов — использование нескольких текстур на одном пропе.
  • Настраиваемая поддержка гибов (gib — обломки).
  • Поддержка $keyvalues: кабеля, частицы( particles) и взаимодействие с гравипушкой.
  • Поддержка LOD
  • Поддержка bodygroup

Скачать

Propper бета версия 0.31. Последняя актуальная версия. Скачать на moddb: [1]

Предыдущая версия Propper, версия .24, ознакомится можете здесь: [2]

Инструкции по использованию

Установка

Здесь представлены две версии Propper. Одна из них предназначена для SDK версии 2006, а другая работает с 2007 и 2009 версиями. Файл .fgd (Forge Game Data) есть в обеих версиях, он поможет вам настроить ваши пропы.

Папки в данном архиве соответствуют папкам SDK. Следовательно, для успешной установки вы должны распаковать файл в папку steamapps\<ваш_акканут>.

После установки, вы должны немного изменить свою игровую конфигурацию. Запустите Hammer, предварительно изменив игру и версию движка на те, которые вам нужны для работы с Propper. Когда Hammer запустится, в верхнем меню проследуйте в Tools > Options.

Hammerjc.jpg

Найдите поле "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 OriginThe 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.

Running propper.gif

Теперь для вас должен быть готов новый объект! При замене существующей модели, возможно, придется перезапустить 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Наименование объекта, благодоря которому другие entity будут относится к этому entity. Это не используется, но будет в будущем.
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 заготовки (префабы)?
Propper не содержит каких-либо заготовок (префабов). Создавать их вы должны самостоятельно, для этого используйте инструменты создания объектов, найдя propper_options в списке entity.

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. Если вы делаете карты для этих игр, вы можете попробовать следующее:

  1. Извлеките материалы (vmt и vtf файлы), которые вы хотите использовать из L4D с помощью GCFScape и отразите их в Orange Box игре, которая у вас есть (как например Episode 2, или Portal 2).
  2. Запустите Propper из Source SDK как обычно.
  3. Возьмите файлы, созданные 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!

  1. Извлеките папку материалов csgo и переместите её в SteamApps\common\Counter-Strike Global Offensive\
  2. Используйте инструкции выше, чтобы распаковать и переместить Propper в правильное место
  3. В меню Run Map, создайте новую конфигурацию и выберите "Executable", в то же время нажав на кнопку cmds
  4. Зайдите в либо sourcesdk\bin\source2009\bin, либо sourcesdk\bind\source2007\bin и выберите подходящий propper.exe
  5. Добавьте стандартные параметры

Если вы получаете ошибки при компиляции модели, и/или ваши конвертированные текстуры имеют неправильный размер и т.д.:

WARNING: *** Encountered VTF file with an invalid minor version!
WARNING: *** Encountered VTF file with an invalid full header!

Затем используйте ep1 propper.exe, звучит странно, но это работает. Это может идти от текстуры, которая была конвертирована с новой версией VTFEdit.

Disclaimer

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

Внешние ссылки

Tutorials about PROPPER (Russian)

Project-S

Видео от TopHattwaffle:

Некоторые учебные материалы были сделаны, чтобы обучить пользователей работе с Propper.