Перейти к содержимому

Как работает арт-прицел


Рекомендованные публикации

Игроки
4 567 публикаций
66 165 боёв

Я на Delphi не программирую, у меня его нет.  Поэтому исправить сам ничего не смогу.

 

Но, посмотрев текст, понял, что для преобразования цветового пространства RGB в HLS используется какая-то встроенная процедура, дающая значения, отличающиеся от значений стандартного цветового пространства HSV=HSL=HSB, в которых работают многие фоторедакторы, в том числе Adobe Рhotoshop CS5.

Для распознавания это неважно, но для совместимости с Adobe Рhotoshop CS5 и MS Paint пусть базовый оттенок распознавания задается  в RGB формате, а поля "толерантности" могут быть в любом формате, они всё равно подбираются экспериментально.

 

Тогда я смогу заменять цвета в маркере попадания.

05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

Ссылка на комментарий
Игроки
3 194 публикации
46 157 боёв

Какой именно цвет ты хочешь использовать для маркера? Почему не доволен сиреневым?

Сначала я пытался искать по условиям на интенсивность RGB, но при этом либо распознавался один пиксель маркера, либо здоровый кусок скриншота.

Вован предложил перевести в оттенок и подбирать условия для него. Тогда пошло веселее.

Ссылка на комментарий
Игроки
4 567 публикаций
66 165 боёв

Я обычно сомневаюсь, что первое приближение, в данном случае сиреневый цвет, является сразу же оптимумом.

Поэтому хочу иметь возможность его поменять при тестах.

Искать нужно по оттенку, я тут согласен.

Но если будет введено поле для изменения этих значений (190,35,35) и "толерантности", я не понимаю, как вместо 190 ввести свой оттенок, потому что Photoshop дает для сиреневой метки скриншотов оттенок не 190, а 292 градуса в формате HSB.

Поэтому и предлагаю брать оттенок из вводимого RGB кода, который везде одинаков.

 

Или дать конвертор из RGB формата в формат HLS, используемый в программе (искал в интернете, не нашел, нашел лишь для Андроида, дающий совпадение со значениями в Photoshop). Чтобы было понятно, чему равен произвольный RGB код в оттенках программы распознавания.

Изменено пользователем Galaxy_Plus
05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв
07 Май 2013 - 15:26 пользователь Galaxy_Plus сказал:

Я обычно сомневаюсь, что первое приближение, в данном случае сиреневый цвет, является сразу же оптимумом.

Поэтому хочу иметь возможность его поменять при тестах.

Искать нужно по оттенку, я тут согласен.

Но если будет введено поле для изменения этих значений (190,35,35) и "толерантности", я не понимаю, как вместо 190 ввести свой оттенок, потому что Photoshop дает для сиреневой метки скриншотов оттенок не 190, а 292 градуса в формате HSB.

Поэтому и предлагаю брать оттенок из вводимого RGB кода, который везде одинаков.

 

Или дать конвертор из RGB формата в формат HLS, используемый в программе (искал в интернете, не нашел, нашел лишь для Андроида, дающий совпадение со значениями в Photoshop). Чтобы было понятно, чему равен произвольный RGB код в оттенках программы распознавания.

Я в декалях использовал цвет 100%R + 100%B, то есть 300o по Фотошопу. Конвертор импользует максимальное значение для цвета - 240, так что получаем для фиолетового 300/360*240 = 200

Ссылка на комментарий
Игроки
3 194 публикации
46 157 боёв

190 это 2/3 от 285. Просто тут по-дурацки хью меряется от 0 до 240, а не до 360, как у нормальных людей.

Вот я сейчас открыл файл декали и глянул оттенок точки - он равен 300 (200 в Делфи)

На скриншоте нет ни одной точки с оттенком 300. Максимум - 281 (187 в Делфи)

Поэтому не особо важно, какой цвет ты нарисуешь в декали, важно, как его отобразит клиент на скриншоте. А это ты можешь выяснить, тыкнув по картинке в моей проге. Ну или посмотреть в Фотошопе-XnWiev и т.д.

Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв
07 Май 2013 - 15:50 пользователь Med433 сказал:

190 это 2/3 от 285. Просто тут по-дурацки хью меряется от 0 до 240, а не до 360, как у нормальных людей.

Вот я сейчас открыл файл декали и глянул оттенок точки - он равен 300 (200 в Делфи)

На скриншоте нет ни одной точки с оттенком 300. Максимум - 281 (187 в Делфи)

Поэтому не особо важно, какой цвет ты нарисуешь в декали, важно, как его отобразит клиент на скриншоте. А это ты можешь выяснить, тыкнув по картинке в моей проге. Ну или посмотреть в Фотошопе-XnWiev и т.д.

При желании можно по-быстрому свою функцию преобразования наваять, которая будет до 360гр считать

Ссылка на комментарий
Игроки
4 567 публикаций
66 165 боёв
07 Май 2013 - 15:50 пользователь Med433 сказал:

Просто тут по-дурацки хью меряется от 0 до 240, а не до 360, как у нормальных людей.

Так вот в чем дело! То есть, для конвертирования хью из фотошопа в формат программы его надо умножить на 240/360.

Тогда проблем нет, теперь я знаю, как ввести оттенок из фотошопа в программу.

Я смотрел в интернете картинки, и там сереневый оттенок никак не попадал на 190 :)

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-60918500-1367931628_thumb.jpg

 

07 Май 2013 - 15:50 пользователь Med433 сказал:

На скриншоте нет ни одной точки с оттенком 300.

Если быть точным, то в данном конкретном случае небольшие вкрапления есть по всему скрину shot_071. Это искажения от встроенного в WoT кривоватого jpg-конвертора.

Например, X=460 Y=908 H=327 S=28 B=13 или X=455 Y=909 H=340

Но, если пользоваться для скриншотов fraps в bmp, то этих искажений не будет. Кстати, возможно так лучше и делать.

hls_map2.jpg

Изменено пользователем Galaxy_Plus
05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

Ссылка на комментарий
Игроки
3 194 публикации
46 157 боёв
07 Май 2013 - 16:00 пользователь vovan_tankist сказал:

При желании можно по-быстрому свою функцию преобразования наваять, которая будет до 360гр считать

07 Май 2013 - 16:00 пользователь Galaxy_Plus сказал:

Тогда проблем нет, теперь я знаю, как ввести оттенок из фотошопа в программу.

Вы пока будете программу отлаживать, разрабы алгоритм поменяют. Вон на тесте разброс у GW Panter подняли до 0.7  :facepalm:

Я думаю, всё работает сносно. Просто замутите скрипт. Или лучше подскажите мне, какой подойдет.

Ссылка на комментарий
Игроки
4 567 публикаций
66 165 боёв
07 Май 2013 - 16:31 пользователь Med433 сказал:

Вы пока будете программу отлаживать, разрабы алгоритм поменяют. Вон на тесте разброс у GW Panter подняли до 0.7  :facepalm:

Так это же отлично! Для тестов.  :teethhappy:

Донт пэник! Что возможно - сделаем. Для начала действительно всё работает сносно. По  крайней мере, теперь можно сделать невозможное без твоей программы.

А смена алгоритма рассеяния попаданий разработчиками нам не страшна - отрабатываемые сейчас методики измерения рассеяния к их алгоритмам не привязаны, они будут работать с любым алгоритмом.

05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

Ссылка на комментарий
Игроки
3 194 публикации
46 157 боёв

Я просто хочу, чтобы вы сами успели убедиться, что там *** полная в разбросе.

А то Серб почитает эту тему, найдёт свой косяк и тихонько алгоритм поправит  :blinky:

Ссылка на комментарий
Игроки
3 194 публикации
46 157 боёв

Обновил чуток прогу

-Четвертой колонкой в результатах выводится имя файла

-Координаты точки в консоли отображаются и относительно центра, и относительно верхнего левого угла

-Добавлен выбор оттенка точки и его допустимого отклонения (отсечение по яркости и насыщенности пока постоянно)

http://cdn-frm-eu.wargaming.net/wot/ru/4.1/style_extra/mime_types/zip.gif  ScreenAnalyser2.zip 1,74МБ

Ссылка на комментарий
Игроки
4 567 публикаций
66 165 боёв

Об отработке методики измерения разброса.

 

Начал отработку методики с арты, а не с танков, после арты с танками будет проще.

 

За тестовый образец взял M7 Priest со стоковым орудием ради повышенного разброса и пониженной дальности, 50%-ными командиром и наводчиком с СТ со штрафом -25%. Также для увеличения разброса в 2 раза повреждаю пушку у М7 Priest пулеметной очередью сзади в открытую кабину (в лоб пушка пулеметом не повреждается).

 

Увеличение разброса орудия нужно для повышения точности измерений при фиксированном числе пикселей в скриншоте. Для удобства переключения между множеством окон я использую оконный режим WoT, а не полноэкранный, поэтому максимальное стандартное разрешение скриншотов по настройкам WoT получилось 1600x900, его и предлагаю взять за стандарт. Тогда результаты разных тестов будут совпадать по размеру в пикселях, что удобно для сравнения.

 

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

М7 Priest размещаю в определенном месте, где он упирается в кучу мусора, благодаря чему можно весьма точно позиционировать арту по одним и тем же координатам в разных сериях тестов:

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-10478900-1368166774_thumb.jpg

 

Дальность стрельбы выбрал такой, чтобы круг сведения был круглым, это расстояние 381,9м с углом 29.7 градуса.

Параметры М7 Priest для тестов:

командир 50% с СТ (штраф -25%);

наводчик 50% с СТ (штраф -25%), эффективный скилл 25+25/10=27.5%;

стоковое орудие 105mm Howitzer M3;

поврежденная пушка (в два раза увеличивается разброс);

ОФ снаряды.

Измеренные характеристики траектории (использовался мод артприцела):

скорость снаряда V0=248.8м/c

ускорение свободного падения g=140.8 м/c^2

высота точки выстрела 2.00м+-0.05м (определено по скриншоту)

В процессе тестов были подтверждены следующие утверждения:

- Дальномер стандартного артприцела показывает расстояние от точки выстрела до центра прицела, который совпадает с центром скриншота, а вовсе не то метки центральной траектории в эллипсе сведения

Spoiler

Доказательством является совокупность 4-х скриншотов, то которым видно, что дальномер стоит точно на границе метра, когда минимальное перемещение прицела изменяет значение дальномера на метр.

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-50973400-1368446763_thumb.jpg http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-99007100-1368446796_thumb.jpg

 

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-95542600-1368446911_thumb.jpg http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-21840500-1368447054_thumb.jpg

 

- круг базы имеет толщину линии 0.4м и диаметр 100м, измеряемый по ВНЕШНЕЙ границе линии круга, а не по центру линии круга.

Spoiler

Доказательством является совокупность 4-х скриншотов, то которым видно, что дальномер стоит точно на границе метра, когда минимальное перемещение прицела изменяет значение дальномера на метр.

 

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-24098600-1368447551_thumb.jpg http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-65305600-1368447582_thumb.jpg

 

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-10910600-1368447674_thumb.jpg http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-74257200-1368447706_thumb.jpg

 

- Масштаб круга сведения одинаков по вертикали и по горизонтали в пикселях при разрешении 1600x900, то есть пиксели квадратные. При других разрешениях надо проверять. Может, я и параноик, но, как говорил главный злодей в боевике "В осаде 2: темная территория", когда посылал подручных искать труп Стивена Сигала: "Предположение - мать всех ошибок" (труп, естественно, не нашли).

Для убирания лишних линий из зоны сведения артприцела я использовал прицел Minimalistic Sights с дополнительной конфигурацией для целей тестов разброса, конфигурация здесь: http://cdn-frm-eu.wargaming.net/wot/ru/4.1/style_extra/mime_types/zip.gif  For_ Minimalistic_0.8.5.2.zip 8,13К

Я отключил в ней красные точки сведения, но на всякий случай сделал дополнительный файл и с красными точками, нужно подменить на него в прицеле.

 

Тестировал программой распознавания попаданий декали разного размера и цвета. лучшие результаты получены с hue=300 при метке 6х6 без углов, практически 100% распознавание при настройках программы

Circle radius = 150

Spot hue = 315

hue tolerance = 40

Метка размером 4х4 распознается неустойчиво.

По моим оценкам, цвет hue=200 тоже должен хорошо распознаваться, но распознается плохо, потому что в текущей версии программы не вывыдены настройки допусков для двух других параметров системы HSL. Прошу Med433 сделать поля для ввода допусков всех параметров системы HSL в следующей версии анализатора.

Меd433 сделал ввод параметра hue в нормальной системе, но отображается он для "тыкнутой" точки уменьшенным на 2/3, приходится домножать на 3/2, чтобы понять число. Прошу Med433 сделать сразу домножение при выводе на экран.

 

Для замены меток попаданий достаточно скопировать в каталог для модов только декали самих меток, даже файлы фона не обязательны. Вот мои декали: http://cdn-frm-eu.wargaming.net/wot/ru/4.1/style_extra/mime_types/zip.gif  decals.zip 2,7К

 

 

Обнаружил весьма неприятный эффект, возможно, баг: точки размещения замененных декалей при оцифровке  несколько раз одного и того же реплея не всегда попадают в одно и то же место.

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-90719400-1368457477_thumb.gif

 

Отклонение только вверх- вниз и на величину отклонения центра прицела от метки средней траектории.

Похоже, как-то влияет именно это расхождение средней траектории от середины скриншота.

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

Проверял в Химмельсдорфе на ровной дороге: на 100м расхождения практически нет, на 200м оно значительно, на 300м снова мало. Может, так влияют небольшие булыжники и бордюры на дороге в Химмельсдорфе? Но уже ясно, что в тестовой серии отклонение центральной траектории от центра скриншота должно быть минимально.

 

Об анализаторе.

Распознает хорошо. Главная проблема, увеличивающая трудоемкость серии - это распознавание предыдущих точек. Иногда просвечивают до 4-х точек.

Если эту проблему решить, то анализатор станет рабочим инструментом.

Сейчас приходится удалять лишние точки в Adobe Photoshop, там есть кисть, делающая это одним нажатием.

 

Решить эту проблему можно двумя способами: автоматическим и полуавтоматическим.

 

Автоматический способ должен запоминать несколько последних координат спотов и исключать их окресности из рапознавания. Ситуации попадания двух выстрелов подряд в одно место придется обрабатывать дополнительно в полуавтоматическом режиме.

 

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

Экономия трудозатрат в полуавтоматическом способе будет на вычислении и записи координат спота в файл, вручную это самый трудоемкий процесс.

 

Формат файла для меня желателен с разделение табуляциями и запятыми вместо точек в числах. Такой формат легко вставлять в MS Excel, самый распростаненный калькулятор анализа данных.

Вот пример файла, создаваемый анализатором: http://cdn-frm-eu.wargaming.net/wot/ru/4.1/style_extra/mime_types/txt.gif  AnalyserResults.txt 2,63К

А вот тот же файл, отредактированный  мной для вставки в MS Excel: http://cdn-frm-eu.wargaming.net/wot/ru/4.1/style_extra/mime_types/txt.gif  AnalyserResults_1.txt 2,34К

Изменения не сложны, но трудоемки, хотелось бы сразу получать файл в этом формате.

Да, и запись параметров настроек в заголовок файла-результата тоже была бы полезна, особенно, когда пойдет массовая обработка данных.

 

Об отклонениях.

 

Это погрешность наложения текстур попаданий. Не уверен, что проявляется только в реплеях. Возможно, эффект работает везде, где точка срединной траектории не совпадает с центром прицела.

Эффект случайный. При повторных реплеях отклонение непредсказуемо, но только на определенную величину и только вверх-вниз.

Вот, специально запустил реплей ещё пару раз:

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-83786400-1368459514_thumb.jpg http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-80237600-1368459536_thumb.jpg

 

http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-78291600-1368470603_thumb.jpg http://cdn-frm-eu.wargaming.net/wot/ru/uploads/monthly_05_2013/post-285665-0-35170400-1368470646_thumb.jpg

Одни и те же точки. А ведь координаты в реплее уже не меняются.

Кстати, родной фон симпатичнее.

shot_072.jpg

shot_042.jpg

shot_043.jpg

shot_044.jpg

shot_045.jpg

shot_054.jpg

shot_055.jpg

shot_056.jpg

shot_057.jpg

shot_013.jpg

shot_019.jpg

For_ Minimalistic_0.8.5.2.zip

decals.zip

image001.gif

AnalyserResults.txt

AnalyserResults_1.txt

shot_017.jpg

shot_019.jpg

shot_011.jpg

shot_018.jpg

shot_043a1.JPG

Изменено пользователем Galaxy_Plus
  • Плюс 1
05 мар 2020 - 18:14 пользователь Corspe сказал:

Любые изменения в игре призваны повысить комфорт. Мы делаем все возможное, чтобы максимальное количество игроков были довольны. Так было, есть и будет.

Ссылка на комментарий
Игроки
3 194 публикации
46 157 боёв

А зачем оцифровывать реплей? Можно делать скрин во время тренировки.

В реплее бой сохраняется неизвестным образом, и наверняка неточно. Поясняю. Когда-то при переходе в снайперский режим зум автоматически выставлялся на минимум, потом это отменили. С тех пор у меня развилось что-то типа тика - переход в снайперский шифтом и выход скроллом, чтобы зум был на минимуме. Так вот в реплее это выглядит как абсолютно непонятное дёрганье камеры. Очевидно, её позиции записываются в реплей гораздо реже, чем надо для достоверного повтора.

Так что для надёжности надо делать скрины по ходу боя.

Ссылка на комментарий
Игроки
410 публикаций
6 561 бой

Хм.. разве в WoT разброс снарядов идет по нормальному распределению?

Мне всегда казалось (да и сотни боев на арте это подтверждают - снаряд летит куда угодно, но только не в центральную область), что по равномерному - то есть шанс попасть в любую из точек круга сведения одинаков.

Ссылка на комментарий
Игроки
3 194 публикации
46 157 боёв
12 Май 2013 - 07:15 пользователь Oozeling сказал:

снаряд летит куда угодно, но только не в центральную область

12 Май 2013 - 07:15 пользователь Oozeling сказал:

шанс попасть в любую из точек круга сведения одинаков

Ты уж определись со своими впечатлениями, а то это пока самопротиворечивое высказывание  :smile:
Ссылка на комментарий
Игроки
410 публикаций
6 561 бой

Имею ввиду, если бы распределение было бы гауссовским, то снаряд бы чаще летел в центр круга сведения.

Но в центр он летит довольно таки нечасто, что и подтверждает равномерность распределения.

Нигде противоречия нет - центр круга это малая его часть. При равной вероятности попадания в любую точку шанс попасть туда меньше.

Ссылка на комментарий
Игроки
6 876 публикаций
618 боёв
12 Май 2013 - 09:25 пользователь Oozeling сказал:

Имею ввиду, если бы распределение было бы гауссовским, то снаряд бы чаще летел в центр круга сведения.Но в центр он летит довольно таки нечасто, что и подтверждает равномерность распределения. Нигде противоречия нет - центр круга это малая его часть. При равной вероятности попадания в любую точку шанс попасть туда меньше.

вероятность попасть точно в центр стремится к нулю для любого распределения
Ссылка на комментарий
Игроки
410 публикаций
6 561 бой
Верно, из-за бесконечно большого количества точек. Речь не о самом центре, а о некой крестности ээтого центра.
Ссылка на комментарий
Игроки
2 077 публикаций
42 369 боёв

Ага, а откуда тогда у вас % попадания на арте в 30-40 процентов?

При том раскладе который вы описывайте выше 5-15% вы бы не поднялись

Ссылка на комментарий
Гость
Эта тема закрыта для публикации новых ответов.
  • Сейчас на странице   0 пользователей

    • Эту страницу никто не просматривает.
×
×
  • Создать...