Учебник по Worldcraft
Спрайты, зоны, камеры и т.п.
На этом уроке я продолжу рассказывать о различных Entities.
Огонь
Допустим мы хотим сделать небольшой костёр. Для начала положим на землю несколько брашей с "деревянной текстурой". Чтоб они были круглые, надо справа выбрать cylinder.Это будут "дрова". Теперь заходим в Point-based Entities
и выбираем env_sprite. Ставим его на "дрова". Заходим в его Properties и ставим Render Mode - Additive, FX Amount - 225, Sprite Name - sprites\fire.spr. Размер спрайта
настраивается в Scale, оставим 1. Для большей реалистичности в середину огня можно вставить лампочку.
![](worldcraft/sprite.jpg)
Но огонь должен обжигать, т.е. снимать проценты здоровья. По-этому создаём небольшой браш, делаем Tie to Entity выбираем trigger_hurt и ставим Damage Type - SLOWBURN, этот объект будет невидимый:
![](worldcraft/hurt.jpg)
Зона покупки
По умолчанию покупать оружие можно вблизи точек старта игроков. Но если мы хотим сделать границы зоны болеечёткими или просто расширить зону, то надо использовать func_buyzone, созданый из браша (Tie to Entity). Зона будет невидимая, как воздух. Внутри её можно покупать оружие.
![](worldcraft/buyzone.jpg)
В свойстве Team надо указать команду, для которой создана зона. По умолчанию зона действует на обе команды.
Бомба
Место для бомбы делается двумя способами: В Entities выбирается info_bomb_target и ставится где надо. Поставим место для бомбы на контровской базе.
![](worldcraft/bomb.jpg)
У этого способа есть один недостаток. Никто точно не знает, где заканчивается зона для бомбы. Поэтому существует второй способ: делается браш (как для buyzone), только выбирается func_bomb_target, здесь границы чётко обозначены границами браша. Сделаем всю базу зоной для бомбы.
Стёкла и решётки
Стёкла и решётки создаются из брашей (solid-based entity). Сперва создаётся браш с размерами будущего стекла или решётки. Для стёкол используются текстуры, начинающиеся с glass, а для решёток с
{.
Создадим стеклянное окно с контровской базы на воду. Сначала надо прорезать дырку в стене. Создадим браш там, где должна быть дырка (для красоты стену можно сделать тоньше).
![](worldcraft/carve.jpg)
Теперь нажимаем на нём правой кнопкой и выбираем Carve. Теперь уменьшаем его толщину до толщины стекла и делаем Tie to Entity. Стекло будет разбивающимся, по-этому выбираем func_breakable. Для стёко Render Mode - Texture, FX Amount - где-то 100 (мутность стекла), Material Type выбираем Glass (это-же стекло), а Strength - это прочность стекла. Чем больше это число, тем больше выстрелов оно не разобъёться. Поставьте 20. Скопируйте это стекло к другому краю стены, чтоб получился "двойной стеклопакет" :)
Теперь создадим неразбивающуюся решётку. Создадим браш для решётки возле воды и поправим текстуры.
![](worldcraft/resheto.jpg)
Теперь сделаем Tie to Entity, выбираем func_wall, чтоб она не разбивалась. Теперь Render Mode - Solid, FX Amount - 225.
Камеры
По умолчанию при входе в игру показывается контровская база. Но можно сделать несколько просматриваемых мест. Для этого заходим в Entities и выбираем trigger_camera. Ставим её в точке, откуда игрок будет смотреть. В свойствах ставим Name - cam1 (имя камеры), Target - tar1 (имя цели), Hold time - 10 (время работы этой камеры в секундах). Теперь поставьте info_target из Entities в точке, куда будет смотреть камера. В свойствах Name - tar1. Теперь создадите вторую камеру (Name - cam2, Target - tar2, Hold time - 10) и вторую цель (Name - tar2). Поставьте первую камеру на теровскую базу, а вторую на контровскую.
Камеры можно использовать и во время игры. Создадим очень маленький браш:
![](worldcraft/button.jpg)
Превратим его в func_button, в свойствах Targetted object ставим cam2 и ставим эту кнопку на теровскую базу. Теперь при нажатии вблизи неё +use на монитор выведется вид с cam2 т.е. с контровской базы. Вместо func_button можно было использовать button_target, только она реагирует на выстрелы.