Я сделал ИИ для Aim Lab и она его уничтожила :3
Ғылым және технология
Делаем ИИ бота для игры Aim Lab.
Компьютерное зрение в деле :3
clck.ru/32uWca - выберете для себя подходящую программу курса «Специалист по Data Science» в Яндекс Практикум. Промокод "ХАУДИ" на скидку 5% до 24 декабря 2022 года.
🆇 Исходный код бота 🆇
github.com/Priler/aimlabbot
🆇 Главы 🆇
0:00 - Идея
0:25 - Что такое Aim Lab и зачем бот?
0:55 - Начинаем писать код (захват экрана)
1:35 - Первая задача (определение целей)
1:55 - Варианты решения задачи
2:29 - Цветовые маски
2:55 - Совет про скейлинг HSV
3:30 - Проверяем код (маску)
4:03 - NMS и объединение по пересечениям
4:32 - Мой рекорд в аим лабе
4:50 - Вторая задача
5:20 - Как работает мышь на уровне ОС и в играх
6:42 - Как играет смещает прицел
7:10 - Проблема перемещения мыши
7:48 - Разбор проблемы
8:37 - Следим за руками (считаем углы)
10:25 - Про машинное обучение
12:27 - Конвертируем координаты из 2D в 3D (пытаемся)
13:35 - ПАМАГИТЕ
13:57 - Костыли наше всё!
14:49 - Первый боевой тест
15:28 - Второй боевой тест
15:57 - Итоги
🔵 Наш TELEGRAM: t.me/howdyho_official
Наш ВК: howdyho_net
Сотрудничество topic-84392011_33285530
💗 Музыка предоставлена KZread Audio Library.
Пікірлер: 833
Сделай мне тиммейтов пожалуйста 😫🙏🙏
@megic_emprerortaa855
Жыл бұрын
На второй комп тимейта профессионала
@ATtiny13a-PU
Жыл бұрын
помни, матч мейкинг закидывает людей рандомно. Будут попадаться сильные игроки в команде? значит и у врагов не будет зевак.
@1337lu
28 күн бұрын
@@ATtiny13a-PU обычно у тебя зеваки а противники нет
@ATtiny13a-PU
28 күн бұрын
@@1337lu, система 50% может лишь замедлить перелив рейтинга. То что есть в играх валв, это конечно бесит, но остановить рост/спад рейтинга полностью не получится. Ты можешь откровенно руинить и тебе будут закидывать мужиков, которые 4 в 5 будут раскатывать, но в таком случае для замедления падения рейтинга одного придётся жертвовать редакцией рейтинга более одного чела на чём и строится тот небольшой дисбаланс, поэтому обычно 50% придерживается смеси, где руинеры и тащеры наименьшим образом отрываются друг от друга в обеих командах, если разрыв большой, то суммарный рейтинг начнёт меняться.
Хм а я думал, что нас ждёт уже частично готовый код ИИ для кс :)
@mr_faild
Жыл бұрын
Для того что бы ты себе его скопировал и апнул глобола)
@ovum_ordinarium
Жыл бұрын
сразу бан влетит
@SpringTrap_Official
Жыл бұрын
@@ovum_ordinarium так это не читы)
@YouTube_is_dead
Жыл бұрын
@@ovum_ordinariumа кто заметит?
@ovum_ordinarium
Жыл бұрын
@@mr_faild но твой то скилл не прокачается)
Можешь попробовать сделать голосового ассистента, который произносит слова твоим голосом? Я смотрел предыдущие видосы )
@3_4a
Жыл бұрын
он делал такого ассистента посмотри на канале хауди правда там не его голос но всё же
@kinga.b.1709
Жыл бұрын
@@3_4a , да, я видел. Но голос криповый у них был
@hatti228
Жыл бұрын
Бред
@sputnic937
Жыл бұрын
Так мы уже его слышим! Разве не похоже? 🤣
@dix-on
Жыл бұрын
А потом он заменит его и будет пилить видосы
Это лучший сериал)) Пили следующую серию очень жду. Спасибо
Для решения твоей проблемы достаточно использовать сферические системы координат. Коротко говоря это ответ на вопрос о том, как x y z перевести в угол по вертикали, угол по горизонтали. Гугли, там все просто. Вот как ни крути, а от синусов и косинусов избавиться не сможешь)
@HowdyhoNet
Жыл бұрын
Я и не пытался, просто никогда не сталкивался с такой задачей. В движках я это делал через встроенные методы по типу WorldToScreen. А тут нет доступа к движку ) p.s. Спасибо за совет, обязательно чекну
@xto3694
Жыл бұрын
научи меня своим знаниям
@closeai1824
Жыл бұрын
Открывал школьные учебники, делал через синусы и косинусы, плохая идея. В интернете есть решение смещения курсора по по относительным координатам.
@leprechauns5815
Жыл бұрын
аа как всё было просто
@leprechauns5815
Жыл бұрын
интересно насколько большими будут проблемы вызванные тем, что шары расположены не по сфере, а в одной плоскости...
Спасибо за видео очень ждал вышло очень интересно
Ты делаешь хорошие поучительные видео Спасибо❤️
Круто! Спасибо! Было интересно!
хауди спасибо за такой интересный контент! снимай больше видео по машинному обучению!!
В игры не играю, но предположу, что зависимость угла от перемещения мыши не линейная. В таких случаях лучше построить график зависимости смещения мыши в экселе (или его аналоге), желательно точек 20-50 использовать. Потом на этом графике правой кнопкой построить линию тренда и ее уравнение. И вот перемещение мыши по этому уравнению будет более точным, чем линейная формула с пикселями.
Вроде как задача регрессии. Собрать попадания и расстояния промахов в табличку и уменьшать промахи классическим обучением, ну или нейронкой в "три слоя" (Теорема Цыбенко, Универсальная теорема аппроксимации), раз уж формат такой. Потом предиктить по модельке.
Спасибо тебе огромное за урок информатики 😘😘😘
Кстати можно сделать плавность движения за счёт интерполяции траектории + добавить парочку производных и 2ных производных и вуаля, античит сможет блокнуть только по детекту процесса захвата экрана, но это можно перебросить через какие нибудь стриминговые программы типа OBS
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
@HowdyhoNet
Жыл бұрын
Вот это не легко делается, но я постараюсь )
Только читал различные про ИИ и думал когда у тебя новый ролик)
Ты делаешь вещь )) ждём 4 часть
Твои фразы в конце - САМЫЕ ЛУЧШИЕ!!!
@setwindowlongptr
Жыл бұрын
fake af
@flimo_6768
Жыл бұрын
Я тебя много где вижу.Неужели у нас интересы почти все одинаковы? То тут вижу то у SJbody и т.д.
@technic_and_programming
Жыл бұрын
@@flimo_6768 Рад :)
хауди ты топ, мне всегда интересно смотреть твои ролики, после рекламы я даже как то сам захотел стать программистом как ты xD
ты крутой разработчик 🔥 продолжай таким темпом
Юхууу!!!! Новый видосик)
На счёт перевода движения курсора в вращение в теории нужно делить движение на определенное значение, которое с бОльшим наклоном увеличивается
Классный формат. Делай еще
Желаю удачи :)
Слушай затея с развитием и понимаем ИИ это очень-очень круто! Мне очень сильно зашла такая тематика особенно на твоем канале! Круто делай по чаще видосики по такой теме Да понимаю трудно! Но буду ждать новых видосиков! Красиво и качественно делаешь
Хауди, привет! Насчет проблемы думаю поможет основы линейной алгебры. Предлагаю прочитать RayCasting, там только на один FOV, но думаю принцип станет яснее. Успехов✊
Спасибо за интересности:3
Можна сделать для прицеливания в игре: 1. Сделать сетку для бота, узнать сколько нужно поверуть мышку для преодаления 1 квадрата, считать квадраты, повторять цикл например по range() 2. Найти прицел, найти куда надо двигать прицел для попадания в цель, двигать прицел (например: по 5 пикселей) Заметка для Хауди Хо: есть модули Taichi, Numba или numpy, они для ускорения бота пойдут!
Ты лучший братан удачи !!!
Хауди, ты просто красавчик, слов нет. Я года три как подписан на твой канал и безумно рад что узнал о твоём канале. Желаю успехов.
@citrux-x
Жыл бұрын
Жиза, самый лучший IT ютубер который умеет привлекать внимание интересным контентом )
Как обычно топ видео
Абрахам, сними видос про то, как ты изучал ML и начинал писать нейронки.
Попробуй методом подбора поперемещать мышь на центры целей, запиши значения где нибудь, а рядом их координаты в 2д пространстве, так будет проще заметить закономерность
Мне кажется ты мог бы сделать быстрее, если оптимизировал маршрут курсора. Реши задачу коммивояжера. p. s. Согласен, глупость сказал.
@amidl
Жыл бұрын
Тем более точек немного, даже с лоб посчитается быстро
@ATtiny13a-PU
Жыл бұрын
у него курсор мгновенно перемещается за 1 кадр, ему не нужно вычислять кротчайшее расстояние
@amidl
Жыл бұрын
@@ATtiny13a-PU Не кратчайшее расстояние, а кратчайший маршрут. Да и один кадр - тоже время
@Trepetsky
Жыл бұрын
@@ATtiny13a-PU Аа, ну если так, то да, вы правы.
@Trepetsky
Жыл бұрын
@@amidl нет, тогда он прав. Возьмём, например, для составления маршрута взвешенный полносвязный граф, если веса одинаковы, а они в таком случае одинаковы, то как бы мы его не обходили - путь всех маршрутов будет одинаков.
Судя по видео шары находятся на одной (или почти на одной, если обратить внимание на тени) плоскости. А значит мы можем рассчитать координаты из уравнения пересечения прямой с этой плоскостью. Прийдётся всё равно немного пошаманить методом тыка, но это может исправить ложные наведения. Отстреляв тогда цели с первого снимка надо делать новый для поиска целей в момент наведения на последнюю цель.
Вау, просто супер!
Ура-а-а хоуди начал делать видео чаще
от программирования я далёк, но с радостью слушаю твои логические рассуждения)
С Наступающим!
Хауди: Правила? Хаха, не знаю что это, делаю что хочу. Ты топ!)
Хауди здарова. Классный видос. У меня есть вопрос по поводу управления персонажем в игре. У меня проблема что при запуске собственного скрипта игра просто зависает и ничего не происходит, в особенности если в скрипте удерживается какая либо из кнопок. Как это можно пофиксить? Заранее спасибо.
Видео как всегда топ
Хей, сделай ИИ играющего в шахматы, будет интересно посмотреть как они работают. А сам видос классный.
Если вы ничего не поняли, то не беспокойтесь, ведь я тоже ничего не понял, но главное, что поставил лайк
хабуди хабудай выпустил ролик🥵🥵🥵🥶🥶🥶🥶🔥🔥🔥🔥💯💯💯
@aler4354
Жыл бұрын
Словил кринж
@setwindowlongptr
Жыл бұрын
@@aler4354 пон
Твои ролики очень крутые.
топ!!!! спасибо за видео!!!!!!
Ты реально с другой планеты))
Ну тут грех на пол пути останавливаться, давай Топ1!
Красавчик!
Мне нравится автор этого видео, по моему мнению он учится и выпускает видео, получает двойную выгоду сам обучается так еще и развивает бизнес в ютубе
В этом режиме не так уж и сложно набить больше 115к + не мало типов которые сами набивают 140+
3:04 ну так посмотри на максимальное значение. Самые популярные, это 100 180 и 360, есть ещё float 1.
Можно ли рассчитать расстояние от центра экрана до середины шара также как ты рассчитал расстояние от края до края и сделать перемещение?
Топ благодаря тебе я учу языки программирования
Охринеть ) у меня взорвался мозг , но блин видос крутой очень !
Ваай, люблю тебе)
О, новый видос! Сразу лайк не глядя, потому что знаю, что годнота подъехала 😎🔥
Можно сделать подобного бота в ксго.Нужно взять головы моделек сделать картинки с разных сторон и углов, и заставить ИИ считывать это.Можно также написать чтобы ИИ определяло головы противника через определение команды.(По спавну, по бомбе в команде, по никам через таб)
@anonpie2996
Жыл бұрын
И словить бан в стиме за создание читов
Привет Хоуди. Я сейчас тружусь над проектом дронов с ИИ на борту, который бы мог во первых снимать видео и после само обучатся для полного беспилотного пилотирования. То есть На борту стоит ИИ с натренированной сеткой, а обучение происходит на риге с карт RX3070. И после обновляется через консоль обратно в дрон. Задач очень много, от распознавания деревьев, рощ, лесопосадок, одиночных кустарников и деревьев, ориентироваться в пространстве. Сохранять маршрут и распознавать где летал и как возвращаться. Также понимать что в зависимости от высоты, карта также меняется (так как те объекты что становятся за пределами карты или камер мы чисто физически не видим). Я думаю ты уже понял то за тематика.
@user-iq8cp6pw4r
Жыл бұрын
Приветствую! Рой дронов на самообучающейся нейронной сетке, вот круто, наверное!
@user-xo2yn4cg5s
Жыл бұрын
@@user-iq8cp6pw4r Естественно это очень крутая штука, и тут уже не игры на компьютере.
Как вариант для улучшения результата, нужно сделать чтобы бот попадал не в центр шара, а в край шара, который ближе к прицелу. Тогда затратится еще меньше время на наведение)
Делаем ИИ для веселья ! мне понравилось видео, но жалко что ты про компьютерное зрение говорил и по сути это пример его использования :3
А если ты сделаешь несколько слоев целей, это первые от 3 до скажем 10 целей и как только достигает меньше какого-то числа целей - сканируем новую картинку, это добавить несколько микро а может и мили секунд к обнаружению и так же к поражению целей.
ну хотяб в этот раз без нейронных сетей обошлись. А насчёт корректного наведения, нужно учитывать не только позицию шарика на экране, а ещё угол поворота самой камеры. Т.к. все мишени появляются в одной плоскости, то спокойно можно вычислить всё, включая дистанцию до цели (в глубину), относительные повороты и т.п.
@nekit-scyth
Жыл бұрын
Ну так то распознавание мишеней это и есть нейронка
@ATtiny13a-PU
Жыл бұрын
@@nekit-scyth, ну ты прям совсем в танке видно. Это обычный алгоритм, даже не обучающийся. А нейросеть, это конкретная топология обучаемых алгоритмов. Калибровка и адаптирование тоже далеко не всегда являются обучаемыми алгоритмами, т.е. вполне строго описанными.
@nekit-scyth
Жыл бұрын
@@ATtiny13a-PU нейросети это конкретные структуры эмулирующие биологические нейронные сети, нейросети не обязательно должны быть обучаема, если уже известны необходимые веса. И слово алгоритм не совсем подходит к нейронкам. И, насколько я знаю, учитывая специфику компьютерного зрения, нейросети справляются с такой задачей намного эффективней обычных алгоритмов, поэтому, я допускаю предположение, что сейчас компьютерное зрение основывается на нейронках, но если это не так, это не значит, что я в танке. Это просто говорит о том, что я не занимаюсь компьютерным зрением
Эх завариваю чаёк и смотрю видосик.
Топ 10 - красава!
Молодец)))) Вот бы мне так научиться программировать)
@HowdyhoNet
Жыл бұрын
Начинай учиться, это не сложно 🙂
Блин начал изучать Пайтон после всех твои аргументов в его пользу, но насмотревшись роликов где говорят, что Пайтон хорош для вспомогательных задач но не годится для основы проекта, это побуждало меня перепрыгнуть с Пайтона на с++ или другой язык, но смотрю, что реально можно сделать, что то полезное и годное и на Пайтоне используя его исключительно как основу в проекте, в любом случае я думаю что Пайтон пригодится в будущем + даст лёгкий старт для понимания структуры и скелета кода, думаю разные языки строят одинаковый скелет для решения задач, но детали(команды) для вывода нужного результата разные. Твой формат подачи информации живой и "простолюдинский" по сравнению с другими влогерами есть одна годная идея, можно вести стрим как ты пишешь простенький проект игры или приложухи с разъяснениями деталей например, что делает и для чего нужна это команда, и т.п, а чтобы это не было благотворительностью, можно создать донат сбор ВК или в другом месте, когда нужная сумма накопиться начать заниматься этим проектом. *Изучая пайтон я уже придумал парочку интересных проектов для мобилы, это ещё сильнее мотивирует узнать как же все таки их реализовать.
сделайте бот, с Нейро - сетью, которая сама будет заводиться на шарики. И попробуйте ее обучить, интересно какое место займете в этом случае). Т.е. замените сетки Ваши сетки координат и куча углов на нейро сеть
Спасибо большое за видео! Ты лучший!
Больше сотни в этом режиме делается, и, если натренироваться, то даже легко🙃
круто !!!
А я помню как то делал для CS 1.6 бота, ставил там скины с желтыми головами и точно так же маской отфильтровывал картинку с экрана, и каким то образом наводился на голову. Радиус поиска бошки был ограничен определенной область вокруг прицела, типа чтоб наводило только когда достаточно близко поднесешь. И я тогда вообще даже не думал про какие то там углы, взял навел и все. Вспомнить бы как. UPD: Короче проснулся в 4 утра и вспомнил. Я находил координаты этой головы на экране, и тупо мувал туда курсор, с помощью какого то там модуля. И это работало на все 100%, причем я даже не думая сразу пришел к этому и все, а щас вот в шоке что оказывается можно было углы какие то, матрицы. В общем находишь координаты шара и муваешь на них курсор. Залайкайте чтоб хауди увидел
Есть 1 прикольная идейка, которая будет универсальная для всех стрелялок сразу. Игрок нажимает кнопку на объекте когда он на прицеле, а ИИ отслеживает перемещение и наводит прицел на объект по цвету например. Как слежение по маркеру.
@1o4k56
Жыл бұрын
Читы...
Ты чёртов гений!
в это время я как раз смотрел твой видос
Этот прицел просто имба!
Теперь ждём видео с ботом который будет трекать мишени а не фликать в них!!!
Сделай и для змейки, думаю это ооочень интересная тема :)
@skrizy485
Жыл бұрын
Сложно бот должен будет рассчитывать данные двигаться по времени тропе
Вопрос, у тебя сколько раз в секунду обновляется изображение бота? Просто если он работает 60 раз в 1 секунду а игра рисует 1 фпс, но принимает значения 60 раз в секунду то бот может переместить прицел 60 раз в одном направлении тогда как нужно всего один раз.
Я знал! Я чувствовал что видосу быть)
0:45 - Сплошные читеры Тот самый WhoIsAqua, потом сражающийся с ними реальным скиллом. Кстати это правда, у него есть канал кому интересно почекайте какие вещи он ставит рукой. И высказывание что обычный человек не может набить больше 100к очков, опровержима. Хотя, может он не обычный человек? Видос получился очень познавательным!
След.этап - занять 1 место. Судя по стате, бот совершил 397 выстрелов за минуту (60/0.151мс). Я совсем далек от программирования, поэтому есть вопросы: 1. возможно ли сделать так, чтобы бот не тратил время на перемещение между целями, а каждый кадр находил цель? Как будто телепортировался на цель, а не передвигался между ними. Может как-то заранее прописывать карту (или трек, лог, координаты) перемещений. 2. Если первое не возможно, то может возможно перемещаться от крайней координаты цели к крейней координате другой цели. Условно, цель (Ц) весгда имеет форму круга. Возьмем шесть Ц, центры которых являются вершинами равностороннего шестиугольника (Ш1). Проведем из вершин прямые к цетру самого Ш1. Точка пересечения окружности Ц с этой прямой и будет крайней координатой Ц. Теперь если соединить крайние точки всех шести Ц, то получится шестиугольник (Ш2), вписанный в Ш1. А значит, Ш2 имеет меньший периметр, чем Ш1 и, соответственно, перемещение по периметру Ш2 быстрее, чем Ш1. Т.е. перемещение между Ц будет занимать меньшее время. 3. Может имеет смысл строить карту заранее между крайними точками целей. И перестраивать ее при появлении ближайшей новой цели. Если я запутал объяснениями, но заитересовал, то в тг @XopBoHuxoTbunycT0 могу прислать рисунок того, что имею ввиду
@lordazis6514
Жыл бұрын
Скажу сразу я тоже не программист. Но вот моё мнение по вашему вопросу. 1 у хауди цель в том что бот играл вместо него имитирует движения мыши и нажатия на кнопку. А что вы предлагаете противоречит механики самой игры. 2 Даже в видео можно было увидеть что бот чистенко промахивался даже целям по центру шара. Это случается Иза того что в игре есть функция отдачи. И часто Иза это быстрых комбо бот промахивается. А целится по краям это уже усложняет и так сложную задачу. 3 И да я вашу идею не правильно понял. И зделал неправильные выводы.
@opp_587
Жыл бұрын
Хауди говорит же что Аим Лаб блокирует любое перемещение(телепотрирование) мыши.
@xpeHavblcoro
Жыл бұрын
@@opp_587 понятно. Пропустил этот момент
@iforand
Жыл бұрын
@@opp_587 так... А вот тот разворот на 180 градусов что было?
Класс!!
Вообще, для перевода перемещения мыши в углы можно воспользоваться переводом прямоугольных координат в полярные
Ждём "НЕЙРОСЕТЬ ИГРАЕТ В quake 3 arena И РАЗНОСИТ ВСЕХ!!!"
Привет! Я так понимаю, что шары генерятся на невидемой плоскости причем по определенной сетке. Четко вычислять углы получится если знать координаты на этой плоскости до следующего шара и углы под которыми прицел смотрит на эту плоскость сейчас. Углы плывут от того что центральные шары находятся ближе к камере-игроку чем те которые появляются дальше от центра "плоскости". Если мы не знаем хотя бы углов плоскости шаров к плоскости экрана, то ни как. Можешь накидать в Unity сценку и посмотреть на углы и пиксели.
Используй функцию dot (произведение векторов) для того, чтобы узнать насколько вектор цвета в HSV или RGB похож на другой цветовой вектор, значения нормализуй заранее от 0 до 1 желательно, выходное будет от -1 до 1. Так можно сравнить вектора любой размерности с любым содержанием.
@iforand
Жыл бұрын
Нет смысла для HSV схемы. Для RGB да, можно.
@ATtiny13a-PU
Жыл бұрын
@@iforand, для HSV тоже норм, будут попадаться цвета с похожим оттенком, яркостью и насыщенностью, будет просто некоторое одно число релевантности. Можно конечно ещё и через матрицу поворота всё это провести, чтобы деформировать область пересечения, или просто находить расстояние до точки в цветовом пространстве, но тут и этого достаточно.
@iforand
Жыл бұрын
@@ATtiny13a-PU да у него проблема в том, что даже при непохожих насыщенности и яркости сферы не полностью маскируются, как я понял. :) Хотя, может действительно скалярное произведение в RGB пространстве может даст лучше результат, но не факт.
@ATtiny13a-PU
Жыл бұрын
@@iforand, сейчас сгонял на шейдер той и проверил на практике, лучше всего работает расстояние от точки в HSV. У RGB проблема с перепадами яркости, но тоже работает. Тестил на блевотных камнях, в шейдер тое это самая первая по списку дефолд текстура, выискивал только бирюзовые, находит успешно.
@ATtiny13a-PU
Жыл бұрын
Тут ВАЖНО то, что 0 и 360 градусы цвета (или 0 и 1 в нормализованном диапазоне) равны, т.е. расстояние нужно искать относительно зацикленного пространства. Достаточно лишь вычислить расстояние между 3-мя точками в текущем и двух +макс - макс отдельными компонентами и взять минимальные по модулю, а потом запихнуть в функцию вычисления расстояния. Это особенно важно для красного например, т.к. он находится прям на разделении.
Чувак это нереально круто но можешь сделать видео как использовать твой код. Я хотел бы тоже попробовать его но не знаю как.
Вопрос, если уменьшить зону сканирования, то получится ли попасть ещё больше очков? Например про горизонтали спокойно можно срезать 25%, по вертикали 10-20%. Самарканд площадь сканирования может снизится прилично.
Лови комментарий, я хз че написать, но продвинуть видео хочу иииии, и видео крутое.
Выглядит круто! Как насчёт ассистента для American truck simulator, удержание в полосе торможение перед встречным автомобилем?)
Хорошее видео. Жду следующий ролик про нейросеть в ксго.)
привет, unity necode - как сделать перемещение, я двигаюсь на клиенте и сервер тоже двигается?
4:23 не будет ли мешать оружие находить цели? оно же перекрывает пол экрана 14:05 почему не match case ? и кстати попробуй научить нейронку ходить в игре (любой хоть в кс) было бы интересно посмотреть как это будет работать)
@HowdyhoNet
Жыл бұрын
1) Очень редко оружие перекрывает цель, если она всего 1 на карте. В других случаях детект постоянный, и цель определяется даже если частично перекрыта оружием. 2) Хз, у меня тот же вопрос xD Ходить в игре нейронку я попытаюсь научить, сейчас в процессе осознания как это вообще сделать. Смотрю в сторону Q-Learning.
Определять цель по одному уникальному пикселю и использовать системные переменные для определения положения курсора мыши в игре эффективнее.
@HowdyhoNet
Жыл бұрын
Итерировать все пиксели долго. Про передвижение курсора не понял :3
Ты крут, чувак.
Отличный день сегодня
Предлагаю определять x,y мишени и смешать курсор сначала в верх до достижения оси Х потом до Y, или посложнее делить расстояние до Х,Y мишени на "шаги" и перемещать курсор на них пока мишень не будет в прицеле. Подробно в клиенте ниже:
@user-ph9ye9oe5q
Жыл бұрын
Тебе просто нужны пропорции шага для перемещения, к примеру x,y мишени = 4, 6, ты делишь их на 10 шагов и получаешь х=0.4 y=6 и смещаешь курсор пока мишень не окажется в прицеле.
Я начинаю писать на питоне, и с такими видео я офигиваю от его функционала
Ну собственно для получения угла, нужно понять что изображение на мониторе на деле проекция на каком то расстоянии от камеры с шириной 1920px и высотой 1080px. Зная fov и размеры экрана мы можем посчитать условное расстояние xh = (HRes/2)/tg(fov/2), и так же посчитать для вертикали.потом при помощи этой величины и пикселей от центра экрана можно посчитать уже угол искомый.
@HowdyhoNet
Жыл бұрын
При условии, что HRes = 1920, а fov у нас 106.26. Получается xh = 960/tan(53.13) = 720. При этом tan(53.13) выдает 1.33332... Что даёт нам это значение?
@kotoslav
Жыл бұрын
@@HowdyhoNet допустим цель находится на x пикселей правее прицела тогда угол по горизонтали будет atan(x/720), потом то же самое по вертикали.