Описание:
Турели на всех самолетах сводятся на случайное расстояние на линии визирования вместо того чтобы сводится на расстояние до ближайшего к линии визирования врага. Это делает невозможным убийство врага ближе и дальше этой точки, хотя враг спокойно убивает тебя с 1.5 км.
Картинка ниже наглядно показывает проблему:
Вот как должно быть:
Алгоритм решения проблемы придуманный за одну минуту:
- Ищем ближайшую цель к линии визирования.
LOS (line of sight) - нормализованный вектор линии визирования.
target - вектор на цель.
trg.Proj(LOS) - векторная проекция target на LOS.
Проходимся по списку целей (противников), делаем скалярную проекцию target на LOS. Если результат > 0 (значит мы смотрим на цель) и результат < 3 км. (для оптимизации). то умножаем результат на LOS (получаем trg.Proj(LOS)). Затем вычитаем проекцию из target получая reject вектора и узнаем его квадратную длину (чтобы избежать извлечения квадратного корня). Сравниваем ее с длиной до предыдущей цели и если новая длина меньше прошлой сохраняем ее и trg.Proj(LOS). - Если цель была найдена, задаем в качестве точки сведения турелей trg.Proj(LOS) сложив ее с текущей позицией игрока для перевода в глобальные координаты.
- Применяем алгоритм ко всем самолетам с турелями в игре.
Самолеты в которых проблема наиболее заметна:
- BV-238 при стрельбе назад.
- B-29 при стрельбе в сторону.
- Ту-4 при стрельбе в сторону.
- Р.108 (все варианты) при стрельбе назад.
- H8K2 при стрельбе назад и в сторону или при стрельбе в сторону и немного вперед.
- H6K4 при стрельбе назад и в сторону или при стрельбе в сторону и немного вперед.
- Линкольн при стрельбе назад и в сторону или при стрельбе вперед и в сторону.
- «Ланкастер» (все варианты) при стрельбе назад и в сторону или при стрельбе вперед и в сторону.
- «Стирлинг» (все варианты) при стрельбе назад и в сторону или при стрельбе вперед и в сторону.
- «Галифакс» при стрельбе назад и в сторону.
- Веллингтон (все варианты) при стрельбе вбок.
- Сандерленд (все варианты) при стрельбе назад и в сторону или при стрельбе вперед и в сторону.
- Ме 410 (все варианты) при стрельбе прямо назад. Действует скорее как увеличение горизонтального разброса на расстоянии.
- He 177 при стрельбе в сторону.
- Б-17 (все варианты) при стрельбе в сторону.
- B-25 (все варианты, включая PBJ) при стрельбе в сторону.
- Каталина (все варианты) при стрельбе в сторону и немного вперед.
Ссылка на репорт 5 летней давности откуда взята большая часть информации