Кастомный VRAD, исправление освещения в HL2: Update
Там очень много убогих случаев когда лампа дневного света на стене якобы светит с разбросом 45-60 градусов, чётким кругом света, и не прямо перед собой а скажем вниз на 45 градусов или даже вертикально вниз.
Ещё хуже когда солнце в помещениях фейкается спотом или даже обычным лайтом, чтобы видимо по-быстрому создать комфортную атмосферу.
Предполагается что лайт, спот и проп вблизи друг друга связаны по смыслу, поэтому создаются списки энтитей которые затем фильтруются так чтобы у пропа был либо просто лайт либо просто спот. Спот потом выравнивается по направлению пропа.
В общем-то работает, по крайней мере явных несуразностей не бросается в глаза. Хотя у меня тоже встречаются люминисцентные лампы на стене которые светят вниз, но это простительно для кода который не ориентируется (пока?) по именам пропов, а применяет один алгоритм на всех. Выкладываю чтобы создать привычку показывать свои работы.
Вложение: vrad release 4.7z (452.2 кб)
Этот файл был скачан 708 раз.
Поменял алгоритм, теперь заранее составляется три таблички для пропов изображающих лампы разного типа, и поэтому спот может стать лайтом или двойным спотом с разными углами если рядом с ним располагается лампа накаливания или лампа дневного света соответственно.
Вальвовское освещение выглядит странно.
Да и я думал, вдруг будет какой-то вау-эффект в результате.
Ну и практика кодинга. Ради геймплея это не так интересно, а вот ради графона поприкольнее.
Дядя Миша Ну ты глянь самую первую картинку: лампа дневного света которая по своей природе должна иметь внешний угол распространения градусов 200-250, изображена спотом у которого внешний конус в 2-3 раза меньше. Как ты такое затуханием исправишь? В тоннелях они натыкали лайтов на ровном месте (толи чтобы темноты не было толи у них якобы кислота светится), в канализации в каждом отверстии наружу - у них поставлен спот светящий вертикально вниз, толи чтобы сэмитировать адаптицию зрения, толи для красоты просто.
Т.е. дизайн помещений и расстановка пропов-лампочек диктовали некие рамки того каким получится освещение на локации, но Валв видимо не хотели от этого зависеть. В большинстве случаев, видимо, локации получались для них слишком тёмными. Но они не стали, там, менять квадратичное затухание на линейное, а просто втыкали спот в каждый угол который казался им слишком тёмным. Ну и в результате получилось такое пресное, унылое освещение.
Я делал как раз чтобы обработать стандартные уровни и сделать такой своеобразный мод, больше ни для чего. Кто мапает под сорс, они уже пусть сразу правильно делают.
//relocpropang[i].x = -89; // 90 will be confused with fluors!
49
}
Добавлено 12-10-2020 в 01:35:
вот эта замута с ln<999 нужна чтобы for вообще работал. Я не могу указать там 2 параметра или вставить TestSignSIMD в условие.
Добавлено 12-10-2020 в 01:38:
Кстати если указать define LOL = 0 а потом проверить if( LOL ) то тоже пошлёт, нужна именно проверка на цифру. Но если значение не 0 то проблем не возникает.