Для решения твоей проблемы достаточно использовать сферические системы координат. Коротко говоря это ответ на вопрос о том, как x y z перевести в угол по вертикали, угол по горизонтали. Гугли, там все просто. Вот как ни крути, а от синусов и косинусов избавиться не сможешь)
Я и не пытался, просто никогда не сталкивался с такой задачей. В движках я это делал через встроенные методы по типу WorldToScreen. А тут нет доступа к движку ) p.s. Спасибо за совет, обязательно чекну
В игры не играю, но предположу, что зависимость угла от перемещения мыши не линейная. В таких случаях лучше построить график зависимости смещения мыши в экселе (или его аналоге), желательно точек 20-50 использовать. Потом на этом графике правой кнопкой построить линию тренда и ее уравнение. И вот перемещение мыши по этому уравнению будет более точным, чем линейная формула с пикселями.
@@lll11l1lll1l2-p, система 50% может лишь замедлить перелив рейтинга. То что есть в играх валв, это конечно бесит, но остановить рост/спад рейтинга полностью не получится. Ты можешь откровенно руинить и тебе будут закидывать мужиков, которые 4 в 5 будут раскатывать, но в таком случае для замедления падения рейтинга одного придётся жертвовать редакцией рейтинга более одного чела на чём и строится тот небольшой дисбаланс, поэтому обычно 50% придерживается смеси, где руинеры и тащеры наименьшим образом отрываются друг от друга в обеих командах, если разрыв большой, то суммарный рейтинг начнёт меняться.
Вроде как задача регрессии. Собрать попадания и расстояния промахов в табличку и уменьшать промахи классическим обучением, ну или нейронкой в "три слоя" (Теорема Цыбенко, Универсальная теорема аппроксимации), раз уж формат такой. Потом предиктить по модельке.
Кстати можно сделать плавность движения за счёт интерполяции траектории + добавить парочку производных и 2ных производных и вуаля, античит сможет блокнуть только по детекту процесса захвата экрана, но это можно перебросить через какие нибудь стриминговые программы типа OBS
Можна сделать для прицеливания в игре: 1. Сделать сетку для бота, узнать сколько нужно поверуть мышку для преодаления 1 квадрата, считать квадраты, повторять цикл например по range() 2. Найти прицел, найти куда надо двигать прицел для попадания в цель, двигать прицел (например: по 5 пикселей) Заметка для Хауди Хо: есть модули Taichi, Numba или numpy, они для ускорения бота пойдут!
0:45 - Сплошные читеры Тот самый WhoIsAqua, потом сражающийся с ними реальным скиллом. Кстати это правда, у него есть канал кому интересно почекайте какие вещи он ставит рукой. И высказывание что обычный человек не может набить больше 100к очков, опровержима. Хотя, может он не обычный человек? Видос получился очень познавательным!
@@amidl нет, тогда он прав. Возьмём, например, для составления маршрута взвешенный полносвязный граф, если веса одинаковы, а они в таком случае одинаковы, то как бы мы его не обходили - путь всех маршрутов будет одинаков.
Привет Хоуди. Я сейчас тружусь над проектом дронов с ИИ на борту, который бы мог во первых снимать видео и после само обучатся для полного беспилотного пилотирования. То есть На борту стоит ИИ с натренированной сеткой, а обучение происходит на риге с карт RX3070. И после обновляется через консоль обратно в дрон. Задач очень много, от распознавания деревьев, рощ, лесопосадок, одиночных кустарников и деревьев, ориентироваться в пространстве. Сохранять маршрут и распознавать где летал и как возвращаться. Также понимать что в зависимости от высоты, карта также меняется (так как те объекты что становятся за пределами карты или камер мы чисто физически не видим). Я думаю ты уже понял то за тематика.
Судя по видео шары находятся на одной (или почти на одной, если обратить внимание на тени) плоскости. А значит мы можем рассчитать координаты из уравнения пересечения прямой с этой плоскостью. Прийдётся всё равно немного пошаманить методом тыка, но это может исправить ложные наведения. Отстреляв тогда цели с первого снимка надо делать новый для поиска целей в момент наведения на последнюю цель.
След.этап - занять 1 место. Судя по стате, бот совершил 397 выстрелов за минуту (60/0.151мс). Я совсем далек от программирования, поэтому есть вопросы: 1. возможно ли сделать так, чтобы бот не тратил время на перемещение между целями, а каждый кадр находил цель? Как будто телепортировался на цель, а не передвигался между ними. Может как-то заранее прописывать карту (или трек, лог, координаты) перемещений. 2. Если первое не возможно, то может возможно перемещаться от крайней координаты цели к крейней координате другой цели. Условно, цель (Ц) весгда имеет форму круга. Возьмем шесть Ц, центры которых являются вершинами равностороннего шестиугольника (Ш1). Проведем из вершин прямые к цетру самого Ш1. Точка пересечения окружности Ц с этой прямой и будет крайней координатой Ц. Теперь если соединить крайние точки всех шести Ц, то получится шестиугольник (Ш2), вписанный в Ш1. А значит, Ш2 имеет меньший периметр, чем Ш1 и, соответственно, перемещение по периметру Ш2 быстрее, чем Ш1. Т.е. перемещение между Ц будет занимать меньшее время. 3. Может имеет смысл строить карту заранее между крайними точками целей. И перестраивать ее при появлении ближайшей новой цели. Если я запутал объяснениями, но заитересовал, то в тг @XopBoHuxoTbunycT0 могу прислать рисунок того, что имею ввиду
Скажу сразу я тоже не программист. Но вот моё мнение по вашему вопросу. 1 у хауди цель в том что бот играл вместо него имитирует движения мыши и нажатия на кнопку. А что вы предлагаете противоречит механики самой игры. 2 Даже в видео можно было увидеть что бот чистенко промахивался даже целям по центру шара. Это случается Иза того что в игре есть функция отдачи. И часто Иза это быстрых комбо бот промахивается. А целится по краям это уже усложняет и так сложную задачу. 3 И да я вашу идею не правильно понял. И зделал неправильные выводы.
Используй функцию dot (произведение векторов) для того, чтобы узнать насколько вектор цвета в HSV или RGB похож на другой цветовой вектор, значения нормализуй заранее от 0 до 1 желательно, выходное будет от -1 до 1. Так можно сравнить вектора любой размерности с любым содержанием.
@@iforand, для HSV тоже норм, будут попадаться цвета с похожим оттенком, яркостью и насыщенностью, будет просто некоторое одно число релевантности. Можно конечно ещё и через матрицу поворота всё это провести, чтобы деформировать область пересечения, или просто находить расстояние до точки в цветовом пространстве, но тут и этого достаточно.
@@ATtiny13a-PU да у него проблема в том, что даже при непохожих насыщенности и яркости сферы не полностью маскируются, как я понял. :) Хотя, может действительно скалярное произведение в RGB пространстве может даст лучше результат, но не факт.
@@iforand, сейчас сгонял на шейдер той и проверил на практике, лучше всего работает расстояние от точки в HSV. У RGB проблема с перепадами яркости, но тоже работает. Тестил на блевотных камнях, в шейдер тое это самая первая по списку дефолд текстура, выискивал только бирюзовые, находит успешно.
Тут ВАЖНО то, что 0 и 360 градусы цвета (или 0 и 1 в нормализованном диапазоне) равны, т.е. расстояние нужно искать относительно зацикленного пространства. Достаточно лишь вычислить расстояние между 3-мя точками в текущем и двух +макс - макс отдельными компонентами и взять минимальные по модулю, а потом запихнуть в функцию вычисления расстояния. Это особенно важно для красного например, т.к. он находится прям на разделении.
HelloWorld Хауди! Контент крутой, но когда начнешь коменты писать по коду? ))) кстати спасибо за открытую репу, интересно повторить, увидемся в топе ))
ну хотяб в этот раз без нейронных сетей обошлись. А насчёт корректного наведения, нужно учитывать не только позицию шарика на экране, а ещё угол поворота самой камеры. Т.к. все мишени появляются в одной плоскости, то спокойно можно вычислить всё, включая дистанцию до цели (в глубину), относительные повороты и т.п.
@@nekit-scyth, ну ты прям совсем в танке видно. Это обычный алгоритм, даже не обучающийся. А нейросеть, это конкретная топология обучаемых алгоритмов. Калибровка и адаптирование тоже далеко не всегда являются обучаемыми алгоритмами, т.е. вполне строго описанными.
@@ATtiny13a-PU нейросети это конкретные структуры эмулирующие биологические нейронные сети, нейросети не обязательно должны быть обучаема, если уже известны необходимые веса. И слово алгоритм не совсем подходит к нейронкам. И, насколько я знаю, учитывая специфику компьютерного зрения, нейросети справляются с такой задачей намного эффективней обычных алгоритмов, поэтому, я допускаю предположение, что сейчас компьютерное зрение основывается на нейронках, но если это не так, это не значит, что я в танке. Это просто говорит о том, что я не занимаюсь компьютерным зрением
Есть 1 прикольная идейка, которая будет универсальная для всех стрелялок сразу. Игрок нажимает кнопку на объекте когда он на прицеле, а ИИ отслеживает перемещение и наводит прицел на объект по цвету например. Как слежение по маркеру.
Хауди, есть простая идея сокращения времени отстрела мишеней: я заметил, что ии стреляет в центр красного шарика в бирюзовом шаре, но прохождение от края синего шара до центра красного хоть и мало, Но занимает карды/время, чтобы поразить цель достаточно попасть в минимальную границу синего шара, совпадающей с центром курсора, попробуй запрограммировать так: Создай красное кольцо, которое чуть чуть меньше диаметра синего шара, в результате при пересечении курсора этой границы происходит выстрел, не доводя до центра, после чего курсор перемещается к следующей цели. Следовательно, время перемещения до выстрела сократится. Если это глупо или невозможно или не дает результата, прокомментируй пж. Спасибо
Я так понимаю, судя по кадрам, даже поворот на 180° происходит мгновенно, поэтому это не должно сработать. Тут скорее сама проблема в скорости распознавания цвета самой программы, плюс, нужно убедиться второй раз, что под прицелом именно тот цвет. И если эту задержку сократить, то останется только скорость самого пистолета, насколько он может быстро стрелять. И ещё, можно сократить количество распознаваний до минимума, чтобы один раз сканировать, расстрелять имеющиеся шарики и заново сканировать. В общем, нужно найти скорость всех четырёх составляющих, количество сканирований в секунду, количество перемещений в секунду, выстрелов в секунду (самое важное) и сканирования цвета под прицелом в секунду, и тогда уже прорабатывать проблемную зону.
Слушай затея с развитием и понимаем ИИ это очень-очень круто! Мне очень сильно зашла такая тематика особенно на твоем канале! Круто делай по чаще видосики по такой теме Да понимаю трудно! Но буду ждать новых видосиков! Красиво и качественно делаешь
Хауди, привет! Насчет проблемы думаю поможет основы линейной алгебры. Предлагаю прочитать RayCasting, там только на один FOV, но думаю принцип станет яснее. Успехов✊
Блин начал изучать Пайтон после всех твои аргументов в его пользу, но насмотревшись роликов где говорят, что Пайтон хорош для вспомогательных задач но не годится для основы проекта, это побуждало меня перепрыгнуть с Пайтона на с++ или другой язык, но смотрю, что реально можно сделать, что то полезное и годное и на Пайтоне используя его исключительно как основу в проекте, в любом случае я думаю что Пайтон пригодится в будущем + даст лёгкий старт для понимания структуры и скелета кода, думаю разные языки строят одинаковый скелет для решения задач, но детали(команды) для вывода нужного результата разные. Твой формат подачи информации живой и "простолюдинский" по сравнению с другими влогерами есть одна годная идея, можно вести стрим как ты пишешь простенький проект игры или приложухи с разъяснениями деталей например, что делает и для чего нужна это команда, и т.п, а чтобы это не было благотворительностью, можно создать донат сбор ВК или в другом месте, когда нужная сумма накопиться начать заниматься этим проектом. *Изучая пайтон я уже придумал парочку интересных проектов для мобилы, это ещё сильнее мотивирует узнать как же все таки их реализовать.
Предлагаю определять x,y мишени и смешать курсор сначала в верх до достижения оси Х потом до Y, или посложнее делить расстояние до Х,Y мишени на "шаги" и перемещать курсор на них пока мишень не будет в прицеле. Подробно в клиенте ниже:
Тебе просто нужны пропорции шага для перемещения, к примеру x,y мишени = 4, 6, ты делишь их на 10 шагов и получаешь х=0.4 y=6 и смещаешь курсор пока мишень не окажется в прицеле.
Как вариант для улучшения результата, нужно сделать чтобы бот попадал не в центр шара, а в край шара, который ближе к прицелу. Тогда затратится еще меньше время на наведение)
Короче, смотри. Положение линии визирования (прицела) и его перемещение может определяться по разному от игре к игре. Т.е. в CS это простое "карусельное" управление, а в космосиме при управлении кораблём это уже полноценное свободное управление вне зависимости от текущего положения прицела. Но в любом случае придётся работать с искажениями координат. Так вот дело в том, что в космосиме управлять прицелом было бы проще, т.к. нет зависимости от его текущего положения. А в CS положение линии визирования задаётся простыми сферическими координатами: phi - азимут (по горизонту); theta - угол места (по вертикали). По сути здесь горизонтальное движение мыши влияет только на координату phi, а вертикальное перемещение мыши только на координату theta, а смещение мыши просто прибавляется к этим углам с некоторым коэффициентом "чувствительности". Потому, если задрать ствол вертикально вверх он, во-первых, не будет "подыматься" через верх за спину, а во-вторых, если в таком положении двинуть мышку вбок по горизонтали, то прицел не сдвинется на самом деле в бок, а останется на месте, но вместо этого начнёт вращаться сам персонаж вокруг своей вертикальной оси. Так вот, для правильного перевода прицела проблема заключается в том. что нужно знать текущий угол "задирания" ствола, т.е. угол theta. И есть два пути, как это обойти: это всегда принимать его равным нулю и ловить ошибки наведения тем большие, чем сильнее задран ствол; параллельно пытаться рассчитывать текущий угол места прицела последовательным складыванием сдвигов прицела по вертикали и ловить накопительные ошибки вычислений. Я сделал несколько расчётов и привёл в маткадовском файле (с сохранением в RTF и HTML) с примером расчёта. Если здесь используется та же схема представления угла прицела, то должно "получиться" с поправкой на то, что угол места прицела неизвестен (может натренировать нейросеть для определения этого угла? :) ). Вот ссылка на архив, если ютуб её не грохнет drive.google.com/file/d/1ofGOxX6sZlN7VzwAsjTnmP3aRYEqnLbS/view?usp=sharing
Если бы не было задачи передвинуть прицел за один кадр, то по мне логичнее было бы сделать простую следящую систему: просто "сдвигать" курсор мыши в сторону цели на каждом кадре пропорционально расстоянию до этой цели в пикселях. Если добавить ещё инерции (т.е. переменную скорости мыши), то тогда бы перемещение было бы похоже на человеческое. И проблем бы не было с определением угла theta.
Кстати, ещё, думаю, возможен вариант коррекции оценки угла theta, который высчитывается параллельно. Просто нужно измерять ошибку наведения и по неё оценить, на сколько мы ошибаемся в этом угле и корректировать его каждый раз. Тогда по идее всё должно работать отлично. Но нужно ещё немного подзаморочиться с выводом формулы, если решение "установить theta в ноль" не будет удовлетворительным.
Я смотрю ты запарился не хуже меня ) Спасибо, обязательно всё посмотрю! По поводу задачи сдвинуть за один кадр это да, один из путей решения проблемы - это постоянный сдвиг и проверка что цель под курсором. Но умение сдвигать за один кадр открывает много других преимуществ, не говоря уже об элементарной скорости.
Человек способен набить на этой карте больше 100.000 очков)) У меня рекорд 115.000, хотя я не то чтобы часто её играю (но у меня в контре 12.000 часов, и в аим лабе 400). И я могу гораздо больше и лучше, нужно просто тренироваться В остальном топовый и интересный видос
И пока из самого банального до цели можно перемещаться за два шага. Причём после первого шага замеры проводить... Ёмаё дайте мне пейнт... И где скачать этот ваш аим лаб..)
Обалдеть ты сделал это , открыл новую страницу искусственного интеллекта . Даже не представляю что будет если такую машину посадить за реальный пулемет .
А я помню как то делал для CS 1.6 бота, ставил там скины с желтыми головами и точно так же маской отфильтровывал картинку с экрана, и каким то образом наводился на голову. Радиус поиска бошки был ограничен определенной область вокруг прицела, типа чтоб наводило только когда достаточно близко поднесешь. И я тогда вообще даже не думал про какие то там углы, взял навел и все. Вспомнить бы как. UPD: Короче проснулся в 4 утра и вспомнил. Я находил координаты этой головы на экране, и тупо мувал туда курсор, с помощью какого то там модуля. И это работало на все 100%, причем я даже не думая сразу пришел к этому и все, а щас вот в шоке что оказывается можно было углы какие то, матрицы. В общем находишь координаты шара и муваешь на них курсор. Залайкайте чтоб хауди увидел
Можно сделать подобного бота в ксго.Нужно взять головы моделек сделать картинки с разных сторон и углов, и заставить ИИ считывать это.Можно также написать чтобы ИИ определяло головы противника через определение команды.(По спавну, по бомбе в команде, по никам через таб)
РЕШЕНИЕ ПРОБЛЕМЫ. Если нужно передвинуть курсор с точки (0,0) в точку (x,y), то мышку нужно будет перенести в точку (45,54•arctg(x/720), 45.54•arctg(y/720)).
Ну собственно для получения угла, нужно понять что изображение на мониторе на деле проекция на каком то расстоянии от камеры с шириной 1920px и высотой 1080px. Зная fov и размеры экрана мы можем посчитать условное расстояние xh = (HRes/2)/tg(fov/2), и так же посчитать для вертикали.потом при помощи этой величины и пикселей от центра экрана можно посчитать уже угол искомый.
При условии, что HRes = 1920, а fov у нас 106.26. Получается xh = 960/tan(53.13) = 720. При этом tan(53.13) выдает 1.33332... Что даёт нам это значение?
а теперь ждём ии для CS2D (именно CS2D), ведь там *ОМЕГААБСОЛЮТНОЕ* передвижение мыши))) да и плюсом, скорее всего, ии для неё легче объяснить и понять, а значит что это будет чем-то типо обучалки)))
Хауди, кажись ты зря мучался с углами тд. Можно просто вести прицел в сторону мишени пока он не достигнет её. И тогда это просто можно считать уже как 2д сетку.
А что бы разрабы не запалили в игрушке. Ставишь напротив монитора камеру и подключаешь её к второму компу с аим-ботом и делаешь usb имитатор мыши для основного пк. И ты самый быстрый и меткий ТОП игрок !!!
Ошибка как я понимаю происходит из-за того, что ты ищешь угол, исходя из того, что равное расстояние на экране имеет равный угол смещения, но это не так, это бы работало если бы проекция была на сфере, но движки так устроены, что проекцию на экран они считают как проекцию на плоскость(т.к. экраны плоские) и расстояние от тебя, до цели на этой проекции на самом деле увеличивается с увеличением углов. Углы нужно высчитывать из тригонометрических функций.
15:36 ты не прав, рекорд в гридшоте 174.4к, у бота отсутсвует плавность движения, а также он не учитывает последовательность появления шаров, он моментально наводится на цели с продолжительной остановочной силой из-за этого такой эффект "нечеловеческой скорости". Можешь посмотреть ролики WhoIsAqua чтобы точно понять что я имею ввиду. Если возможно, то мог бы попробовать создать нейросеть которая будет обучаться по реплеям рекордсмена WhoIsAqua, чтобы она смогла передавать человеческие движения
4:23 не будет ли мешать оружие находить цели? оно же перекрывает пол экрана 14:05 почему не match case ? и кстати попробуй научить нейронку ходить в игре (любой хоть в кс) было бы интересно посмотреть как это будет работать)
1) Очень редко оружие перекрывает цель, если она всего 1 на карте. В других случаях детект постоянный, и цель определяется даже если частично перекрыта оружием. 2) Хз, у меня тот же вопрос xD Ходить в игре нейронку я попытаюсь научить, сейчас в процессе осознания как это вообще сделать. Смотрю в сторону Q-Learning.
Ваша идея найти угол поворота при процентным соотношении по идеии должна сработать 100%й точностью. Но хз почему там промохи , возможно из за система обноружении ИИ. А насчет прицель, думою с начала нужно узнать насколько прицель приближает цель , и потом настолько раз менше указать угол поворота на ИИ И ещё ,если я правильно понял указанное там градусы до края экрана , значить при направлении курсора под углом процентные соотношение 53.13° не дасть нужного резултата . Если спросите советь, думою не обязательно втыкать туда 3D пронстранство , нужно указать резулаты мышки от точки А до точки Б, в 2Д (Если че сори за некомпитентность , я воошще не программисть😅)
Причина в координатных сетках, они разные. Проценты сработают, если бы они были одинаковые. А тут из Декартовых скорее всего идет перевод в сферические.
@@HowdyhoNet Я тут чутка подумал и понял процентные соотношение не дасть точных резултатов из за точки фокуса , и понял только центр имеет 90° для наблюдателя , и чем дальше центра цель находится чем больше у нас промохи были , что бы это исправить нужно найти сначала растояние от центр экрана до фокуса с помощи формула tg(a)= a-растояние от центра до краи/b-растояние от центра до фокуса) получется b = tg(53.13)/a и тот допустим цель находится в этой лини tg(a)= a/(tg(53.13)/a)=a/tg(53.13) так у нас будет точный угол поворота я думаю
Привет! Я так понимаю, что шары генерятся на невидемой плоскости причем по определенной сетке. Четко вычислять углы получится если знать координаты на этой плоскости до следующего шара и углы под которыми прицел смотрит на эту плоскость сейчас. Углы плывут от того что центральные шары находятся ближе к камере-игроку чем те которые появляются дальше от центра "плоскости". Если мы не знаем хотя бы углов плоскости шаров к плоскости экрана, то ни как. Можешь накидать в Unity сценку и посмотреть на углы и пиксели.
Хм а я думал, что нас ждёт уже частично готовый код ИИ для кс :)
Для того что бы ты себе его скопировал и апнул глобола)
сразу бан влетит
@@ovum_ordinarium так это не читы)
@@ovum_ordinariumа кто заметит?
@@mr_faild но твой то скилл не прокачается)
Для решения твоей проблемы достаточно использовать сферические системы координат. Коротко говоря это ответ на вопрос о том, как x y z перевести в угол по вертикали, угол по горизонтали. Гугли, там все просто. Вот как ни крути, а от синусов и косинусов избавиться не сможешь)
Я и не пытался, просто никогда не сталкивался с такой задачей.
В движках я это делал через встроенные методы по типу WorldToScreen.
А тут нет доступа к движку )
p.s. Спасибо за совет, обязательно чекну
научи меня своим знаниям
Открывал школьные учебники, делал через синусы и косинусы, плохая идея. В интернете есть решение смещения курсора по по относительным координатам.
аа как всё было просто
интересно насколько большими будут проблемы вызванные тем, что шары расположены не по сфере, а в одной плоскости...
Можешь попробовать сделать голосового ассистента, который произносит слова твоим голосом? Я смотрел предыдущие видосы )
он делал такого ассистента посмотри на канале хауди правда там не его голос но всё же
@@3_4a , да, я видел. Но голос криповый у них был
Бред
Так мы уже его слышим! Разве не похоже? 🤣
А потом он заменит его и будет пилить видосы
Это лучший сериал)) Пили следующую серию очень жду. Спасибо
Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
Вот это не легко делается, но я постараюсь )
В игры не играю, но предположу, что зависимость угла от перемещения мыши не линейная. В таких случаях лучше построить график зависимости смещения мыши в экселе (или его аналоге), желательно точек 20-50 использовать. Потом на этом графике правой кнопкой построить линию тренда и ее уравнение. И вот перемещение мыши по этому уравнению будет более точным, чем линейная формула с пикселями.
Сделай мне тиммейтов пожалуйста 😫🙏🙏
На второй комп тимейта профессионала
помни, матч мейкинг закидывает людей рандомно. Будут попадаться сильные игроки в команде? значит и у врагов не будет зевак.
@@ATtiny13a-PU обычно у тебя зеваки а противники нет
@@lll11l1lll1l2-p, система 50% может лишь замедлить перелив рейтинга. То что есть в играх валв, это конечно бесит, но остановить рост/спад рейтинга полностью не получится. Ты можешь откровенно руинить и тебе будут закидывать мужиков, которые 4 в 5 будут раскатывать, но в таком случае для замедления падения рейтинга одного придётся жертвовать редакцией рейтинга более одного чела на чём и строится тот небольшой дисбаланс, поэтому обычно 50% придерживается смеси, где руинеры и тащеры наименьшим образом отрываются друг от друга в обеих командах, если разрыв большой, то суммарный рейтинг начнёт меняться.
Вроде как задача регрессии. Собрать попадания и расстояния промахов в табличку и уменьшать промахи классическим обучением, ну или нейронкой в "три слоя" (Теорема Цыбенко, Универсальная теорема аппроксимации), раз уж формат такой. Потом предиктить по модельке.
Кстати можно сделать плавность движения за счёт интерполяции траектории + добавить парочку производных и 2ных производных и вуаля, античит сможет блокнуть только по детекту процесса захвата экрана, но это можно перебросить через какие нибудь стриминговые программы типа OBS
Ты делаешь хорошие поучительные видео
Спасибо❤️
Твои фразы в конце - САМЫЕ ЛУЧШИЕ!!!
fake af
Я тебя много где вижу.Неужели у нас интересы почти все одинаковы? То тут вижу то у SJbody и т.д.
@@flimo_6768 Рад :)
Спасибо за видео очень ждал вышло очень интересно
Хауди: Правила? Хаха, не знаю что это, делаю что хочу.
Ты топ!)
Абрахам, сними видос про то, как ты изучал ML и начинал писать нейронки.
Спасибо тебе огромное за урок информатики 😘😘😘
Юхууу!!!! Новый видосик)
Круто! Спасибо! Было интересно!
О, новый видос! Сразу лайк не глядя, потому что знаю, что годнота подъехала 😎🔥
Можна сделать для прицеливания в игре:
1. Сделать сетку для бота, узнать сколько нужно поверуть мышку для преодаления 1 квадрата, считать квадраты, повторять цикл например по range()
2. Найти прицел, найти куда надо двигать прицел для попадания в цель, двигать прицел (например: по 5 пикселей)
Заметка для Хауди Хо: есть модули Taichi, Numba или numpy, они для ускорения бота пойдут!
Мне нравится автор этого видео, по моему мнению он учится и выпускает видео, получает двойную выгоду сам обучается так еще и развивает бизнес в ютубе
0:45 - Сплошные читеры
Тот самый WhoIsAqua, потом сражающийся с ними реальным скиллом.
Кстати это правда, у него есть канал кому интересно почекайте какие вещи он ставит рукой.
И высказывание что обычный человек не может набить больше 100к очков, опровержима. Хотя, может он не обычный человек?
Видос получился очень познавательным!
На счёт перевода движения курсора в вращение в теории нужно делить движение на определенное значение, которое с бОльшим наклоном увеличивается
ты крутой разработчик 🔥
продолжай таким темпом
Хауди, ты просто красавчик, слов нет. Я года три как подписан на твой канал и безумно рад что узнал о твоём канале. Желаю успехов.
Жиза, самый лучший IT ютубер который умеет привлекать внимание интересным контентом )
Мне кажется ты мог бы сделать быстрее, если оптимизировал маршрут курсора. Реши задачу коммивояжера.
p. s. Согласен, глупость сказал.
Тем более точек немного, даже с лоб посчитается быстро
у него курсор мгновенно перемещается за 1 кадр, ему не нужно вычислять кротчайшее расстояние
@@ATtiny13a-PU Не кратчайшее расстояние, а кратчайший маршрут. Да и один кадр - тоже время
@@ATtiny13a-PU Аа, ну если так, то да, вы правы.
@@amidl нет, тогда он прав. Возьмём, например, для составления маршрута взвешенный полносвязный граф, если веса одинаковы, а они в таком случае одинаковы, то как бы мы его не обходили - путь всех маршрутов будет одинаков.
Привет Хоуди. Я сейчас тружусь над проектом дронов с ИИ на борту, который бы мог во первых снимать видео и после само обучатся для полного беспилотного пилотирования. То есть На борту стоит ИИ с натренированной сеткой, а обучение происходит на риге с карт RX3070. И после обновляется через консоль обратно в дрон. Задач очень много, от распознавания деревьев, рощ, лесопосадок, одиночных кустарников и деревьев, ориентироваться в пространстве. Сохранять маршрут и распознавать где летал и как возвращаться. Также понимать что в зависимости от высоты, карта также меняется (так как те объекты что становятся за пределами карты или камер мы чисто физически не видим). Я думаю ты уже понял то за тематика.
Приветствую! Рой дронов на самообучающейся нейронной сетке, вот круто, наверное!
@@ДневникПрикамья Естественно это очень крутая штука, и тут уже не игры на компьютере.
Судя по видео шары находятся на одной (или почти на одной, если обратить внимание на тени) плоскости. А значит мы можем рассчитать координаты из уравнения пересечения прямой с этой плоскостью. Прийдётся всё равно немного пошаманить методом тыка, но это может исправить ложные наведения. Отстреляв тогда цели с первого снимка надо делать новый для поиска целей в момент наведения на последнюю цель.
хауди ты топ, мне всегда интересно смотреть твои ролики, после рекламы я даже как то сам захотел стать программистом как ты xD
Только читал различные про ИИ и думал когда у тебя новый ролик)
Ты делаешь вещь )) ждём 4 часть
Спасибо большое за видео! Ты лучший!
Классный формат. Делай еще
Ты реально с другой планеты))
Желаю удачи :)
хауди спасибо за такой интересный контент! снимай больше видео по машинному обучению!!
Ты лучший братан удачи !!!
Вау, просто супер!
С Наступающим!
След.этап - занять 1 место.
Судя по стате, бот совершил 397 выстрелов за минуту (60/0.151мс). Я совсем далек от программирования, поэтому есть вопросы:
1. возможно ли сделать так, чтобы бот не тратил время на перемещение между целями, а каждый кадр находил цель? Как будто телепортировался на цель, а не передвигался между ними. Может как-то заранее прописывать карту (или трек, лог, координаты) перемещений.
2. Если первое не возможно, то может возможно перемещаться от крайней координаты цели к крейней координате другой цели. Условно, цель (Ц) весгда имеет форму круга. Возьмем шесть Ц, центры которых являются вершинами равностороннего шестиугольника (Ш1). Проведем из вершин прямые к цетру самого Ш1. Точка пересечения окружности Ц с этой прямой и будет крайней координатой Ц. Теперь если соединить крайние точки всех шести Ц, то получится шестиугольник (Ш2), вписанный в Ш1. А значит, Ш2 имеет меньший периметр, чем Ш1 и, соответственно, перемещение по периметру Ш2 быстрее, чем Ш1. Т.е. перемещение между Ц будет занимать меньшее время.
3. Может имеет смысл строить карту заранее между крайними точками целей. И перестраивать ее при появлении ближайшей новой цели.
Если я запутал объяснениями, но заитересовал, то в тг @XopBoHuxoTbunycT0 могу прислать рисунок того, что имею ввиду
Скажу сразу я тоже не программист. Но вот моё мнение по вашему вопросу.
1 у хауди цель в том что бот играл вместо него имитирует движения мыши и нажатия на кнопку. А что вы предлагаете противоречит механики самой игры.
2 Даже в видео можно было увидеть что бот чистенко промахивался даже целям по центру шара. Это случается Иза того что в игре есть функция отдачи. И часто Иза это быстрых комбо бот промахивается. А целится по краям это уже усложняет и так сложную задачу.
3 И да я вашу идею не правильно понял. И зделал неправильные выводы.
Хауди говорит же что Аим Лаб блокирует любое перемещение(телепотрирование) мыши.
@@opp_587 понятно. Пропустил этот момент
@@opp_587 так... А вот тот разворот на 180 градусов что было?
Ваай, люблю тебе)
Используй функцию dot (произведение векторов) для того, чтобы узнать насколько вектор цвета в HSV или RGB похож на другой цветовой вектор, значения нормализуй заранее от 0 до 1 желательно, выходное будет от -1 до 1. Так можно сравнить вектора любой размерности с любым содержанием.
Нет смысла для HSV схемы. Для RGB да, можно.
@@iforand, для HSV тоже норм, будут попадаться цвета с похожим оттенком, яркостью и насыщенностью, будет просто некоторое одно число релевантности. Можно конечно ещё и через матрицу поворота всё это провести, чтобы деформировать область пересечения, или просто находить расстояние до точки в цветовом пространстве, но тут и этого достаточно.
@@ATtiny13a-PU да у него проблема в том, что даже при непохожих насыщенности и яркости сферы не полностью маскируются, как я понял. :) Хотя, может действительно скалярное произведение в RGB пространстве может даст лучше результат, но не факт.
@@iforand, сейчас сгонял на шейдер той и проверил на практике, лучше всего работает расстояние от точки в HSV. У RGB проблема с перепадами яркости, но тоже работает.
Тестил на блевотных камнях, в шейдер тое это самая первая по списку дефолд текстура, выискивал только бирюзовые, находит успешно.
Тут ВАЖНО то, что 0 и 360 градусы цвета (или 0 и 1 в нормализованном диапазоне) равны, т.е. расстояние нужно искать относительно зацикленного пространства. Достаточно лишь вычислить расстояние между 3-мя точками в текущем и двух +макс - макс отдельными компонентами и взять минимальные по модулю, а потом запихнуть в функцию вычисления расстояния. Это особенно важно для красного например, т.к. он находится прям на разделении.
HelloWorld Хауди! Контент крутой, но когда начнешь коменты писать по коду? ))) кстати спасибо за открытую репу, интересно повторить, увидемся в топе ))
Та там вроде итак всё максимально понятно )
@@HowdyhoNet Согласен! )) Спасибо за интересные проекты, так держать!
Все круто, путь правильный и интересный!
Спасибо за интересности:3
ну хотяб в этот раз без нейронных сетей обошлись. А насчёт корректного наведения, нужно учитывать не только позицию шарика на экране, а ещё угол поворота самой камеры. Т.к. все мишени появляются в одной плоскости, то спокойно можно вычислить всё, включая дистанцию до цели (в глубину), относительные повороты и т.п.
Ну так то распознавание мишеней это и есть нейронка
@@nekit-scyth, ну ты прям совсем в танке видно. Это обычный алгоритм, даже не обучающийся. А нейросеть, это конкретная топология обучаемых алгоритмов. Калибровка и адаптирование тоже далеко не всегда являются обучаемыми алгоритмами, т.е. вполне строго описанными.
@@ATtiny13a-PU нейросети это конкретные структуры эмулирующие биологические нейронные сети, нейросети не обязательно должны быть обучаема, если уже известны необходимые веса. И слово алгоритм не совсем подходит к нейронкам. И, насколько я знаю, учитывая специфику компьютерного зрения, нейросети справляются с такой задачей намного эффективней обычных алгоритмов, поэтому, я допускаю предположение, что сейчас компьютерное зрение основывается на нейронках, но если это не так, это не значит, что я в танке. Это просто говорит о том, что я не занимаюсь компьютерным зрением
Ура-а-а хоуди начал делать видео чаще
Есть 1 прикольная идейка, которая будет универсальная для всех стрелялок сразу.
Игрок нажимает кнопку на объекте когда он на прицеле, а ИИ отслеживает перемещение и наводит прицел на объект по цвету например. Как слежение по маркеру.
Читы...
Хауди, есть простая идея сокращения времени отстрела мишеней: я заметил, что ии стреляет в центр красного шарика в бирюзовом шаре, но прохождение от края синего шара до центра красного хоть и мало, Но занимает карды/время, чтобы поразить цель достаточно попасть в минимальную границу синего шара, совпадающей с центром курсора, попробуй запрограммировать так:
Создай красное кольцо, которое чуть чуть меньше диаметра синего шара, в результате при пересечении курсора этой границы происходит выстрел, не доводя до центра, после чего курсор перемещается к следующей цели. Следовательно, время перемещения до выстрела сократится.
Если это глупо или невозможно или не дает результата, прокомментируй пж. Спасибо
Я так понимаю, судя по кадрам, даже поворот на 180° происходит мгновенно, поэтому это не должно сработать. Тут скорее сама проблема в скорости распознавания цвета самой программы, плюс, нужно убедиться второй раз, что под прицелом именно тот цвет. И если эту задержку сократить, то останется только скорость самого пистолета, насколько он может быстро стрелять.
И ещё, можно сократить количество распознаваний до минимума, чтобы один раз сканировать, расстрелять имеющиеся шарики и заново сканировать.
В общем, нужно найти скорость всех четырёх составляющих, количество сканирований в секунду, количество перемещений в секунду, выстрелов в секунду (самое важное) и сканирования цвета под прицелом в секунду, и тогда уже прорабатывать проблемную зону.
Слушай затея с развитием и понимаем ИИ это очень-очень круто! Мне очень сильно зашла такая тематика особенно на твоем канале!
Круто делай по чаще видосики по такой теме
Да понимаю трудно! Но буду ждать новых видосиков!
Красиво и качественно делаешь
Хауди, привет! Насчет проблемы думаю поможет основы линейной алгебры. Предлагаю прочитать RayCasting, там только на один FOV, но думаю принцип станет яснее. Успехов✊
Как обычно топ видео
Можно ещё попробовать сделать так:
Ты двигаешь курсор, а оружие само должно стрелять. Мне кажется это будет намного лучше. Думаю вы меня поняли
Блин начал изучать Пайтон после всех твои аргументов в его пользу, но насмотревшись роликов где говорят, что Пайтон хорош для вспомогательных задач но не годится для основы проекта, это побуждало меня перепрыгнуть с Пайтона на с++ или другой язык, но смотрю, что реально можно сделать, что то полезное и годное и на Пайтоне используя его исключительно как основу в проекте, в любом случае я думаю что Пайтон пригодится в будущем + даст лёгкий старт для понимания структуры и скелета кода, думаю разные языки строят одинаковый скелет для решения задач, но детали(команды) для вывода нужного результата разные.
Твой формат подачи информации живой и "простолюдинский" по сравнению с другими влогерами есть одна годная идея, можно вести стрим как ты пишешь простенький проект игры или приложухи с разъяснениями деталей например, что делает и для чего нужна это команда, и т.п, а чтобы это не было благотворительностью, можно создать донат сбор ВК или в другом месте, когда нужная сумма накопиться начать заниматься этим проектом.
*Изучая пайтон я уже придумал парочку интересных проектов для мобилы, это ещё сильнее мотивирует узнать как же все таки их реализовать.
Предлагаю определять x,y мишени и смешать курсор сначала в верх до достижения оси Х потом до Y, или посложнее делить расстояние до Х,Y мишени на "шаги" и перемещать курсор на них пока мишень не будет в прицеле. Подробно в клиенте ниже:
Тебе просто нужны пропорции шага для перемещения, к примеру x,y мишени = 4, 6, ты делишь их на 10 шагов и получаешь х=0.4 y=6 и смещаешь курсор пока мишень не окажется в прицеле.
Как вариант для улучшения результата, нужно сделать чтобы бот попадал не в центр шара, а в край шара, который ближе к прицелу. Тогда затратится еще меньше время на наведение)
3:04 ну так посмотри на максимальное значение. Самые популярные, это 100 180 и 360, есть ещё float 1.
Короче, смотри. Положение линии визирования (прицела) и его перемещение может определяться по разному от игре к игре. Т.е. в CS это простое "карусельное" управление, а в космосиме при управлении кораблём это уже полноценное свободное управление вне зависимости от текущего положения прицела. Но в любом случае придётся работать с искажениями координат. Так вот дело в том, что в космосиме управлять прицелом было бы проще, т.к. нет зависимости от его текущего положения. А в CS положение линии визирования задаётся простыми сферическими координатами: phi - азимут (по горизонту); theta - угол места (по вертикали). По сути здесь горизонтальное движение мыши влияет только на координату phi, а вертикальное перемещение мыши только на координату theta, а смещение мыши просто прибавляется к этим углам с некоторым коэффициентом "чувствительности". Потому, если задрать ствол вертикально вверх он, во-первых, не будет "подыматься" через верх за спину, а во-вторых, если в таком положении двинуть мышку вбок по горизонтали, то прицел не сдвинется на самом деле в бок, а останется на месте, но вместо этого начнёт вращаться сам персонаж вокруг своей вертикальной оси.
Так вот, для правильного перевода прицела проблема заключается в том. что нужно знать текущий угол "задирания" ствола, т.е. угол theta. И есть два пути, как это обойти: это всегда принимать его равным нулю и ловить ошибки наведения тем большие, чем сильнее задран ствол; параллельно пытаться рассчитывать текущий угол места прицела последовательным складыванием сдвигов прицела по вертикали и ловить накопительные ошибки вычислений. Я сделал несколько расчётов и привёл в маткадовском файле (с сохранением в RTF и HTML) с примером расчёта. Если здесь используется та же схема представления угла прицела, то должно "получиться" с поправкой на то, что угол места прицела неизвестен (может натренировать нейросеть для определения этого угла? :) ). Вот ссылка на архив, если ютуб её не грохнет
drive.google.com/file/d/1ofGOxX6sZlN7VzwAsjTnmP3aRYEqnLbS/view?usp=sharing
Если бы не было задачи передвинуть прицел за один кадр, то по мне логичнее было бы сделать простую следящую систему: просто "сдвигать" курсор мыши в сторону цели на каждом кадре пропорционально расстоянию до этой цели в пикселях. Если добавить ещё инерции (т.е. переменную скорости мыши), то тогда бы перемещение было бы похоже на человеческое. И проблем бы не было с определением угла theta.
Кстати, ещё, думаю, возможен вариант коррекции оценки угла theta, который высчитывается параллельно. Просто нужно измерять ошибку наведения и по неё оценить, на сколько мы ошибаемся в этом угле и корректировать его каждый раз. Тогда по идее всё должно работать отлично. Но нужно ещё немного подзаморочиться с выводом формулы, если решение "установить theta в ноль" не будет удовлетворительным.
Я смотрю ты запарился не хуже меня )
Спасибо, обязательно всё посмотрю!
По поводу задачи сдвинуть за один кадр это да, один из путей решения проблемы - это постоянный сдвиг и проверка что цель под курсором.
Но умение сдвигать за один кадр открывает много других преимуществ, не говоря уже об элементарной скорости.
Сделай и для змейки, думаю это ооочень интересная тема :)
Сложно бот должен будет рассчитывать данные двигаться по времени тропе
Человек способен набить на этой карте больше 100.000 очков))
У меня рекорд 115.000, хотя я не то чтобы часто её играю (но у меня в контре 12.000 часов, и в аим лабе 400). И я могу гораздо больше и лучше, нужно просто тренироваться
В остальном топовый и интересный видос
Хей, сделай ИИ играющего в шахматы, будет интересно посмотреть как они работают. А сам видос классный.
Вообще, для перевода перемещения мыши в углы можно воспользоваться переводом прямоугольных координат в полярные
И пока из самого банального до цели можно перемещаться за два шага.
Причём после первого шага замеры проводить... Ёмаё дайте мне пейнт... И где скачать этот ваш аим лаб..)
@@leprechauns5815в стиме
уже скачал) теперь пересматривать видос ибо не уверен в том откуда взялось 2420
А еще я вспомнил про десмос..
Сможешь сделать бота для доты? Будет интересно посмотреть
Если вы ничего не поняли, то не беспокойтесь, ведь я тоже ничего не понял, но главное, что поставил лайк
от программирования я далёк, но с радостью слушаю твои логические рассуждения)
Обалдеть ты сделал это , открыл новую страницу искусственного интеллекта . Даже не представляю что будет если такую машину посадить за реальный пулемет .
Её открыли задолго до меня )
Я просто показываю свои эксперименты.
А я помню как то делал для CS 1.6 бота, ставил там скины с желтыми головами и точно так же маской отфильтровывал картинку с экрана, и каким то образом наводился на голову. Радиус поиска бошки был ограничен определенной область вокруг прицела, типа чтоб наводило только когда достаточно близко поднесешь. И я тогда вообще даже не думал про какие то там углы, взял навел и все. Вспомнить бы как.
UPD: Короче проснулся в 4 утра и вспомнил. Я находил координаты этой головы на экране, и тупо мувал туда курсор, с помощью какого то там модуля. И это работало на все 100%, причем я даже не думая сразу пришел к этому и все, а щас вот в шоке что оказывается можно было углы какие то, матрицы. В общем находишь координаты шара и муваешь на них курсор. Залайкайте чтоб хауди увидел
Делаем ИИ для веселья ! мне понравилось видео, но жалко что ты про компьютерное зрение говорил и по сути это пример его использования :3
Теперь ждём видео с ботом который будет трекать мишени а не фликать в них!!!
Можно сделать подобного бота в ксго.Нужно взять головы моделек сделать картинки с разных сторон и углов, и заставить ИИ считывать это.Можно также написать чтобы ИИ определяло головы противника через определение команды.(По спавну, по бомбе в команде, по никам через таб)
И словить бан в стиме за создание читов
Охринеть ) у меня взорвался мозг , но блин видос крутой очень !
РЕШЕНИЕ ПРОБЛЕМЫ.
Если нужно передвинуть курсор с точки (0,0) в точку (x,y), то мышку нужно будет перенести в точку (45,54•arctg(x/720), 45.54•arctg(y/720)).
Попробую, спасибо
Определять цель по одному уникальному пикселю и использовать системные переменные для определения положения курсора мыши в игре эффективнее.
Итерировать все пиксели долго.
Про передвижение курсора не понял :3
Ждём "НЕЙРОСЕТЬ ИГРАЕТ В quake 3 arena И РАЗНОСИТ ВСЕХ!!!"
Твои ролики очень крутые.
Ну собственно для получения угла, нужно понять что изображение на мониторе на деле проекция на каком то расстоянии от камеры с шириной 1920px и высотой 1080px. Зная fov и размеры экрана мы можем посчитать условное расстояние xh = (HRes/2)/tg(fov/2), и так же посчитать для вертикали.потом при помощи этой величины и пикселей от центра экрана можно посчитать уже угол искомый.
При условии, что HRes = 1920, а fov у нас 106.26.
Получается xh = 960/tan(53.13) = 720.
При этом tan(53.13) выдает 1.33332...
Что даёт нам это значение?
@@HowdyhoNet допустим цель находится на x пикселей правее прицела тогда угол по горизонтали будет atan(x/720), потом то же самое по вертикали.
Выглядит круто!
Как насчёт ассистента для American truck simulator, удержание в полосе торможение перед встречным автомобилем?)
а теперь ждём ии для CS2D (именно CS2D), ведь там *ОМЕГААБСОЛЮТНОЕ* передвижение мыши))) да и плюсом, скорее всего, ии для неё легче объяснить и понять, а значит что это будет чем-то типо обучалки)))
Видео как всегда топ
Лови комментарий, я хз че написать, но продвинуть видео хочу иииии, и видео крутое.
Ну тут грех на пол пути останавливаться, давай Топ1!
Хауди, кажись ты зря мучался с углами тд. Можно просто вести прицел в сторону мишени пока он не достигнет её. И тогда это просто можно считать уже как 2д сетку.
Я знаю про этот метод, но все равно хотелось углами )
Телепорт чтоб был.
Ты чёртов гений!
Я всю жизнь думал что это бирюзовый цвет, а не синий. Ты у меня вылечил дальтонизм ))
Чувак это нереально круто но можешь сделать видео как использовать твой код. Я хотел бы тоже попробовать его но не знаю как.
Я начинаю писать на питоне, и с такими видео я офигиваю от его функционала
А что бы разрабы не запалили в игрушке. Ставишь напротив монитора камеру и подключаешь её к второму компу с аим-ботом и делаешь usb имитатор мыши для основного пк.
И ты самый быстрый и меткий ТОП игрок !!!
Можно просто передвигать мышь в сторону цели напрямую и стрелять при достижении голубого цвета, а затем повторять это в сторону ближайшего
Знаю, но это медленнее чем хотелось бы
Ошибка как я понимаю происходит из-за того, что ты ищешь угол, исходя из того, что равное расстояние на экране имеет равный угол смещения, но это не так, это бы работало если бы проекция была на сфере, но движки так устроены, что проекцию на экран они считают как проекцию на плоскость(т.к. экраны плоские) и расстояние от тебя, до цели на этой проекции на самом деле увеличивается с увеличением углов. Углы нужно высчитывать из тригонометрических функций.
Я это тоже примерно понял уже, кажется это как-то связано со сферическими координатами.
Хауди как поживает нейронка для кс?
Удачи в начинаниях и продолжения
Самый приятное объяснение в прогормировнии
В целом хорошо, работаю над ней )
15:36 ты не прав, рекорд в гридшоте 174.4к, у бота отсутсвует плавность движения, а также он не учитывает последовательность появления шаров, он моментально наводится на цели с продолжительной остановочной силой из-за этого такой эффект "нечеловеческой скорости". Можешь посмотреть ролики WhoIsAqua чтобы точно понять что я имею ввиду. Если возможно, то мог бы попробовать создать нейросеть которая будет обучаться по реплеям рекордсмена WhoIsAqua, чтобы она смогла передавать человеческие движения
Красавчик!
Ты крут, чувак.
топ!!!! спасибо за видео!!!!!!
TenZ: "Подержите моё пиво..."
4:23 не будет ли мешать оружие находить цели? оно же перекрывает пол экрана
14:05 почему не match case ?
и кстати попробуй научить нейронку ходить в игре (любой хоть в кс) было бы интересно посмотреть как это будет работать)
1) Очень редко оружие перекрывает цель, если она всего 1 на карте. В других случаях детект постоянный, и цель определяется даже если частично перекрыта оружием.
2) Хз, у меня тот же вопрос xD
Ходить в игре нейронку я попытаюсь научить, сейчас в процессе осознания как это вообще сделать.
Смотрю в сторону Q-Learning.
Эх завариваю чаёк и смотрю видосик.
Хауди, ты говорил что бот на кс не видит через дым, но люди умеют слышать:
Дай боту на кс уши с ними он узнает когда бомбу заплентили по звуку
Ваша идея найти угол поворота при процентным соотношении по идеии должна сработать 100%й точностью.
Но хз почему там промохи , возможно из за система обноружении ИИ.
А насчет прицель, думою с начала нужно узнать насколько прицель приближает цель , и потом настолько раз менше указать угол поворота на ИИ
И ещё ,если я правильно понял указанное там градусы до края экрана , значить при направлении курсора под углом процентные соотношение 53.13° не дасть нужного резултата .
Если спросите советь, думою не обязательно втыкать туда 3D пронстранство , нужно указать резулаты мышки от точки А до точки Б, в 2Д
(Если че сори за некомпитентность , я воошще не программисть😅)
Причина в координатных сетках, они разные.
Проценты сработают, если бы они были одинаковые.
А тут из Декартовых скорее всего идет перевод в сферические.
@@HowdyhoNet А почему они разные , разве кординаты не взято относительно экрана?
@@HowdyhoNet Я тут чутка подумал и понял процентные соотношение не дасть точных резултатов из за точки фокуса , и понял только центр имеет 90° для наблюдателя , и чем дальше центра цель находится чем больше у нас промохи были ,
что бы это исправить нужно найти сначала растояние от центр экрана до фокуса с помощи формула tg(a)= a-растояние от центра до краи/b-растояние от центра до фокуса)
получется b = tg(53.13)/a
и тот допустим цель находится в этой лини tg(a)= a/(tg(53.13)/a)=a/tg(53.13)
так у нас будет точный угол поворота я думаю
Привет! Я так понимаю, что шары генерятся на невидемой плоскости причем по определенной сетке. Четко вычислять углы получится если знать координаты на этой плоскости до следующего шара и углы под которыми прицел смотрит на эту плоскость сейчас. Углы плывут от того что центральные шары находятся ближе к камере-игроку чем те которые появляются дальше от центра "плоскости". Если мы не знаем хотя бы углов плоскости шаров к плоскости экрана, то ни как. Можешь накидать в Unity сценку и посмотреть на углы и пиксели.
Это единственный гений планеты, который делает нейронам для игр, не доросли еще нейронки для замены игрока