В этой статье мы расскажем как создаются вентиляторы. Для этого нам потребуются всего 2 объекта (звук и сам вентилятор): ambient_generic
func_rotating
Мы решили не делать обычный вентилятор. Вместо него мы создадим пару ветровых мельниц, которые отличаются от вентилятора лишь внешне.
Итак, в итоге наши ветровые мельницы будут выглядеть так:
Для начала изготовим парочку вот таких вентиляторов. Т.к. наш объект вращается, то не забудем и про ORIGIN-браш, который поместим ровно в центр, между четырмя лопостями.
Теперь выделяем все 4 лопасти вместе с ORIGIN-брашем (как это показано на рисунке выше справа) и превращаем в объект func_rotating.
На рисунке ниже видно, как расположен ORIGIN-браш по отношению к лопостям вентилятора.
Т.к. лопасти наших мельниц вращаются вдоль горизонтальных осей X или Y (сейчас мы это определим), а не вдоль вертикальной оси Z, то в свойствах func_rotating, а именно во флагах, необходимо выставить или X Axis, или Y Axis.
Для определения оси, вдоль которой происходит вращение, ставим в редакторе вид сверху, тогда ось Y будет направлена вверх, а ось Х — горизонтально (см. рис. ниже).
Из рисунка видно, что ось вращения вентилятора, заданная ORIGIN-брашем, совпадает с осью X. Следовательно, во флагах необходимо отметить X Axis.
А вот какие флаги мы также отметили у каждого из двух вентиляторов:
Start On — для того, чтобы вентилятор автоматически начал крутиться в начале раунда.
Fan Pain — чтобы наносил повреждения игроку, дотронувшемуся до лопастей.
Все, что остается сделать, это добавить пару объектов ambient_generic. Мы могли бы указать звук вентилятора и в свойствах func_rotating (в них предусмотрена такая опция), однако нам так и не удалось заставить вентилятор работать со звуком. Поэтому мы решили просто вставить около мельниц по одному объекту ambient_generic (см. рис. ниже).
В свойствах объекта указываем путь к файлу со звуком вращающегося вентилятора.
Вот собственно и все. Две наши нехитрые мельницы готовы.