Свой автомобиль в Арме (Освещение)

В этой статье я напишу как делается освещение для автомобилей.

Селекшены:

В цифровых ЛОДах (включая view cargo, view pilot)

  • brzdove svetlo — стоп-сигналы
  • daylights — дневные ходовые огни. Включаются автоматически при заводке двигателя (этот селекшн нельзя использовать с другими, т.е. например если присвоить этот селекшн стрелкам скорости\оборотов на панели приборов — то стрелка двигаться не будет)
  • reverse_light — как следует из названия — задний ход
  • zadni svetlo — только габариты задние и передние, включается при нажатии кнопки «L» (по умолчанию)
  • light_l, light_r — два отдельных селекшена который включает в себя прокси «VolumeLightCar» и полигоны «левой и правой горящих передних фар», которые «излучают» ближний свет. (строка «selection=» в config.cpp)

LOD Memory

  • light_l, light_r — начальные точки для левой и правой фар, от куда идет «излучение» света (строка «position=» в config.cpp)
  • light_l_end, light_r_end — направление света (строка «direction=» в config.cpp)
  • light_l_flare, light_r_flare — точки, которые будут давать эффект «ослепления» если смотреть прямо на свет. По умолчанию такого параметра не существует в конфиге, и эта точка берется из «light_l, light_r», но это не удобно т.к. эффект «засвета» должен находиться у самого стекла фары, а если так же близко придвинуть свет — то он может освещать переднюю часть машины. Ниже вставлю кусок кода для использования этой точки отдельно.

LOD HitPoints

  • light_l, light_r — всего по одной точке на каждую фару, чтобы она имела свойство повреждаться

 

Теперь разъясню как делаются фары в Арме:

Как во многих других игровых движках, в Арме фары не умеют просто «загораться» и светить, т.е. у одного объекта два состояния. В Арме два объекта со своими свойствами, и при определенном условии один из них просто «прячется». То есть, чтобы сделать горящие фары на машине, у нас должны быть эти самые фары в выключенном состоянии, и точно такие же, но с материалами, которые дают им эффект свечения. Селекшенами мы хайдим и анхайдим (hide, unhide) определенные фары в определенных условиях (например здавая назад должен анхайдиться селекшн «reverse_light»). Когда анхайдится какой либо селекшн фары — не горящая никуда не исчезает, поэтому надо горящие делать всегда «поверх» не горящей, чтобы они не перекрывали друг друга.

на скрине сверху вид сбоку на полигоны фары. Выделенный селекшн — то что будет «гореть», а за ним находится такая же фара, но без материала

Материалы для фар находятся по пути «A3\data_f\lights», в некоотрых есть приставка _emit на конце — это означает что в материале есть параметр «свечения», материал без приставки тоже будет светиться, но днем этого совсем не будет видно.

 

Все это дает только визуальный эффект «горения фар», но самого света это все не излучает.

Свет излучают точки в ЛОДе memory «light_l\light_l_end, light_r\light_r_end», которые завязаны с конфигом. От туда и берутся настройки излучаемого света. Как правило, в Арме свет излучают только передние фары, на всем остальном просто наложены светящиеся материалы, но это и не к чему, это же не ГТА)

 

Есть еще такая штука как «VolumeLightCar». Это прокси, которая тоже лежит по пути «\A3\Data_F\VolumeLightCar» — она делает свет как бы «объемным», т.е. благодаря этому треугольнику мы будем видеть свет сбоку, иначе, в полной темноте, мы увидим его лишь на земле, и объектах, куда он падает. VolumeLightCar должен быть так же привязан к «light_l и light_r».

VolumeLightCar в действии:

 

Перейдем к конфигу:

Основной конфиг можно посмотреть здесь

А вот так выглядит тот самый эффект засвечивания (flare)

C левой стороны flare включен, с правой — его нету (если смотреть НА машину)



3 thoughts on “Свой автомобиль в Арме (Освещение)

  1. Привет, есть ли в арме возможность сделать так чтобы лампочка днем светилась как в других играх, а не просто чуть ярче остальных текстур. я сделал маячок на авто крутящийся, но днем видно только что яркий отражатель крутится.

  2. cerroc, я находил похожие по смыслу параметры в базовых классах, но кажется, игра все равно будет отключать свет в определенное время

  3. Подскажите скрипт на поворотники народ.

Добавить комментарий

Имя *
E-mail *
Сайт