В этой статье мы рассмотрим создание бьющихся и небьющихся стекол. Перед прочтением статьи ознакомьтесь со следующими энтити-объектами:
1. Бьющиеся стекла
Нет ничего проще, чем создание стекол :) Вот как создаются бьющиеся стекла:
Создайте браш в форме стекла любых размеров (оптимальная толщина 2-4 юнита). Для закрашивания хорошо подходят стандартные текстуры со словом GLASS такие как: GLASSBRIGHT, GLASSBLUE1, GLASSGREEN. Мы будем использовать последнюю, GLASSGREEN. Вообще-то для стекол можно использовать практически любую текстуру (кроме специальных и воды, разумеется), т.к. все-равно объект будет прозрачным, но текстуры со словом GLASS подойдут лучше.
На рисунке ниже Вы можете видеть три стекла, сделанные из разных энтитей с различными свойствами: левое — разбиваемое, центральное и правое — неразбиваемые.
Итак, Вы создали браш, теперь превратите его в func_breakable и выставьте следующие свойства:
Strength — 30 (прочность стекла. Чем больше значение, тем больше пуль необходимо выстрелить по стеклу, чтобы оно разбилось);
Material Type — Glass (материал, естественно, выбираем стекло);
Render Mode — Texture (этот режим делает объект прозрачным, также можно использовать Additive);
FX Amount — 40 (степень прозрачности. Чем ближе значение к 0, тем стекло прозрачнее и наоборот, чем ближе к 255, тем — непрозрачнее. При fx amount = 0 стекло будет полностью невидимым)
Бьющееся стекло готово! Мы же говорили, что это очень просто.
Для бьющихся стекол (объект func_breakable) дополнительно можно выставить следующие флаги:
Only Trigger — если отмечено, то стекло разобъется только от триггера (стеклу, т.е. объекту func_breakable надо дать имя и активировать триггером, чтобы оно разбилось);
Touch — если отмечено, то стекло разобъется от прикосновения игрока;
Pressure — если отмечено, то стекло разобъется от давления (игрок встал на стекло). Можно, например, использовать для создания ломающегося льда;
Instant Crowbar — мгновенное разрушение от монтировки (используется в HL)
2. Небьющиеся стекла
Небьющиеся стекла можно изготовить тремя способами:
a) изспользуем func_breakable
Material Type — Unbreakable Glass (материал: неразбиваемое стекло);
Render Mode — Texture;
FX Amount — 40
б) изспользуем func_breakable и флаг Only Trigger
Material Type — Glass;
Render Mode — Texture;
FX Amount — 40
Флаги:
Only Trigger — если установлен этот флаг, то игрок разбить стекло не сможет (ни ножом, ни оружием)
в) изспользуем func_wall
С func_wall еще проще, т.к. необходимо выставить только параметры отображения.
Render Mode — Texture или Additive;
FX Amount — 40 (степень прозрачности. Значения от 0 до 255)
А вот так выглядят стекла в игре. Как видите, визуальных различий между разбиваемыми и неразбиваемыми стеклами нет.
Как видите, вариантов много. Какой использовать? Да, любой. Хотя у func_wall выставлять меньше свойств.
glass.zip [13Кб] в архиве карта-пример в форматах BSP и RMF.
|