Найти в Дзене

Hammer Editor: Крепление prop-модели к NPC

С этой статьи начинаем цикл уроков по маппингу для игр на движке Source, а конкретно в Valve Hammer Editor.
Тема сегодняшней статьи: как прикрепить пропы к NPC и добавить новые кости моделям.
Обнаружение необходимой кости у npc к которой будет крепиться prop_dynamic
1. Открываем программу Half-Life Model Viewer v2.0
Оглавление

С этой статьи начинаем цикл уроков по маппингу для игр на движке Source, а конкретно в Valve Hammer Editor.

Тема сегодняшней статьи: как прикрепить пропы к NPC и добавить новые кости моделям.

Обнаружение необходимой кости у npc к которой будет крепиться prop_dynamic

1. Открываем программу Half-Life Model Viewer v2.0

2. Переходим File>Load model... выбираем нужную нам модель в папке "папка_с_игрой/hl2/models"

3. Переходим во вкладку Attachments и из списка слева выбираем необходимую кость, при выборе она будет отображаться в 3D-виде, её название это и есть имя_кости_npc, которое пригодится нам далее.

Добавление новой кости для npc (если не нашли нужной кости)

1. В той же вкладке Attachments в списке слева выбираем любую кость, а из списка справа выбираем кость которую хотим добавить (при выборе она будет отображаться в 3D-виде).

2. Меняем в строке QC String текст в первых кавычках на то как хотим чтобы называлась наша новая кость(это и будет имя_кости_npc), копируем всю строку.

Пример: $attachment "NovaiaKostb" "ValveBiped.Bip01_R_Knee" 2.72 -3.33 1.31 rotate 0 -80 -90

3. Запускаем программу StudioCompiler (Cannonfodder's Half-Life 2 Tools), жмём Configure и в строке Game Directory указываем путь к папке: "папка_с_игрой/hl2"

4. Выбираем Model Decompile, в строке Choose Model File указываем путь к модели которой необходимо добавить кость. В строке Choose Output Directory укажите путь куда будут сохранены исходники модели. Жмём Extract.

5. Переходим в папку куда сохранились исходники, находим файл формата .qc открываем его блокнотом и в самом конце вставляем ранее скопированную строку.

6. Возвращаемся в программу StudioCompiler, выбираем Compile Model и Compile Existing QC, в строке QC File указываем путь к .qc файлу (в который была вставлена новая срока). Жмём Compile.

Файл модели будет перезаписан и будет иметь новую кость.

Крепление prop_dynamic к npc

1. Добавляем на карту npc, даём ему имя, переходим во вкладку Model, ставим анимацию Idle1

2. Создаем prop_dynamic, даём ему имя, выбираем нужную модель (свойство World Model), свойство Collisions меняем на Not Solid (чтобы npc не застревал в пропе), в свойстве Parent выбираем имя нашего npc.

3. Размещаем данный проп на модели, в необходимом для нас месте.

4. Добавляем logic_relay, в Outputs создаём:

OnSpawn » имя_prop_dynamic » SetParentAttachmentMaintainOffset » имя_кости_npc » 2

Что означает, при спавне logic_relay обращается к prop_dynamic и "приваривает" его к нужной кости через 2 секунды; обязательно указать задержку в 2 секунды, иначе при смерти игрока и повторной загрузке карты могут быть проблемы с правильностью расположения prop_dynamic относительно npc; так же эти 2 секунды npc не должен двигаться.