Искуственный интеллект врага в Unity (патрулирование, погоня и атака)

  Рет қаралды 41,400

АйтиНуб

АйтиНуб

Жыл бұрын

В этом видео мы научимся создавать искуственный интеллект вражеского персонажа, в частности патрулирование, нападение или погоню, и атаку в Unity.
📜 Скрипт из видео здесь: drive.google.com/file/d/1Y5m9...

Пікірлер: 266
@user-uf7hu2dq6y
@user-uf7hu2dq6y 8 ай бұрын
Внимание! В этом видео еще используется старая система навигации, вот видео в котором подробно описано где найти новую систему навигации и как ей пользоваться kzfaq.info/get/bejne/pLeBaqxnlZmlfqs.html.
@---eu1ki
@---eu1ki 6 ай бұрын
Можете помоч пож🙏🙏🙏 transform в PatrolBehaviour выдаёт ошибку 14 строка
@---eu1ki
@---eu1ki 6 ай бұрын
говорит что GameObject не содержит определение transform
@---eu1ki
@---eu1ki 6 ай бұрын
У меня патруь вообще не работает, исправил вышеописанные прорблемы и всё равно он просто стоит
@user-uf7hu2dq6y
@user-uf7hu2dq6y 6 ай бұрын
@@---eu1ki Не знаю может в более новых версиях редактора что-то поменяли, они постоянно что -то куда-то переносят, переназывают, так что трудно сказать, навигацию они там перенесли. Кстати теги все есть, все подключены, скрипт из описания взят? Тогда только проект смотреть надо. Если на ту же версию что у меня и все также сделать, то все заработает.
@user-se9bb5fc9g
@user-se9bb5fc9g 6 ай бұрын
@@user-uf7hu2dq6y а какая у вас версия
@rikut666
@rikut666 8 ай бұрын
Единственный кто нормально объяснил спасибо
@vvaifuofficial
@vvaifuofficial Жыл бұрын
Очень помогли спасибо! Хорошие уроки у вас
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Рад был помочь.
@infavi
@infavi Жыл бұрын
Спасибо вашему каналу!
@krishovie
@krishovie 8 ай бұрын
спасибо за туториал очень помог , у меня бейк теперь роботает 🥰
@user-qb8lx2uq5j
@user-qb8lx2uq5j Жыл бұрын
Еще кто будет пользоваться этим видео, имейте ввиду, здесь используется устаревшая (Obsolete) система AI Navigation. Как минимум с 2022 новая перенесена в плагин и устанавливается через Package Manager (надо проверить и установить, если ее нет в Packages) и устроена чуть по-другому.
@novaneti
@novaneti Жыл бұрын
а что за плагин, если не секрет?
@aramharutyunyan5681
@aramharutyunyan5681 9 ай бұрын
@@novaneti NavMeshComponents если не ошибаюсь Его можно найти в уроках про этот самый NavMesh
@genuich006
@genuich006 3 ай бұрын
Расскажи как надо устанавливать, а то у меня не получается
@Ablatytu_
@Ablatytu_ Ай бұрын
Новая система кстати дерьмо
@genuich006
@genuich006 Ай бұрын
@@Ablatytu_ А почему ?
@MALDON777
@MALDON777 Ай бұрын
Привет, не останавливайся пожалуйста, ты помогаешь очень многим людям, ты лучший, веди стримы, тебе миллионы донатить будут, респект тебе мужик, ты единственный человек на ютубе, который по этой теме, что то годное сделал
@user-uf7hu2dq6y
@user-uf7hu2dq6y Ай бұрын
Спасибо. Но, к сожалению я уже все. Во первых нет времени, во вторых Unity разочаровал меня. А в третьих KZfaq разочаровал за 3 года $100 вывел. Так что пока по крайней мере гастроли закончены. Насчет донатить я бы не сказал, а вот если бы какой то нормальный курс записать, то может и что-то и заработать.
@user-oc7ph9uq8e
@user-oc7ph9uq8e 15 күн бұрын
@@user-uf7hu2dq6y ждем курс
@RomanTest-sj8ep
@RomanTest-sj8ep 11 ай бұрын
Класс!
@Hdhs-qp7yo
@Hdhs-qp7yo 10 ай бұрын
Автор, больше спасибо
@ikizliruslan
@ikizliruslan Жыл бұрын
Спасибо тебе все получилось
@neko4ka0
@neko4ka0 Жыл бұрын
Сразу лайк авансом. И я первый)
@saske_koks
@saske_koks Жыл бұрын
Привет, не подскажешь как обратиться к скрипту на аниматоре из другого скрипта?
@doesntmvtter
@doesntmvtter Жыл бұрын
Как прописать в срипте , чттбы у врага был угол обзора, попадая в который он агрится на игрока ? Я пробовал по своему сделать , но не вышло у меня
@M.E.V..
@M.E.V.. 8 ай бұрын
Теперь просто пробегает в сквозь меня бесконечно
@user-uf7hu2dq6y
@user-uf7hu2dq6y 8 ай бұрын
Коллайдеры есть на объектах?
@user-xr9ye5qp1i
@user-xr9ye5qp1i Жыл бұрын
Отличный урок! Как всегда всё понятно=) Но есть вопрос. Чем добавление поведения мобов через add behaviour лучше создания отдельных скриптов для их контроля?
@user-qb8lx2uq5j
@user-qb8lx2uq5j Жыл бұрын
Только тем, что здесь события анимаций отлавливаются. Но точно так же их можно и другими методами проверять в едином скрипте врага.
@nikolayskoblov7480
@nikolayskoblov7480 7 ай бұрын
@@user-qb8lx2uq5jвот тут и возникает вопрос как все таки ПРАВИЛЬНО делать - единый скрипт или вот эти StateMachineBehavior? Ведь в них можно и обработку ввода сделать и таким образом и игрока тоже реализовать через эти скрипты
@Lidskiy
@Lidskiy 7 ай бұрын
Подскажите, что делать если все игровые механики у меня прописаны через FixedUpdate, а из-за того что на анимациях OnStateUpdate, то враг двигается дерганно если я двигаюсь относительно его.
@prostodynik22
@prostodynik22 Жыл бұрын
👍
@foxy9246
@foxy9246 Күн бұрын
Все работает спасибо. Есть два нюанса. Устанавливал такой же набор как у вас (его обновили). Посмотрел видео, которое вы прикрепили в комментариях, так как у меня Unity 2023. Мой NPC крутится вокруг поинтов, в то время как ваш этого не делает. Также иногда он останавливается и бежит на месте. Может быть, это связано с тем, что на террейн есть деревья, хотя их немного. И у меня есть NavMesh Surface (с другого вашего видео), в Navigation есть Bake. Причем удаляя один из них, NPC начинает крутиться вокруг одного поинта, но не бегает к остальным. Не знаю что делать. Буду благодарен за помощь. Еще раз спасибо
@user-uf7hu2dq6y
@user-uf7hu2dq6y 21 сағат бұрын
Я уже не занимаюсь этим, так что, к сожалению ничем помочь не могу.
@sofaglava
@sofaglava Жыл бұрын
Добрый день! Пишу по вашему гайду свой ИИ, но он всего лишь стоит на месте и дальше не двигается, все скрипты прописаны и закреплены, в чем может быть дело?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Привет. Если скрипты у меня брали, то проверьте, чтобы названия переменных и объектов совпадали из скриптов в сцене и аниматоре. MeshAgent стоит на персонаже? Bake делали? Ошибки, логи выбивает? Каких то других скриптов нету, ничего конфликтовать не может? Если анимации не срабатывает, то искать соответственно в этом направлении, если не перемещается, то MeshAgent.
@user-vy1ve5mk2c
@user-vy1ve5mk2c 4 ай бұрын
Привет, если не затруднит, скажи пожалуйста, на какой версии юнити был записан этот гайд
@user-uf7hu2dq6y
@user-uf7hu2dq6y 4 ай бұрын
Привет 2020.3.25f1 сверху слева все написано. На новых тоже самое только систему навигации надо ставить самому, закрепленный комментарий сверху.
@user-cb5ih3up3o
@user-cb5ih3up3o Жыл бұрын
Эти скрипты из описания можно скачать и вставить в юнити?
@ikizliruslan
@ikizliruslan Жыл бұрын
да
@Finel_Yqog
@Finel_Yqog 11 ай бұрын
Интересно а можно сделать так чтобы можно было регулировать поле зрения врага?
@user-uf7hu2dq6y
@user-uf7hu2dq6y 11 ай бұрын
Конечно можно, но у меня пока такого нет, надо отдельно урок снимать, в сети их полно есть или готовый ассет взять можно.
@x0bra
@x0bra Жыл бұрын
Спасибо большое, но есть вопрос почему после того как враг сдвинулся с 1 точки ко 2 то он там и остаёься и начинает кружится на ней?
@Fevralll
@Fevralll Жыл бұрын
такая же херня
@sookoshvily2037
@sookoshvily2037 Жыл бұрын
Нужно было выбрать другую анимацию
@x0bra
@x0bra Жыл бұрын
@@sookoshvily2037 спасибо помогло
@sookoshvily2037
@sookoshvily2037 Жыл бұрын
@@x0bra не за что)
@twizz2318
@twizz2318 Жыл бұрын
Привет, не модешь подсказать что делать если враг тригириться на меня и просто бежит в мою сторону. Скрипты уже раз 10 перепроверил не работает все равно. Помоги, могу проект скинуть если надо
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
ПАривет. Не знаю. Это программирование, тут где угодно ошибка может быть, как я могу знать, что у тебя в проекте. Смотреть искать надо что не так. Может в расстояниях в скриптах больше меньше. Может что то с коллайдерами, может в с переменными в аниматоре что то не так.
@alex25loks
@alex25loks Жыл бұрын
Всё круто, враг патрулирует территорию, преследует персонажа, поворачивается в его сторону, но почему-то у него не работают анимации, с чем это может быть связано?
@alex25loks
@alex25loks Жыл бұрын
Вопрос решён
@fumplstandoff2200
@fumplstandoff2200 6 ай бұрын
Здравствуйте, ролик отличный, я лайк поставил и подписался! Но единственное, у меня почему-то при переходе из состояния покоя в патрулирование, враг начинает анимацию патрулирования, но остаётся на месте, а затем снова в состоянии покоя и так по кругу. Я ваш код скопировал из гугл диска, сделав как на видео, но не работает(
@user-uf7hu2dq6y
@user-uf7hu2dq6y 6 ай бұрын
Когда вставляешь мой код смотри, чтобы у тебя все объекты и переменные точно ткже назывались, или меняй названия в коде, очень часто делают эту ошибку. Потом в коде у тебя могут быть разные расстояния, когда начинать анимацию, еще посмотри есть ли на всех объектах коллайдеры и риджидбоди и проверь их настройки. Дальше видео делалось на старой версии редактора, может уже что то не так работать, короче тут нюансов много может быть, без проекта не скажешь. Пойми это не ассет, что ты вставил и он у тебя заработал, это видео, чтобы более менее понять как это работает.
@RazvlekaykaBY
@RazvlekaykaBY Жыл бұрын
У меня не идёт к Points. Анимации срабатывают на месте, и меняются в зависимости от таймера. Но сам Enemy не движется никуда.
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Bake сделали? Navmesh Agent стоит? Скрипты все правильно подключены, переменные имеют такие же названия как в иерархии и аниматоре, как и в скриптах? Действия производились на чистую сцены или там уже куча всего стояло, что может конфликтовать? Коллайдеры, риджидбоди везде на всех объектах правильно стоят, как в видео? Данные в скриптах, расстояния разные тоже может надо поменять ()меньше, больше например) Ищите ошибку, если работает в видео, то и везде будет работать, по другому не может быть.
@RazvlekaykaBY
@RazvlekaykaBY Жыл бұрын
@@user-uf7hu2dq6y я применял ваш способ на 2D объект, не работает оно нормально. Сейчас ищу как сделать мирного NPC, который бы просто ходил влево и вправо останавливаясь на отдых секунд на 5.
@Yellowskull
@Yellowskull 11 ай бұрын
Помоги,а что если из анимаций у меня idle,patrol,attack?Просто когда я все это зделал мой враг стоит в idle позиции и не атакует меня и вовще не видет.У меня тег Player
@user-uf7hu2dq6y
@user-uf7hu2dq6y 11 ай бұрын
Если скрипты скачал в описании, то смотри, чтобы у тебя в проекте все переменные имели такие же названия, как и в скриптах. Компоненты в инспекторе все есть, коллайдеры например у объектов.
@zombirovan
@zombirovan Жыл бұрын
Можете подсказать как сделать спавнер для этих врагов врагов? У меня есть скрипт для спавна но я не могу *объект персонажа* засунуть в таргет (враг в префабах) (Я знаю что нельзя закидывать объект в префаб как быть?)
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Так сходу подсказать не могу, могу лишь по советовать готовый ассет взять, вот здесь например unityassetfree.com/search?search=spawn&submit=.
@deffking
@deffking Жыл бұрын
АйтиНуб привет! У меня возникла такая проблемка что юнити не распознаёт float и deltaTime подскажи пожалуйста что делать в таких случаях?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Как это не распознает? Такого не может быть. Код по ссылке скачивал?
@deffking
@deffking Жыл бұрын
Нет, а где ссылка?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
В описании, естественно.
@deffking
@deffking Жыл бұрын
@@user-uf7hu2dq6y спасибо большое
@GAMESPICTURE_official
@GAMESPICTURE_official 3 ай бұрын
что делать если у меня не перебрасываются анимации но там есть loop time
@user-uf7hu2dq6y
@user-uf7hu2dq6y 3 ай бұрын
Не знаю, что любая анимация с loop time не работает?
@mayzerhit5840
@mayzerhit5840 Жыл бұрын
Подскажите пожалуйста, у меня не появляется полотно при нажатии на кнопку Bake, как это исправить? Из за этого персонаж enemy не ходит а стоит на месте
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Короче так, выбираешь статические объекты (поле, деревья, дома, которые не двигаются), потом идешь соответственно Navigation здесь во вкладке Object есть Navigation static ставишь птичку, потом идешь Bake и делаешь Bake и все. Не забудь Navmesh Agent на двигающийся объект поставить.
@user-qb8lx2uq5j
@user-qb8lx2uq5j Жыл бұрын
В окне сцены проверь чтобы было черное полупрозрачное окошко AI Navigation (в старых версиях NavMesh DIsplay) и в нем нажать галочка "Show NavMash". Если черного окошка нет, то жми в правом верхнем углу окна сцены на кнопочку с тремя вертикальными точками и выбирай Overlay Menu. В этом меню включить показ окна AI Navigation.
@user-kv9ql6si5p
@user-kv9ql6si5p Жыл бұрын
Приве́т, столкнулся с такой проблемой. Сохраняю билд, запускаю, все работает нормально. Делаю какие-либо правки, но при следующем сохранении билда ничего не меняется. Менял папки и полностью удалял предыдущий билд, но не помогает. Сами изменения в проекте сохраняются, а билд не собирается новым, как первый раз собрал так и получается всегда.
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Попробуй просто новый билд в другом месте сохранить.
@Ablatytu_
@Ablatytu_ Ай бұрын
ArgumentOutORangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index Теги все навешаны правильно, AI тоже, никаких конфликтов с другими скриптами нет. Версия юнити конечно новая, но сомневаюсь, что в этом проблема, главное AI старый я установил
@user-uf7hu2dq6y
@user-uf7hu2dq6y Ай бұрын
Ну так все же написано индекс вышел за пределы допустимого диапазона. Должно быть неотрицательным и меньше размера коллекции.. Ошибка у вас, я как могу ее решить, не имея проэкта. Для начала уменьши коллекцию, если индексы не негативные.
@Ablatytu_
@Ablatytu_ Ай бұрын
@@user-uf7hu2dq6y так у меня всего 4 объекта в коллекции
@Ablatytu_
@Ablatytu_ Ай бұрын
@@user-uf7hu2dq6yя могу вам проект тогда скинуть? Потому что даже в пустом проекте, та же самая ошибка
@user-mj1oc6il4v
@user-mj1oc6il4v 23 күн бұрын
Здравствуйте. AI видит player даже через стены. Есть варианты как исправить?
@user-uf7hu2dq6y
@user-uf7hu2dq6y 22 күн бұрын
К сожалению, я с юнити уже давно распрощался, ничего сказать не могу.
@rickjonn5451
@rickjonn5451 10 ай бұрын
у меня проблема застрял на стадии патрюля у меня не пригруеться анимация ходьбы и он двигаеться на половину утопленный в карту полностью замерши помогите решить
@user-uf7hu2dq6y
@user-uf7hu2dq6y 9 ай бұрын
Наполовину у топленный это из за это коллайдера, старайтесь сразу выставлять все координаты на ноль и смотреть координаты коллайдеров на объектах. Такое бывает с готовыми ассетами или моделями, просто коллайдер выровняйте с вашим объектом. С анимацией может быть переменная не работает, может с расстояниями надо что-то сделать, увеличить например, надо самому смотреть, так не сказать без проекта. Поймите, что все видео делались на чистую сцену с нуля, то есть если у вас уже что то там было, могут быть разные конфликты. А если взять внимательно сделать все с нуля и ничего не пропустить, то все будет работать.
@prosto_danik2609
@prosto_danik2609 Жыл бұрын
Подскажите пожалуйста, как называется карта в assets store
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Рад бы по помочь да не могу. Я их не запоминаю, а проект давным давно удален, чтобы посмотреть. Единственное, что помню там вроде был еще зимний вариант в ассете. В ассет сторе напиши в поиске что то типа : medieval environment Что то похоже на этот, а может это он т есть, не помню assetstore.unity.com/packages/3d/environments/fantasy/fantasy-game-set-boundle-17002
@prosto_danik2609
@prosto_danik2609 Жыл бұрын
@@user-uf7hu2dq6y Спасибо большое
@xyligan4eg1488
@xyligan4eg1488 15 күн бұрын
у меня такая проблема у меня нпс проваливается под землю когда я с ним сталкиваюсь, как можно это исправить я уже все перепробовал. не именно проваливается в бесконечность под карту а как бы нагибается от соприкосновения со мной
@user-uf7hu2dq6y
@user-uf7hu2dq6y 13 күн бұрын
К сожалению я стаким никогда не сталкивался, коллайдеры на всех объектах отстроены правильно?
@crazyfilin4459
@crazyfilin4459 Жыл бұрын
Хэлп ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
@user-dy6lc8em3i
@user-dy6lc8em3i Жыл бұрын
У мень была такая же проблема. Сделай список не с Transform а с GameObject. Потом обращаяся не .position, а .transform.position.😅😊
@b0ka32
@b0ka32 11 ай бұрын
вылезает ошибка ("GetRemainingDistance" can only be called on an active agent that has been placed on a NavMesh. UnityEngine.StackTraceUtility:ExtractStackTrace () ) как я понял, это что-то типо "вы не навешали на navMesh на enemy" , вообще хз как фиксить, сейчас лазаю по форумам. Может сталкивался уже кто? подскажите как фиксили, пожалуйста
@b0ka32
@b0ka32 11 ай бұрын
это где-то в скрипте патруля
@mutamycet
@mutamycet 2 ай бұрын
Я не поздно? Добавь нав меш на врага, и запеки пространство для передвижения
@user-qb8lx2uq5j
@user-qb8lx2uq5j Жыл бұрын
Очень не гибкое решение с точками патрулирования. Что если врагов несколько и у них разные точки? Такое решение не подойдет. Искать точки по тегам через find() да еще в скрипте анимации - супернеудобно, да и вообще find это грешновато. Тут напрашивается перенести список точек в конкретного врага через сериализуемое поле. А через параметр аниматор в методах обработки событий анимаций находить нужного врага и менять ему состояние на требуемое в нужные моменты.
@user-st7qw4kn6j
@user-st7qw4kn6j Жыл бұрын
А как сделать, допустим, ядовитое облако, находясь в котором, моб будет получать урон. Для меня это большая проблема
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Не делал, не знаю.
@user-st7qw4kn6j
@user-st7qw4kn6j Жыл бұрын
@@user-uf7hu2dq6y , если не сложно, сделайте, пожалуйста. Я добавил в игру уголь и он по нажатию создаёт триггер, который наносит урон как игроку, так и мобу. С игроком работает на ура, а с мобом почему-то не работает
@BoBr01012
@BoBr01012 Жыл бұрын
Видео очень хорошее объясняете тоже хорошо но почему я не могу использовать Bake в Navigation?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Спасибо за отзыв. Выделяешь все статические объекты: здания, деревья и т.д и нажимаешь bake. Должно работать.
@buter_s_sirom
@buter_s_sirom Жыл бұрын
У меня заработало только когда я все объекты сделала дочерними для одного из них, может у Вас также
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
@@buter_s_sirom Например точки должны иметь общего родителя. Да и вообще группировать надо, чтобы легче было потом.
@natriy523
@natriy523 Жыл бұрын
как сделать так чтобы враг РАНДОМНО выбирал точку на карте и шел к ней (а при виде нас атаковал) (я буквально 0 в програмировании поэтому поясните подробно пж)
@assasin4863
@assasin4863 3 ай бұрын
kzfaq.info/get/bejne/Y8mkfc2dv9KWo2w.htmlsi=mjkYP_FY_Uql1Xjb
@karasgaming3231
@karasgaming3231 4 ай бұрын
А если нету меню Bake
@user-uf7hu2dq6y
@user-uf7hu2dq6y 4 ай бұрын
Смотри закрепленный комментарий.
@Ignis_Guido
@Ignis_Guido Жыл бұрын
Здравствуйте, возникла проблема - при контакте врага с игроком, враг заваливается на бок падая на 90% не подскажите как это можно исправить?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Привет. Если на объекте есть rigidbody, то в иерархии в риджитбоди есть Constants открываешь и там есть Freeze Position и Freeze Rotation, то есть заморозить позицию или ротацию. Тебе нужно ротацию, ставишь птичку на нужном векторе, здесь у тебя вектор z скорее всего и все. Ну или замораживаешь, тот вектор или позицию какую тебе надо.
@Ignis_Guido
@Ignis_Guido Жыл бұрын
@@user-uf7hu2dq6y спасибо Вам, но к сожалению это не помогло. Персонаж продолжает ложиться на бок под Х rotation - 90. Можно ли ещё как - то это решить?
@buter_s_sirom
@buter_s_sirom Жыл бұрын
Попробуй вместе с z поворот по х заморозить
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
@@Ignis_Guido Можно, если я увижу этот проект, хочешь скинь на гугл или яндекс диск, я посмотрю.
@Ignis_Guido
@Ignis_Guido Жыл бұрын
@@user-uf7hu2dq6y спасибо Вам. Я использовал ранее box collider и заменил его на коллайдер капсулы и впоследствии используя вашу настройку rigidbody смог пофиксить проблему
@buter_s_sirom
@buter_s_sirom Жыл бұрын
Добрый день! На данную строку кода(8:07 или около того) выдаёт такую ошибку, не могли бы ли Вы подсказать, как это исправить? Transform pointsObject = GameObject.FindGameObjectsWithTag("Points").transform; Ошибка CS1061 "GameObject[]" не содержит определения "transform", и не удалось найти доступный метод расширения "transform", принимающий тип "GameObject[]" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Привет, коды по ссылке брали? Теги стоят? Названия с названиями в скрипте совпадают?
@alex25loks
@alex25loks Жыл бұрын
В строчке "Transform pointsObject = GameObject.FindGameObjectsWithTag("Points").transform;" измени "FindGameObjectsWithTag" на "FindGameObjectWithTag", тогда всё будет работать, тоже такая проблема была
@user-lx7ng6ob5l
@user-lx7ng6ob5l Жыл бұрын
​@@alex25loks вы даже не представляете на сколько я вам благодарен
@alex25loks
@alex25loks Жыл бұрын
@@user-lx7ng6ob5l Всегда пожалуйста
@lazzypy1926
@lazzypy1926 11 ай бұрын
Здравствуйте, попробуйте так. GameObject[] poibtObject = GameObject.FindGameObjectsWithTag("Points").transform;
@sookoshvily2037
@sookoshvily2037 Жыл бұрын
Можете помочь, почему у меня он атакует один раз и встаёт?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
В анимации удара loop включен, посмотри птичка в loop есть.
@kotokombo6751
@kotokombo6751 11 ай бұрын
Второй баг в твоем коде ты в апдейте рандомно создаешь точку куда двигаться от этого он постоянно меняет кординаты. Опять задебажил там 8 точек и каж дебаг лог выдает дич каждый кадр. Рандом надо вынести за апдейт.
@kotokombo6751
@kotokombo6751 11 ай бұрын
Баг в скрипте когда заносиш поинты в листовый мосив. У меня 8 поинтов заноситься в масив потом при следующем вызове этой анимации снова они же заносяться. Кароче в скрипте перед timer = 0 надо дописать points.Clear(); Ато масив разрастаеться до бесконечности. Задебажыл там 8 , 16, 25 и так далее.
@CHEBUPE1KA228orig
@CHEBUPE1KA228orig Ай бұрын
что делать у меня нпс под землю падает по плечи?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Ай бұрын
Коллайдеры на нем проверь.
@krishovie
@krishovie 8 ай бұрын
привет у меня почеу то не совсем так как у тебя скинь пожалуйста этот юнити проект на гугл драйв тут в коменты,в ответе мне надо очень 🥺🥺🥺
@user-uf7hu2dq6y
@user-uf7hu2dq6y 8 ай бұрын
Привет. Да я бы скинул, если бы он у меня был, я все удаляю где то после второго месяца. А что не так именно? Если на чистый проект, то все должно быть так же как здесь.
@krishovie
@krishovie 8 ай бұрын
У меня проект уже 2 месяца как бы. А ну когда я включаю бейк То у меня эта синяя штука не активируется Хотя я делаю всё как на видео выделяю все эти объекты (((
@user-uf7hu2dq6y
@user-uf7hu2dq6y 8 ай бұрын
@@krishovie У тебя, когда ты статические объекты выбираешь в инспекторе в самом вверху справа возле названия есть чек поинт Static, он должен быть включен. У меня просто по умолчанию был включен поэтому я не обратил внимание на это.
@krishovie
@krishovie 8 ай бұрын
Aaaaa спс Если что ещё раз напишу Если что
@_waitfish_8248
@_waitfish_8248 Жыл бұрын
А что делать если перс бежит просто в перед, хотя сферы стоят и всю область выделил bake?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Я не знаю, смотрите внимательно, что то где то пропустили, куда то не вставили. Mesh Agent есть на персе? Я не видел проект, как я могу что то сказать по сути, если с нуля сделали, как у меня, то все должно работать.
@fogowwsky
@fogowwsky 11 ай бұрын
поставь свойство "static" на недвижимых обьектах
@artgin3811
@artgin3811 Жыл бұрын
Спасибо большое за урок! Все работает как надо, но если врагов сделать больше 3х они начинают иногда тупить в одну точку и никак не разойдутся...
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Спасибо. Дело в том, что в моих именно и не только в моих видео не есть решение для создания полноценной игры, а так сказать подсказка к дальнейшем вашим действием. То есть вы должны сами освоить программирование, но опираясь на какие то методы в моих видео. На платных курсах или уроках там уже серьезная разработка, а здесь чтобы хотя бы вы поняли что к чему.
@aramharutyunyan5681
@aramharutyunyan5681 9 ай бұрын
Можно сделать как с харвесторами в стратегиях, когда они ждут своей очереди что бы войти в здание и отдать ресурсы То есть, сделать так что если в точке уже находится патрульныц, то другой патрульный туда не шёл Это можно сделать таким образом Создать класс объекта и там вписать геймобджект патрульный И метод которая говорит кто этот патрульный и который убирает его а в патрульном сделать проверку на состояние поля геймобджекта, если он null то можно смело идти, а если нет то ищем другой Это проблема всех NavMeshAgent-ов, мы им даём один пункт и они всеми силами пытаются туда добраться, и друг с другом как будто в толчки играют
@Assassin-mn5is
@Assassin-mn5is 2 ай бұрын
Здравствуйте а что делать если у меня персонаж просто прямо бежит
@user-uf7hu2dq6y
@user-uf7hu2dq6y 2 ай бұрын
Я уже просто устал всем повторять одно и тоже, во первых: смотрите на видео в вверхнем левом углу какая версия редактора используется, потому как в других версиях могут быть внесены изминения как например здесь (смотрите закрепленный комментарий), во вторых: внимательно смотрите и слушайте видео, если работает у меня, то и у вас все заработает, в третьих: я не могу знать, что у вас происходит в проэкте, если вас что-то там уже есть, то возможны конфликты с существующими скриптами и в четвертых: старайтесь сами решать ошибки, если хотите конечно хоть чему нибудь научиться.
@user-st7qw4kn6j
@user-st7qw4kn6j Жыл бұрын
Туториал неплохой, наконец сделал мобу больший ИИ, чем просто ходить по карте, но у меня такой вопрос: а если мобу нужно атаковать не только игрока? Представим, что я хочу добавить в игру зомби. Он будет враждебен как к игроку, так и к рыцарю. Рыцарь аналогично, только реагирует уже на зомби. Как такое реализовать?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Тут надо все продумать так не скажу сразу, как правильно, я не профи. Некоторые вообще не так делают ии и не с тегами делают, а с компонентом, например у кого есть компонент с названием Enemy на того и нападает, то есть в инспекторе добавить скрипт с названием Enemy и там логику. Ну это так не объяснить, надо делать , пробовать.
@user-st7qw4kn6j
@user-st7qw4kn6j Жыл бұрын
@@user-uf7hu2dq6y , у меня появилась идея. Как только это будет реализовано, я могу сообщить
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
@@user-st7qw4kn6j Ok
@user-st7qw4kn6j
@user-st7qw4kn6j Жыл бұрын
@@user-uf7hu2dq6y , есть хорошая новость. Кажись, я смог это реализовать. Есть ВК или Дискорд?
@sadkotik
@sadkotik 8 ай бұрын
@@user-st7qw4kn6j Привет! Тоже учусь разрабатывать игры, ищу везде гайды, чтобы разбираться лучше. Если есть возможность, можно как-то связаться с тобой и увидеть как у тебя получилось реализовать такой ии? У самой допетрить не получается особо, потому надеюсь на помощь😅
@Hdhs-qp7yo
@Hdhs-qp7yo 9 ай бұрын
Кто нибудь сталкивался с багом:если фпс контролер выше определеного уровня, враг падает и бьет снизу вверх. Подскажите пожалуйста как решить
@user-uf7hu2dq6y
@user-uf7hu2dq6y 9 ай бұрын
В смысле выше уровня?
@Hdhs-qp7yo
@Hdhs-qp7yo 9 ай бұрын
@@user-uf7hu2dq6y если fps контролёр становится выше врага, враг смотрит на него и атакует, вися как бы в воздухе
@panteley83
@panteley83 Жыл бұрын
а что делать если враг при погони бежит на месте?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Ошибки ищите. Я же не вижу ваш проект, как я могу знать.
@Gameplay_co2
@Gameplay_co2 11 ай бұрын
здравствуйте а как сделать чтобы бот ходил не по точкам а по всей карте
@user-uf7hu2dq6y
@user-uf7hu2dq6y 11 ай бұрын
Привет. К сожалению, не знаю, так как сам такого не делал.
@user-om6eo1ej2n
@user-om6eo1ej2n 9 ай бұрын
как переместить анимацию в аниматор не получается просто перемещением
@user-uf7hu2dq6y
@user-uf7hu2dq6y 9 ай бұрын
Ты скорее всего пустую анимацию пытаешься закинуть, так естественно не будет работать. Как сделать анимацию смотри это видео с минуты 3-20 kzfaq.info/get/bejne/d5x6pLGbuNTTdmw.html
@Forest_Forever
@Forest_Forever 5 ай бұрын
А если у меня нету вкладки AI, что делать ?
@thompson2491
@thompson2491 5 ай бұрын
В плане нету вкладки?
@Forest_Forever
@Forest_Forever 5 ай бұрын
когда я захожу в меню Window там нету такой кнопки AI@@thompson2491
@user-uf7hu2dq6y
@user-uf7hu2dq6y 5 ай бұрын
Тогда смотреть мой закрепленный комментарий.
@user-xb2ji5rw4m
@user-xb2ji5rw4m Жыл бұрын
Почему у меня во вкладке Window нет строчки с Ai, кто-то сталкивался. Версия 2022.2
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Походу надо установить из package managerа. Ты наверное какую то не обкатаную версию Unity редактора поставил там возможны чудеса разные. Я всегда ставлю LTS версию, она стабильна. Здесь подробнее глянь: forum.unity.com/threads/where-is-window-ai-navigation.1296018/
@user-ob7nv7wx5e
@user-ob7nv7wx5e Ай бұрын
у меня происходит баг когда у врага начинается анимация ударов то он так застывает в этой анимации и стоит на месте.Что делать?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Ай бұрын
Сама анимация отдельно работает нормально, loop включен?
@user-ob7nv7wx5e
@user-ob7nv7wx5e Ай бұрын
@@user-uf7hu2dq6y да, все включено и отдельно работает
@user-uf7hu2dq6y
@user-uf7hu2dq6y Ай бұрын
@@user-ob7nv7wx5e Тогда надо смотреть самому, что с ним происходит, тут неугадаешь. С коллайдерами персонажа тоже все нормально?
@shtreben
@shtreben 11 ай бұрын
8:26 что за t? У меня юнити ругается, пишет что в этом контексте нельзя употреблять t !
@user-uf7hu2dq6y
@user-uf7hu2dq6y 11 ай бұрын
Ищите ошибку, как видите здесь все работает.
@shtreben
@shtreben 11 ай бұрын
@@user-uf7hu2dq6y все исправил , спасибо
@SaOzd
@SaOzd Жыл бұрын
У меня проблема когда я тестирую игру на андроид то, на телефоне враги двигаются но не перемешаются, интересно почему?
@SaOzd
@SaOzd Жыл бұрын
Кажется проблема в NavMeshAgent
@Hdhs-qp7yo
@Hdhs-qp7yo 10 ай бұрын
​@@SaOzdздравствуйте,вы смогли решить?
@user-cb5ih3up3o
@user-cb5ih3up3o Жыл бұрын
Что делать если нет анимации покоя и других анимаций? Мне они не нужны (неважно почему) и у меня их нет . Что делать?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Не понял!? Что у тебя за игра такая?
@user-cb5ih3up3o
@user-cb5ih3up3o Жыл бұрын
@@user-uf7hu2dq6y Я делаю про унитаз)
@user-cb5ih3up3o
@user-cb5ih3up3o Жыл бұрын
@@user-uf7hu2dq6y Это просто от нечего делать игра , про унитаз , где не нужны ему анимации =)
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
@@user-cb5ih3up3o Просто действие на кнопку если, то выбирай кнопку и по нажатию выполняй нужное действие.
@Hdhs-qp7yo
@Hdhs-qp7yo 10 ай бұрын
​@@user-cb5ih3up3oахахах
@XX_KillMe_XX
@XX_KillMe_XX 8 ай бұрын
что делать если нету функции NavMeshAgent?
@user-uf7hu2dq6y
@user-uf7hu2dq6y 7 ай бұрын
Здесь Component > Navigation > NavMesh Agent. (может правда в новых версиях где-то в другую папку зарыли, ну он есть искать надо в Component или в инспекторе нажать add Component и впоиске прописать NavMeshAgent) Или To use the NavMesh Agent component, add it to a GameObject: Select the GameObject that represents your agent. In the Inspector, click Add Component. Select Navigation > NavMesh Agent. The NavMesh Agent component is displayed in the Inspector window. docs.unity3d.com/Packages/com.unity.ai.navigation@2.0/manual/NavMeshAgent.html
@geronfamili593
@geronfamili593 Жыл бұрын
5:51 как это сделать? Я не понимаю, на какие клавишу нужно нажимать
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Раскомментировать писанину и оставить только методы, если ты про гарячие клавиши, то можно было бы в самой программе посмотреть или в интернете Ctrl + K Ctrl + U.По ссылке в описании можно готовый скрипт скачать и не мучаться.
@geronfamili593
@geronfamili593 Жыл бұрын
@@user-uf7hu2dq6y Большое спасибо за ответ
@PlayGoIlya
@PlayGoIlya 27 күн бұрын
Привет. У Меня не работает хотя всё также, я даже сделал анимацию хотя её нету, и всё равно не работает, как так
@user-uf7hu2dq6y
@user-uf7hu2dq6y 23 күн бұрын
Привет, к сожалению я без проэкта ничего сказать не могу. Кстати закрепленный коментарий читал? Может они в юнити что-то изменили и такой способ не работает на новой версии редактора.Для чистоты эксперимента надо ту же версию брать что и у меня и пробовать. Ты же видишь, что у меня все работает, значит у тебя должно.
@Chesna8198
@Chesna8198 10 ай бұрын
А что делать если нет пункта Ai?
@user-uf7hu2dq6y
@user-uf7hu2dq6y 10 ай бұрын
Какого пункта AI и где нету, конкретнее? UnityEngine.AI это пространство имен.
@user-se9bb5fc9g
@user-se9bb5fc9g 6 ай бұрын
А у меня токого значения не что мне делать
@thtvr6652
@thtvr6652 9 ай бұрын
Что делать если во вкладке виндус нету раздела Al
@user-uf7hu2dq6y
@user-uf7hu2dq6y 9 ай бұрын
Не знаю, уменя версия редактора 2021.3.0f1 там все есть, может в более новых версиях что то изменилось, куда то в другое место перенесли navigation, поищите.
@user-uf7hu2dq6y
@user-uf7hu2dq6y 9 ай бұрын
Да изменилось в новых версиях. Учитесь на будущее сами искать такое, сейчас система ai navigation находится в package manager вот видео здесь kzfaq.info/get/bejne/q5h1hNejyc3Kfqc.html
@thtvr6652
@thtvr6652 9 ай бұрын
@@user-uf7hu2dq6y спасибо
@flashstand78103
@flashstand78103 11 ай бұрын
у меня нету al
@user-un6rz6jv7x
@user-un6rz6jv7x Жыл бұрын
Очень понравился ваш урок, но у меня враг не реагирует на игрока хотя я tag на игрока наложила. Патруль работает а остальное нет
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Спасибо. Коллайдеры на всех есть? Может с расстояниями по экспериментировать в скриптах, больше, меньше. Просто наугад здесь не скажешь, очевидно, что проблемы в самом проекте, если хочешь можешь заархивировать и выложить на гугл или яндекс диск, я посмотрю и скажу в чем проблема.
@user-un6rz6jv7x
@user-un6rz6jv7x Жыл бұрын
@@user-uf7hu2dq6y Спасибо, вообще у меня игрок от третьего лица и я попробовала добавить asset от первого лица и все заработало однако я не понимаю почему на моего игрока не реагирует
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
@@user-un6rz6jv7x ОК. Еще бы доступ открыть, было бы хорошо, а то я без доступа скачать то не могу.
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
@@user-un6rz6jv7x У тебя там проблема с контроллером и камерой, у меня почему то твой перс в другие стороны ходит, жму в лево она враво и наоборот, но это не суть. В коде все ровно. Для начала удали first person controller ведь он не нужен. Мышку тоже не выключила при игре. Короче ты должна сделать, а лучше взять уже готовый third person controller и пробовать. Я взял вот этотunityassetfree.com/file/invector-third-person-controller-basic-locomotion-template как установить свою модель можно посмотреть в этом видео kzfaq.info/get/bejne/g7dxnZeh1bGzn4E.html где то с 5 минуты. Я правда пробовал с ихним ботом, все работало прекрасно, но с твоей моделью присутствуют артефакты. Короче вывод с врагом и скриптами все хорошо, а вот проблема есть в контроллере. Если будешь пробовать то выставляй координаты игрока на позиции в инспекторе transform position по x = -410, по y = 0.2 и по z = 120, чтобы долго не мучилась и на место возле врага сразу встал персонаж. Я предлагаю пробовать или с этим контроллером или подобрать любой другой на сайте есть выбор. Я еще посмотрю, если найду как сделать сниму видео и вышлю. А пока пробуй сама, главное все ненужное всегда удаляй, чтобы не было в сцене куча контроллеров, камер и прочего, а то они конфликтуют. Врага не трогаешь и скрипты с ним связанные, а ищещь контроллер или пишешь свой.
@user-un6rz6jv7x
@user-un6rz6jv7x Жыл бұрын
@@user-uf7hu2dq6y Хорошо ,спасибо большое за подробное объяснение
@repouH4uK
@repouH4uK 5 ай бұрын
кто может подсказать почему у меня в 14 строке транмформ подчёркнуто?
@user-uf7hu2dq6y
@user-uf7hu2dq6y 5 ай бұрын
Смотри, у меня здесь старая версия редактора, у тебя скорее всего новая уже обновленная, поэтому может у них что-то там поменялось уже. Когда наводишь курсор ничего не написано?
@repouH4uK
@repouH4uK 5 ай бұрын
@@user-uf7hu2dq6y я уже разобрался я просто из вашего скрипта который прикреплён к ролику взял эту строку и вставил в свой скрипт и у меня всё заработало
@sergeygornostaev328
@sergeygornostaev328 Жыл бұрын
привет) а у меня почему ходит к одной точке(
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Внимательно смотрите, что то не сделали значит. Все точки добавили в массив?
@sergeygornostaev328
@sergeygornostaev328 Жыл бұрын
@@user-uf7hu2dq6y У вас анимации Generic ,а с humanoid остается кружится на месте
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
@@sergeygornostaev328 Если кружится на месте значит не видит куда ему идти. NavMesh Agent стоит? Наугад не могу помочь тебе, хочешь кинь прект скажу ошибку.
@daniilloparev947
@daniilloparev947 Жыл бұрын
Что делать если у меня что-то с кодом не то вроде все правильно и копировал код имам делал все равно не получается
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
А я откуда могу знать, что у тебя с кодом, я пока даром ясновидения не обладаю. ) Скрипт можно скачать в описании.
@daniilloparev947
@daniilloparev947 Жыл бұрын
​@@user-uf7hu2dq6y Вроде больше нет ошибок но теперь он бесконечно стоит на месте
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
@@daniilloparev947 Я что могу? У меня твоего проекта нет, как я могу знать, что там.
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Вышли проект, если хочешь я скажу в чем проблема.
@daniilloparev947
@daniilloparev947 Жыл бұрын
@@user-uf7hu2dq6y да
@SaloNetDcom
@SaloNetDcom 9 ай бұрын
урок хороший, но шрифт в vs нужно больше делать
@user-uf7hu2dq6y
@user-uf7hu2dq6y 9 ай бұрын
В более новых видео уже сделан, да и скрипт готовый есть в описании.
@SaloNetDcom
@SaloNetDcom 9 ай бұрын
@@user-uf7hu2dq6y спасибо, понял не буду бухтеть
@user-uf7hu2dq6y
@user-uf7hu2dq6y 9 ай бұрын
@@SaloNetDcom Ничего страшного, я сам виноват, лопухнулся по началу.
@Orl_a_n_Do
@Orl_a_n_Do 6 ай бұрын
Вот только не понял как вкладка AI в Window появилась
@user-uf7hu2dq6y
@user-uf7hu2dq6y 6 ай бұрын
Она там и была это на новых версиях ai navigation надо устанавливать, в старых версиях редактора она там была. В левом верхнем углу версия редактора указана.
@karasgaming3231
@karasgaming3231 4 ай бұрын
​@@user-uf7hu2dq6y вкладки Bake нету
@PwaweDafe
@PwaweDafe Ай бұрын
Что делать если персонаж в пол уходит?
@user-uf7hu2dq6y
@user-uf7hu2dq6y Ай бұрын
Проверте коллайдеры на персонаже.
@PwaweDafe
@PwaweDafe 23 күн бұрын
Проблема решена, еще подскажите как настроить персонажа чтобы он терял игрока но не так быстро
@user-uf7hu2dq6y
@user-uf7hu2dq6y 22 күн бұрын
@@PwaweDafe К сожалению ничего не могу сказать я уже юнити не занимаюсь.
@user-uf7hu2dq6y
@user-uf7hu2dq6y 22 күн бұрын
@@PwaweDafe К сожалению, я с юнити уже давно распрощался, ничего сказать не могу.
@killmersy2504
@killmersy2504 Жыл бұрын
А как сделать так чтоб им не проходил сквозь стены
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Он и не должен проходить, если у тебя везде есть коллайдеры на всех объектах и соответственно правильно настроены.
@killmersy2504
@killmersy2504 Жыл бұрын
@@user-uf7hu2dq6y ну я создал ИИ и он проходит через стен а я меш рендер включил
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
@@killmersy2504 Коллайдер на нем есть и на стенах причем здесь меш. Коллайдеры соприкасаются и не пускают, это как барьер.
@killmersy2504
@killmersy2504 Жыл бұрын
@@user-uf7hu2dq6y то есть дело не в стенах а в ИИ
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
@@killmersy2504 На любом объекте, если ты хочешь чтобы через него что-то пролетало наскыозь, должен висеть коллайдер. Например у тебя персонаж стоит на земле, у нее есть коллайдер в инспекторе, если ты уберещь его, то персонаж провалится в бездну. На персонаже и на стенах должны быть коллайдеры.
@user-gl1ib3zm4t
@user-gl1ib3zm4t 3 ай бұрын
а что если нет AI
@user-uf7hu2dq6y
@user-uf7hu2dq6y 3 ай бұрын
Смотрите закрепленный комментарий.
@ElectroWorldMinecraft
@ElectroWorldMinecraft Жыл бұрын
Ктото знает а как сделать так чтобы враг рандомно выбирал точку?
@COIDAT-
@COIDAT- Жыл бұрын
Он так и делает
@DissKAHom
@DissKAHom Жыл бұрын
//создание случайно точки для движения float randomZ = Random.Range(-walkPointRange, walkPointRange); float randomX = Random.Range(-walkPointRange, walkPointRange); wayPoint = new Vector3(transform.position.x + randomX, transform.position.y, transform.position.z + randomZ); if(Physics.Raycast(wayPoint, -transform.up, 2f, whatIsGround )) { walkPointSet = true; }
@M.E.V..
@M.E.V.. 8 ай бұрын
Все сделал и ни чего не происходит. Просто стоит в idle
@MrFnafetski
@MrFnafetski 5 ай бұрын
у меня персонаж идёт прямо и всё
@user-uf7hu2dq6y
@user-uf7hu2dq6y 5 ай бұрын
Если скрипт берете у меня смотрите чтобы переменные и объекты имели такие же названия как в скрипте или меняйте на свои, анимации стоят и переменные?.
@4ll4inS3r13s
@4ll4inS3r13s 7 ай бұрын
помогите пж, у меня во вкладке Window нет AI
@user-uf7hu2dq6y
@user-uf7hu2dq6y 7 ай бұрын
В новых версиях по моему устанавливать надо в package manager. Вот видео может поможет kzfaq.info/get/bejne/q5h1hNejyc3Kfqc.html И на будущее, там постоянно что то будет в unity меняться, так что ищите или в гугле или на официанльном сайте какие обновления в каких версиях были. Вот результаты www.google.com/search?client=firefox-b-d&q=ai+navigation+in+unity
@4ll4inS3r13s
@4ll4inS3r13s 7 ай бұрын
@@user-uf7hu2dq6yБлагодарю
@4ll4inS3r13s
@4ll4inS3r13s 7 ай бұрын
У меня не получается найти Bake после установки этого, где он расположен
@user-uf7hu2dq6y
@user-uf7hu2dq6y 7 ай бұрын
@@4ll4inS3r13s У меня старая версия движка. Вот здесь смотри kzfaq.info/get/bejne/aMxilN2ZytacZ30.html
@4ll4inS3r13s
@4ll4inS3r13s 7 ай бұрын
а какого года? я тоже такой установлю @@user-uf7hu2dq6y
@kotokombo6751
@kotokombo6751 11 ай бұрын
Ну и третий баг ты скопировал таймер он не дожыдаеться пока он дойдет до точки. И тупо меняет направление. Тоести по истечению 10 секунд поф дошел нет менят точку.
@OS-ez9re
@OS-ez9re 7 ай бұрын
он бегал только к одной точке. решение: у вас было пара ошибок, вот скрипты правильные: IdleBehaviour: using System.Collections; using System.Collections.Generic; using UnityEngine; public class IdleBehaviour : StateMachineBehaviour { float timer; Transform player; float chaseRange = 10; // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { timer = 0f; player = GameObject.FindGameObjectWithTag("Player").transform; } // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { timer += Time.deltaTime; if (timer > 2) { timer = 0f; animator.SetBool("isPatrolling", true); } float distance = Vector3.Distance(animator.transform.position, player.position); if (distance < chaseRange) { animator.SetBool("isChasing", true); timer = 0f; } } // OnStateExit is called when a transition ends and the state machine finishes evaluating this state override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { } } PatrolBehaviour: using UnityEngine.AI; using System.Collections.Generic; using UnityEngine; public class PatrolBehaviour : StateMachineBehaviour { float timer; int random; List points = new List(); NavMeshAgent agent; Transform player; float chaseRange = 10; // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { timer = 0; Transform pointsObject = GameObject.FindGameObjectWithTag("Points").transform; foreach (Transform t in pointsObject) points.Add(t); random = Random.Range(0, 9); agent = animator.GetComponent(); agent.SetDestination(points[random].position); player = GameObject.FindGameObjectWithTag("Player").transform; } // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { if (agent.remainingDistance 5) { animator.SetBool("isPatrolling", false); timer = 0f; } float distance = Vector3.Distance(animator.transform.position, player.position); if (distance < chaseRange) { animator.SetBool("isChasing", true); timer = 0f; } } // OnStateExit is called when a transition ends and the state machine finishes evaluating this state override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { agent.SetDestination(agent.transform.position); } } ChaseBehaviour: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class ChaseBehaviour : StateMachineBehaviour { NavMeshAgent agent; Transform player; float attackRange = 2; // float chaseRange = 10; // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { agent = animator.GetComponent(); agent.speed = 4; player = GameObject.FindGameObjectWithTag("Player").transform; } // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { agent.SetDestination(player.position); float distance = Vector3.Distance(animator.transform.position, player.position); if (distance < attackRange) animator.SetBool("isAttacking", true); if (distance > 10) animator.SetBool("isChasing", false); } // OnStateExit is called when a transition ends and the state machine finishes evaluating this state override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { agent.SetDestination(agent.transform.position); agent.speed = 2; } } AttackBehaviour: using System.Collections; using System.Collections.Generic; using UnityEngine; public class AttackBehaviour : StateMachineBehaviour { Transform player; // OnStateEnter is called when a transition starts and the state machine starts to evaluate this state override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { player = GameObject.FindGameObjectWithTag("Player").transform; } // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { animator.transform.LookAt(player); float distance = Vector3.Distance(animator.transform.position, player.position); if (distance > 3) animator.SetBool("isAttacking", false); if (distance > 10) animator.SetBool("isChasing", false); } // OnStateExit is called when a transition ends and the state machine finishes evaluating this state override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { } }
@user-qo5dc8ch7b
@user-qo5dc8ch7b Жыл бұрын
чета у меня 900 ошибок
@user-uf7hu2dq6y
@user-uf7hu2dq6y Жыл бұрын
Читай и исправляй, там наверное все 900 ошибок с одной связано.
@ZxcHorusLite
@ZxcHorusLite 5 ай бұрын
помогите исправить ошибки пожалуйста 1) NullReferenceException: Object reference not set to an instance of an object PatrolBehaviour.OnStateUpdate (UnityEngine.Animator animator, UnityEngine.AnimatorStateInfo stateInfo, System.Int32 layerIndex) (at Assets/scripts/PatrolBehaviour.cs:37) 2) "GetRemainingDistance" can only be called on an active agent that has been placed on a NavMesh. UnityEngine.StackTraceUtility:ExtractStackTrace () PatrolBehaviour:OnStateUpdate (UnityEngine.Animator,UnityEngine.AnimatorStateInfo,int) (at Assets/scripts/PatrolBehaviour.cs:30) обе ошибки появляються при анимации хождения при этом все анимации работают проверил все теги и названия может ли это быть из-за того что враг состоит из нескольких объектов?
AI Враг в UNITY 3D | pt.1
14:23
SAFING
Рет қаралды 16 М.
Универ. 13 лет спустя - ВСЕ СЕРИИ ПОДРЯД
9:07:11
Комедии 2023
Рет қаралды 6 МЛН
Получилось у Вики?😂 #хабибка
00:14
ХАБИБ
Рет қаралды 5 МЛН
Stupid Barry Find Mellstroy in Escape From Prison Challenge
00:29
Garri Creative
Рет қаралды 20 МЛН
Haha😂 Power💪 #trending #funny #viral #shorts
00:18
Reaction Station TV
Рет қаралды 13 МЛН
ИИ на Unity | NavMesh - Теория
15:53
КиберКоала
Рет қаралды 381
Создание Hello Neighbor на Unity #1
10:54
RAZRAB
Рет қаралды 6 М.
Всё про корутины в Unity 3D
13:18
Emerald Powder
Рет қаралды 98 М.
Универ. 13 лет спустя - ВСЕ СЕРИИ ПОДРЯД
9:07:11
Комедии 2023
Рет қаралды 6 МЛН