Нет ничего проще, чем изготовление стекол :-) Вот как делаются разбиваемые стекла:
Создадим браш в виде стекла любых размеров (оптимальная толщина 2-4
юнита). Для текстурирования неплохо подходят стандартные картинки со
словом GLASS такие как: GLASSBRIGHT, GLASSBLUE1, GLASSGREEN. Мы воспользуемся последней: GLASSGREEN.
Вообще же для создания стекла можно использовать практически любую
текстуру (кроме специальных и воды, разумеется), так как объект
все-равно объект полупрозрачным, но текстуры со словом GLASS подходят
получше.
На картинке ниже вы можете видеть 3 стекла, созданные из разных
энтитей с различными параметрами: левое — разбиваемое, центральное и
правое — неразбиваемые.
Что же, мы сделали браш, теперь превратим его нажатием комбинации клавиш [Ctrl-T] в 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 — мгновенное разрушение от монтировки (используется в Half-Life)
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_32.zip [13Кб] — в архиве карта-пример в форматах BSP и RMF.