Разрушаемые стены
Один из элементов игры вызывающий у кого-то злость, у кого-то веселое недоумение - это разрушаемая стена из-за которой хлещет поток зараженных. Вы можете неоднократно стрелять в эту стену, поджигать ее но она не разрушается. Разбить ее могут только зомби. Согласитесь, эта фишка неплохо подстегивает игроков и добавляет драйва игре.
Как же сделать такую стену на своей карте? Это мы сейчас и разберем.
Для начала вспомним - как выглядит эта стена до и после разрушения в игре:

Отметим для себя составные элементы:

и начнем работу.
Создадим новую заготовку карты и построим там стену толщиной 16 юнитов с проемом равным 128х128 юнитов:

Заполните проем отдельным брашем и выровняйте текстуру на всех брашах стены, что бы скрыть местоположение проема:

Превратите браш в Entity-объект и выберите в выпадающем списке "func_breakable". Дайте элементу имя, поставьте тип материала - дерево и кто может разбить этот браш:

Убедитесь, что ни один флаг не установлен. Вы же не хотите, чтоб ваша стена разрушилось не вовремя просто от внешнего воздействия?
Вставьте в проект один элемент "prop_static" примените к нему модель "props_interiors / breakwall_interior.mdl", отключите тени (переведите параметр Disable Shadows в положение Yes) и расположите внутри разрушаемого браша.

Откройте броузер текстур и наберите в поле "фильтр" ключевое слово "break", из полученных текстур выберите "overlays/breakwall":

Возьмите инструмент "Decal". Наложите декаль на стену слева от нашего разрушаемого проема и выровняйте его по краю браша. Откройте окно свойств декали и задайте ей имя - breakwall_decal. Повторите этот шаг для правой части стены с текстурой декали "overlays/breakwall_mirror". Присвойте ей такое же имя как и левой декали. Вы получите такой вид:

Возвращаемся к нашему "func_breakable". Открываем вкладку "Outputs" и добавляем строчку:

Внимание! Обратите внимание, что строка с именами декалей заполнена жирным шрифтом. Это сигнализирует вам, что у вас несколько элементов имеют одинаковые имена и сработают они от одной команды.
Чтобы инфицированные и боты могли свободно проходить через разрушенную стену, необходимо проверить NAV-файл вашей карты. А конкретно, навигационную область в месте разрушенной стены. Для начала наведите прицел на вашу разрушаемую стену, откройте консоль и введите команду "ent_fire !picker break", это разрушит ее. Проверьте маркировку навигационной области лежащей через стену, при необходимости добавьте ее и привяжите к основной навигационной сетке.

Принцип построения файлов навигации рассматривается в этом уроке.
Как же сделать такую стену на своей карте? Это мы сейчас и разберем.
Для начала вспомним - как выглядит эта стена до и после разрушения в игре:

Отметим для себя составные элементы:

и начнем работу.
Создадим новую заготовку карты и построим там стену толщиной 16 юнитов с проемом равным 128х128 юнитов:

Заполните проем отдельным брашем и выровняйте текстуру на всех брашах стены, что бы скрыть местоположение проема:

Превратите браш в Entity-объект и выберите в выпадающем списке "func_breakable". Дайте элементу имя, поставьте тип материала - дерево и кто может разбить этот браш:

Убедитесь, что ни один флаг не установлен. Вы же не хотите, чтоб ваша стена разрушилось не вовремя просто от внешнего воздействия?
Вставьте в проект один элемент "prop_static" примените к нему модель "props_interiors / breakwall_interior.mdl", отключите тени (переведите параметр Disable Shadows в положение Yes) и расположите внутри разрушаемого браша.

Откройте броузер текстур и наберите в поле "фильтр" ключевое слово "break", из полученных текстур выберите "overlays/breakwall":

Возьмите инструмент "Decal". Наложите декаль на стену слева от нашего разрушаемого проема и выровняйте его по краю браша. Откройте окно свойств декали и задайте ей имя - breakwall_decal. Повторите этот шаг для правой части стены с текстурой декали "overlays/breakwall_mirror". Присвойте ей такое же имя как и левой декали. Вы получите такой вид:

Возвращаемся к нашему "func_breakable". Открываем вкладку "Outputs" и добавляем строчку:

Внимание! Обратите внимание, что строка с именами декалей заполнена жирным шрифтом. Это сигнализирует вам, что у вас несколько элементов имеют одинаковые имена и сработают они от одной команды.
Чтобы инфицированные и боты могли свободно проходить через разрушенную стену, необходимо проверить NAV-файл вашей карты. А конкретно, навигационную область в месте разрушенной стены. Для начала наведите прицел на вашу разрушаемую стену, откройте консоль и введите команду "ent_fire !picker break", это разрушит ее. Проверьте маркировку навигационной области лежащей через стену, при необходимости добавьте ее и привяжите к основной навигационной сетке.

Принцип построения файлов навигации рассматривается в этом уроке.
Комментариев 0