Физика в Unity - 9. Raycast

Поділитися
Вставка
  • Опубліковано 19 тра 2020
  • cloud.mail.ru/public/5KSW/5Jq... - скрипт для перемещения камеры
    Следующий урок - • Физика в Unity - 10. J...
    Этот урок - часть курса по основам физики в Unity.
    В курсе я постарался максимально подробно изложить все, что знаю по этой теме.
    Меня зовут Илья Карельцев вот мой vk( ilya19). Занимаюсь разработкой игр с 2012 года.
    На этом канале делюсь опытом по программированию и 3D Lowpoly моделированию.
    Я провожу курсы и онлайн-консультации по Unity.

КОМЕНТАРІ • 145

  • @REXbrd
    @REXbrd 2 дні тому

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

  • @yirakaigorodsev2691
    @yirakaigorodsev2691 4 роки тому +146

    Спасибо за НАГЛЯДНОЕ объяснение материала, как и что работает, особенно за визуализацию в Фотошопе. Также за примеры использования. От слов всех новичков скажу: "Спасибо, что учишь пользоваться ДОКУМЕНТАЦИЕЙ UNITY".

    • @user-cb5lu4rx7x
      @user-cb5lu4rx7x 3 роки тому +1

      Ты быканул или мне показалось?

    • @4orniy468
      @4orniy468 3 роки тому

      @@user-cb5lu4rx7x Мне тоже показалось

    • @Cherviblo
      @Cherviblo 3 роки тому +6

      @@4orniy468 И в чем выражается эта быковатость? Человек поделился эмоциями, а через текст их передать трудно, поэтому воспользовался капсом. Автор действительно топовый и доходчиво объясняет материал и сразу учит писать грамотный код и поясняет, почему он работает именно так, подкрепляя свои слова документацией. Разве нет?

    • @Unknown-hq4cp
      @Unknown-hq4cp 2 роки тому +1

      @@Cherviblo просто пока не посмотрел само видео, возникает такое ощущение, что это сарказм.

    • @theoctan8569
      @theoctan8569 2 роки тому

      Documentation it's must have!

  • @beautiful_ground
    @beautiful_ground 3 роки тому +40

    Этот человек - инженерный гений. Никто иной бы не догадался поставить микрофон в чашку.

  • @alex.artechtattoo
    @alex.artechtattoo 3 роки тому +30

    Не могу не нарадоваться тому, что кашёл этот канал, а через несколько месяцев попал на курс к этому замечательному человеку. Всем настоятельно рекомендую качать скилл у таких профессионалов своего дела как Илья. Материалы на вес золота! А грамотный, душевный подход к делу и людям очень мотивирует! Примного благодарен за твой титанический труд , Илья)

  • @mrmelog4320
    @mrmelog4320 3 роки тому +6

    Спасибо за понятное и наглядное объяснение) До этого урока очень боялся работать с лучами, а теперь это стало намного понятнее) Жаль что ты немного забросил контент, но я думаю твои ролики останутся у многих в сердечки) Спасибо всё понятно и информативно)

  • @obliviongamestudio2856
    @obliviongamestudio2856 2 роки тому +2

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

  • @Witsky
    @Witsky 2 роки тому +1

    Давно не мог разобраться с Raycast-ами, ибо уроки на youtube специализируются на "Напиши вот это и будет работать". Спасибо вам огромное за то, что помогли понять эту вещь и за то, что так постарались над видео.

  • @BrickEmperor
    @BrickEmperor 11 місяців тому

    Спасибо вам огромное!!!! Без вас я бы сделал выделение, не меньше чем через месяц, а благодаря вам я изучил выделение за один вечер!!! Словами не описать насколько вы мне помогли!!!

  • @theoctan8569
    @theoctan8569 4 роки тому +3

    Отдельное спасибо за такое пояснение, что у коллайдера есть свой метод Raycast, очень тонко подмечено, о чём как-то не очень догадывался) X_X

  • @ilhanilhanDev
    @ilhanilhanDev 4 роки тому +2

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

  • @ataka640
    @ataka640 12 годин тому

    самый крутой чел по разъяснению юнити!!!! Спасибо!

  • @Bushido_Cat
    @Bushido_Cat Рік тому +1

    Самые понятные уроки во всем ютубе, спасибо тебе огромное!

  • @shurik8252
    @shurik8252 Рік тому

    Обычно, не пишу комменты, но тут спустился, чтобы спасибо написать, очень всё по теме и нужное. Спасибо!

  • @user-rh1et8ch7n
    @user-rh1et8ch7n 3 роки тому

    Интереснейшая подача материала, большой респект!

  • @in2fractalout
    @in2fractalout 2 роки тому

    Благодарю. Разъяснения толковое. Выдержан приятный для восприятия ритм повествования

  • @user-ss2rj4wz5s
    @user-ss2rj4wz5s 3 роки тому

    Лайк. Интересно слушать. Как раз изучаю unity. Давай побольше уроков )

  • @unityrututorials1327
    @unityrututorials1327 2 роки тому +1

    Очень крутые видосы у тебя. Почему не когда твои ролики не видел. Спасибо большое дружище , ты мне много часов с экономил

  • @romanburiak6639
    @romanburiak6639 2 роки тому +3

    Спасибо. Очень крутое и понятное объяснение. Как раз то что искал

  • @user-wc1go1lg8g
    @user-wc1go1lg8g 3 роки тому +1

    Спасибо! теперь твои видео для меня nom.1 в изучении unity!

  • @novusis
    @novusis 3 роки тому

    Спасибо огромное! Очень полезно, это прям то что я искал) Узнал все что надо и даже больше!

  • @jenbu3007
    @jenbu3007 Рік тому +1

    Спасибо за простое понятное объяснение рэйкаста!

  • @TwilightGamerChronicles
    @TwilightGamerChronicles 3 місяці тому

    Ааа, светлая тема в среде разработки, ааа, мои глаза!

  • @untilisee
    @untilisee 3 роки тому +21

    Всё это знаю, но всё равно с удовольствием посмотрел на грамотное изложение материала.

  • @noobd6728
    @noobd6728 Рік тому

    самый лучший урок по рейкасту. Спасибо за урок, я подписался!

  • @ProakGames
    @ProakGames 5 місяців тому

    Спасибо, спасибо!! Самый лучший и понятный урок который я видел!

  • @skywoker123456
    @skywoker123456 3 роки тому

    Спасибо за подробное объяснение!

  • @user-jc9rc8yf3i
    @user-jc9rc8yf3i 2 роки тому

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

  • @Shikinev_2
    @Shikinev_2 2 роки тому +2

    Красавчик, все четко и ясно

  • @jordji8696
    @jordji8696 Рік тому +1

    Очень классно объясняешь, спасибо)

  • @spiralisna
    @spiralisna 3 роки тому

    Отличный материал! Спасибо)

  • @stanislav4055
    @stanislav4055 Рік тому

    Спасибо за подробное обьяснение

  • @designer.trifonov
    @designer.trifonov Рік тому

    Наконец-то годное и понятное видео)))

  • @Aboutpizza
    @Aboutpizza 2 роки тому

    Спасибо большое за эту серию видео. Тем более За PayCast.

  • @alekseyn7866
    @alekseyn7866 Рік тому

    Спасибо за видео.

  • @kindbecker8269
    @kindbecker8269 2 роки тому

    Спасибо за урок!!!!!!!!!!!!!!!!!!!!!!!

  • @SamuraiYamomoto
    @SamuraiYamomoto Рік тому

    Спасибо, красавчик мужчина!

  • @skytechdev
    @skytechdev 2 роки тому +1

    Спасибо за урок, но я считаю, что было бы полезно рассказать так же об анимации рэйкаста и толкание им других обьектов (стрельба)

  • @user-nh1kq8og7w
    @user-nh1kq8og7w Рік тому

    Спасибо, лучший!

  • @user-ul6bn5lz7e
    @user-ul6bn5lz7e 3 місяці тому

    хорошое объяснение

  • @user-kv7se9gv5y
    @user-kv7se9gv5y Рік тому

    спасибо большое!

  • @igorskorobohach367
    @igorskorobohach367 Рік тому

    Прекрасно

  • @GroveStreet-Home
    @GroveStreet-Home Рік тому +2

    Без рэйкаста нынче никуда)))

  • @gregorykl2317
    @gregorykl2317 3 роки тому +2

    Классный урок!
    РЕШЕНО.
    А возможно одновременно в Physics.Raycast() написать Distance и out hit? У меня не получилось.
    Идея такова: из центра камеры игрока идет Raycast. При наведении на обьект появляется UI элемент. Но если дистанция, к примеру, больше двух, то UI не появится.
    UI конкретно в моем случае, там может быть что угодно.
    P.S игра в 3D
    Как я это сделал:
    Как автор и показывал в видео я зашел в VS, напечатал Physics.Raycast() и мне уже VS выдал варианты. Среди них я нашел такую схему: Physics.Raycast(ray, out hit, maxDistance, LayerMask). Все замечательно работает.

  • @user-xt8nj8qd1o
    @user-xt8nj8qd1o Рік тому

    Спасибо

  • @user-we6si4mi3x
    @user-we6si4mi3x 2 роки тому +1

    комментарий в поддержку !

  • @user-ms2ig5it9d
    @user-ms2ig5it9d 3 роки тому +3

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

    • @EccentricGames
      @EccentricGames  3 роки тому +1

      Спасибо) да времени мне не хватает просто)

    • @user-ms2ig5it9d
      @user-ms2ig5it9d 3 роки тому +1

      @@EccentricGames понимаю, но зато моё время ты сэкономил немало) делаю небольшой симулятор для дипломного проекта, и ты очень помог разобраться во всех скриптах, которые я в инете находил

    • @EccentricGames
      @EccentricGames  3 роки тому

      @@user-ms2ig5it9d хорошо) покажи потом что получится)

    • @user-ms2ig5it9d
      @user-ms2ig5it9d 3 роки тому +1

      @@EccentricGames хорошо, отпишусь если конечно что-то получится 😹 сделал тестовую сцену с примитивами, ещё даже механику не всю реализовал, а у препода на компе уже лаги жёсткие... вот тебе идея для видео кстати, способы оптимизации игры)

  • @Jen-hs8ln
    @Jen-hs8ln 3 роки тому +1

    в топ!

  • @cronmax2857
    @cronmax2857 2 роки тому +2

    У меня не появляется луч в сцене что делать?

  • @MrKTYlhu
    @MrKTYlhu 4 роки тому +6

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

    • @EccentricGames
      @EccentricGames  4 роки тому +2

      Спасибо что напомнил. Вставил в описание.

  • @Nikita_Pro89
    @Nikita_Pro89 7 місяців тому

    Спасибо за такой замечательный урок. 👍 круть 😎 Но если я хочу таким же способом выделять 2Д спрайты, как это сделать?)

  • @Jam867
    @Jam867 2 роки тому +1

    Вопрос насчёт "развыделения", а не проще было просто после if ray на объекте то жёлтый просто добавить else и добавить чтобы он выкрашивплся допустим в серый цвет?

  • @HitsarOrig
    @HitsarOrig Рік тому

    конечно теперь кнопка подписки не красная, но я подпишусь)

  • @karenkirakosyan9096
    @karenkirakosyan9096 Рік тому

    Fantastic

  • @SECTOR_9
    @SECTOR_9 Рік тому

    Отличный тутор, спасибо большое! Остался один вопрос: красная точка остается в последней точке на объекте с коллайдером, если луч попадает в зону, где коллайдера нет. Как сделать так, чтобы точка исчезла, когда луч не сталкивается с коллайдерами?

  • @narekkhurshudyan7336
    @narekkhurshudyan7336 2 роки тому

    thanks

  • @Voronin-pz3ff
    @Voronin-pz3ff 4 роки тому +1

    Крута натуре

  • @adamgray9939
    @adamgray9939 3 роки тому

    За урок, хоть я его и не искал спасибо. Мне было бы интересно узнать, почему некоторые "устойчивые" в реальности тела совсем не устойчивы в юнити. Например, если поставить на один куб 1*1*1 массой 1кг другой - массой 25кг, то нижний начинает проседать, а верхний "елозить". Можно конечно пошаманить с параметрами материала, но это не совсем реально.... и как быть?! PS Про кнопку "Подписаться" порадовало)) надо уже сделать так что бы ютуб сам подписывал на каналы которые ты смотришь.. )

  • @user-ns3cs6gd5t
    @user-ns3cs6gd5t 3 роки тому

    Помогите плиз, как повернуть объект к конечной точки луча с постоянной скоростью?

  • @showboll3326
    @showboll3326 4 роки тому +3

    В начале скрипт написал, на куб кинул, луча нет(( Пишет типа неверная ссылка на vector3

  • @amni5tianone263
    @amni5tianone263 3 роки тому

    Tnx for a vid

  • @romildathetortoise
    @romildathetortoise Рік тому

    назначать компонент-скрипт для группы объектов, чтобы по нему определить что объект входит в группу. насколько это производительно? тут о(N) получается для каждого объекта

  • @Dumkras_old
    @Dumkras_old 4 роки тому +4

    Спасибо за познавательное видео! А можно такое же только в 2д?))

  • @RomanUnreal
    @RomanUnreal Рік тому

    пасиба

  • @GGamess
    @GGamess Рік тому

    на новой инпут системе Input.mousePosition не заработает, так же не будет работать и private void OnMouseEnter() для подсветки, я пока включил использование обоих, есть у кого то решение?

  • @user-xn9qk5ki6u
    @user-xn9qk5ki6u Рік тому

    Топ

  • @garet7855
    @garet7855 3 роки тому

    Все круто я почти все понял кроме одного. Можете пожалуйста сказать что такое ноомаль точки.

  • @ruslangolovchenko6797
    @ruslangolovchenko6797 2 роки тому

    Здравствуйте, а Вы планируете раскрыть функцию MeshTest?

  • @hrwigfbk12
    @hrwigfbk12 4 роки тому +4

    Что на счёт ray cast из объекта с rigidbody в 3d? Я на данный момент работаю только с 2d физикой в unity и там при любых условиях rigidbody2d перехватывает луч, даже если будет указан layer mask, поэтому я выключаю симуляцию в момент бросания луча, а после включаю.
    Хороший курс, много нового узнал! На столько качественного контента на русском, к сожалению, мало.

    • @EccentricGames
      @EccentricGames  4 роки тому +1

      Ну если луч будет идти изнутри коллайдера то не заденет. Маски должны работать, видимо что-то не так делаешь

    • @hrwigfbk12
      @hrwigfbk12 4 роки тому

      @@EccentricGames А, ну да. Не помню, что я не так делал, сейчас просто удалил строчки с отключением симуляции и всё нормально работает, хех.

  • @user-is6xn8kt6b
    @user-is6xn8kt6b Рік тому

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

  • @user-we6si4mi3x
    @user-we6si4mi3x Рік тому

    Спасибо за урок!! Такой вопрос, после обновления Unity 2020.3.4 (URP 10.4.0) до Unity 2021.3.10 (URP 12.1.7) столкнулись с проблемой заикания/замедления кадров, которой не было до обновления. Заикание заметно, когда игрок использует плавное передвижение, а также видно на анимированных движущихся объектах. Проблема заметна только на сборках Quest vr. В Steam VR проблема отсутствует. Не знаете что это может быть ?

  • @shelikhann
    @shelikhann Рік тому +1

    Я уже сделал кнопку ПОДПИСАТЬСЯ серой

  • @lukosir
    @lukosir 3 роки тому +4

    Автор:
    Думаю его можно сделать чуть-чуть по аккуратнее
    Я:
    Пытаюсь сделать это самостоятельно без подсказок на протяжении 2 часов и при это получается 120 строчек кода
    и при этом ни чего не работает.

  • @bbnowhat
    @bbnowhat 3 роки тому +1

    Отличное видео, вы мне очень помогли, можете сказать как сделать так чтобы visual studio делала подсказки для юнити, а то пишу переменные, методы и хз что и как
    Upd: все получилось

    • @mrmelog4320
      @mrmelog4320 3 роки тому

      Похожий трабл с Xamarin Studio (Mono Develop для олдов)

  • @NickProkhorenko
    @NickProkhorenko 2 роки тому

    Как можно реализовать испускание тысячи рейкастов из поля зрения камеры(не из камеры, а из поля зрения!). Хочу реализовать что-то наподобие оптимизации с помощью рейкастов, чтоб прогружались те объекты, которые я вижу и в которые попал луч, типа Oclussion Culling.

  • @nikigame3633
    @nikigame3633 2 роки тому

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

  • @user-fi1ez6pw8j
    @user-fi1ez6pw8j Рік тому

    Не думал, что в СНГ существуют качественные ролики по Unity

  • @boost_456
    @boost_456 2 роки тому

    Очень полезный урок. Только чтобы красить объекты выборочно, можно было дать тег этим объектам, а не писать отдельный скрипт.

  • @yury7100
    @yury7100 4 роки тому

    Здравствуйте, у вас в каком-то видео был рассказ про движение объекта под углом, но не помню в каком. Можете подсказать?

    • @EccentricGames
      @EccentricGames  4 роки тому

      ua-cam.com/video/BPHNurbv5Do/v-deo.html может это, если я правильно понял вопрос

  • @kukla1926
    @kukla1926 2 роки тому

    ухты! а можно с помощью луча как в 16:00 сделать чтобы персонаж при падении с высоты останавливал падение если луч касается земли

  • @nat543211
    @nat543211 2 роки тому

    а где взять скрипт pointer?

  • @tar1231
    @tar1231 2 роки тому

    почему при дебаге линии, ее конец прикреплен к 0, 0, 0?

  • @user-jq6mi7mv5n
    @user-jq6mi7mv5n 10 місяців тому +1

    Скрипт не работет. Не отслеживает движение мыши. Движения с клавиатуры работают. Что тут не так?

  • @esteticachannel4604
    @esteticachannel4604 2 роки тому

    а как сделать чтобы лучем был объект конкретный?

  • @LordVasya
    @LordVasya 11 місяців тому +2

    'Ray' does not contain a constructor that takes 2 arguments - перепроверил кучу раз, выдает это с первого скрипта, в инете не нашел что делать(

    • @novadin7507
      @novadin7507 11 місяців тому

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

  • @user-wf5gu3mk2y
    @user-wf5gu3mk2y 3 роки тому +1

    Сейчас в юнити новая виртуальная камера и с ней уже так рейкаст не хочет работать(

    • @verge_programming
      @verge_programming 3 роки тому

      Спустя 5 месяцев всё работает

  • @NoZhenya
    @NoZhenya 3 роки тому

    до 13:14

  • @random_viewer_e3g
    @random_viewer_e3g 2 роки тому

    что делать, если не отображается луч?

  • @velteck
    @velteck Рік тому

    Не понимаю почему когда рисуем луч нужно заново указывать параметры луча, к тому же там даже не написано какой луч мы рисуем. Если у меня их несколько?

  • @victorymirosya4937
    @victorymirosya4937 3 роки тому

    Сэнькю Вери матч)))

  • @Giga12
    @Giga12 Місяць тому

    Блин видео хорошее но как качество поменять а то код писать не удобно

  • @ivanmarcov1844
    @ivanmarcov1844 3 роки тому

    Как настроить длину луча? Чтобы он не был бесконечным.

    • @zayas_shutnik
      @zayas_shutnik 2 роки тому +1

      Raycast(объект, длина луча). Он на 16:20 об этом рассказывает

  • @bachateros934
    @bachateros934 2 роки тому

    У меня hit.point при попадании бесконечно меняется в чем проблема? Т.е. сфера перемещается между объектом куда попал луч и кубиком. А у автора сфера перемещается один раз. Код строчка в строчку такой же.

    • @yogoman4810
      @yogoman4810 2 роки тому

      У меня аналогично. Pointer постоянно перемещается от hit.point до Player'a.
      UPD: Надо убрать галку со Sphere Collider на сфере.
      По сути шарик рисуется материальным. Потому отталкивается от объекта. Выяснил это поставив перед лучом незакрепленный объект

  • @SlavaGlina
    @SlavaGlina 3 роки тому

    В самом начале уже проблемы. Скрипт ругается: в строчке Ray ray = new Ray(transform.position, transform.forward) говорит, что Ray не содержит конструктора, поэтому в скобках не должно быть ничего. А в Physics.Raycast(ray) говорит не удается преобразовать из "Ray" в "UnityEngine.Ray", в чем может быть причина?

    • @EccentricGames
      @EccentricGames  3 роки тому +2

      Может у тебя скрипт какой-то называется Ray

    • @SlavaGlina
      @SlavaGlina 3 роки тому

      ​@@EccentricGames​Да, спасибо большое

  • @zungzao
    @zungzao Рік тому +1

    объясняешь хорошо, жаль, что не работает

  • @user-sx1sv3km3m
    @user-sx1sv3km3m 2 роки тому

    А raycast по коллайдерам расчитывается или по мешу?

  • @foxboll150
    @foxboll150 Рік тому

    Что делать если я не вижу луч?

  • @Kostyan_Sigaev
    @Kostyan_Sigaev Рік тому

    Пытался разобраться с этими рейкастами по твоему року, переписал весть код как в видео, но компилятор так и не смог понять, откуда ты взял этот selectable и выдавал error CS0103: The name 'selectable' does not exist in the current context... Как не переписывал твой код, каждый раз получаю одну и ту же ошибку, а есть сам пропишу через private или public этот selectable, то ошибка пропадает, но ничего не работает, луч есть, но объект не перекрашивается. В общем, я так и не смог понять, как у тебя оно работало. Тесты проводил на разных версиях юнити, везде всё одинаково...

    • @Kostyan_Sigaev
      @Kostyan_Sigaev Рік тому

      @@user-sb3ey9dx1x у меня, кстати, проблема сама ушла через несколько дней. В чем было дело, я так и не понял...

  • @JK-ut4um
    @JK-ut4um 4 місяці тому

    18:15 как ты это сделал?

  • @KurzGuy
    @KurzGuy Рік тому

    Если карент селектабл правда и карент селектабл не селектабл, то каррент селектабл - деселектабл.

  • @ilyuxa2261
    @ilyuxa2261 Рік тому

    у меня не получилось желтый луч сделать