Top down передвижение в Unity

Поделиться
HTML-код
  • Опубликовано: 23 дек 2024

Комментарии • 139

  • @GDevAcademy
    @GDevAcademy  4 месяца назад +3

    Мы тут недавно выпустили игру в Гугл плей, будем рады любым вашим отзывам и фидбеку:
    play.google.com/store/apps/details?id=com.Eastorski.LocktheFox

  • @ЭльдарРафиев-й7п
    @ЭльдарРафиев-й7п 2 года назад +41

    БОЖЕ, НАКОНЕЦ ТО, я посмотрел кучу видео, облазил сайты, всю ночь не спал, и наконец, я это сделал, спасибо огромнейшее автору за помощь, это было понятно и сверх полезно!

  • @user-htoto
    @user-htoto 2 года назад +27

    Чееел, большущее тебе спасибо за такие уроки. Единственное что я смог найти по своим проблемам да ещё и понятным языком. Ещё раз спасибо!

  • @PhaToomB
    @PhaToomB 2 месяца назад +1

    Все говорят спасибо, и я тоже хочю сказать. Благодаря автору я смог понять как работает механика 2д игр с видом сверху! +Познал побольше язык С#, за что я очень благодарен!

    • @perfectshot_gg
      @perfectshot_gg Месяц назад +1

      здаров, говоришь за C# шариш ? Я делаю игру и мне бы не помешал програмист, что то я и сам смогу напимать а так не отказался бы от напарника, все файлы игры и сюжет я тебе скину, ты в деле?

  • @ximi7017
    @ximi7017 3 года назад +6

    Спасибо тебе! Пожалуйста, продолжай снимать такие видео!

  • @dizeliok9331
    @dizeliok9331 2 года назад +3

    спасибо, урок ахренительный, первый раз делал и всё понятно. Очень доходчиво объясняешь

  • @Cuda_Menace
    @Cuda_Menace 2 года назад +1

    Спасибо, весь день в тиктоке лежал, теперь я как-то нашел как называется такой вид управления игрой

  • @snow_danik7147
    @snow_danik7147 3 года назад +2

    почему у такого видео так мало лайков и просмотров, оно же шикарно!

  • @ЛаоКМК
    @ЛаоКМК 3 года назад +7

    Это только мое имхо, но для 2D РПГ с видом сверху любое перемещение через Rigidbady - избыточно. RB куда больше нужно для управления в 2D платформере, где персонаж прыгает, падает, и т.д.. При перемещении же таким способом в игре с видом сверху придется специально ограничивать скорость персонажа, чтобы при передвижении по диагонали он не ускорялся. Но это лично по моему весьма скромному опыту разработки. Поправьте меня, если ошиблась, буду благодарна)))
    Так же у такого подхода к анимированию есть проблема - персонаж останавливаясь всегда поворачивается вниз моськой. Не порядок.
    А вот за сортировку слоев спасибо! Всю голову уже сломала над этой проблемой, как-то эта информация прошла мимо меня.

    • @GDevAcademy
      @GDevAcademy  3 года назад

      Согласен с тем, что если речь идет про вид сверху rigidbody - избыточен, т.к. там и не нужна кинематика.

    • @Nonamegggh
      @Nonamegggh 2 года назад

      Можешь подсказать что делать если персонаж все время меняет позицию по оси Z?

  • @Smurfeks
    @Smurfeks 3 года назад +2

    Никогда не уходи!

  • @DEV-qt5lp
    @DEV-qt5lp 2 года назад

    Я не смог найти ничего про создание Vertical игр, и ты тут со своим роликом. Спасибо!

  • @Kamron-px5bs
    @Kamron-px5bs 5 месяцев назад

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

  • @theoctan8569
    @theoctan8569 3 года назад +19

    По поводу сортировки спрайтов: не проще ли использовать в настройках проекта кастомную сортировку по вертикали? И по поводу движения персонажа: стоит нормализовать вектор движения, иначе он будет двигаться быстрее по диагонали, так как вертикальная и горизонтальная скорости будут суммироваться. Спасибо за урок)

    • @GDevAcademy
      @GDevAcademy  3 года назад +5

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

    • @moloko_127
      @moloko_127 2 года назад

      а как нормализовать этот вектор движения?

    • @theoctan8569
      @theoctan8569 2 года назад +4

      @@moloko_127 Vector2.Normalize()

  • @cobret1401
    @cobret1401 2 года назад

    Очень информативное видео, впервые познакомился с blend tree и подобной сортировкой спрайтов. Спасибо огромное

  • @wolffin4422
    @wolffin4422 2 года назад

    Автор, ты спаситель!

  • @nostalgia7211
    @nostalgia7211 2 года назад +1

    Огромное спасибо! Очень помог с кодом

  • @Mr.Epsilion
    @Mr.Epsilion Год назад +1

    вот если бы рассмотрел бы диагональное перемещение и анимацию цены бы не было, а если бы рассмотрел бы положение спрайта по отношению поворота камеры. Ты стал бы моим кумиром :)

  • @RebellonRM
    @RebellonRM 2 года назад

    Неожиданно вылезло это видео. Я еще месяца два назад искал, как сортировать спрайты. Ибо в моём случае, кастомная сортировка дала результат не для всех объектов. Персонаж был либо под, либо над. Как будет время, проверю.

  • @TheProshkaPro25
    @TheProshkaPro25 2 года назад +1

    чувак спасибо код понятен даже такому затупку как я

  • @olegsimushev4039
    @olegsimushev4039 Год назад +3

    Как сделать так, чтобы при прекращении движения срабатывала анимация покоя ( в сторону которой двигался персонаж)?

  • @альбинадинозавр
    @альбинадинозавр Год назад +1

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

  • @ДмитрийЗолотов-б3н
    @ДмитрийЗолотов-б3н 2 года назад +2

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

  • @dember.pixel.art.gamede
    @dember.pixel.art.gamede 2 года назад +4

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

    • @Nonamegggh
      @Nonamegggh 2 года назад

      Нашел ответ?

  • @design_art_style
    @design_art_style 2 года назад

    А кажется понял я lesson не выставил и там где список написал порядок а это секунды походу))) Спасибо вам надо преподавать в универе

  • @swit4486
    @swit4486 7 месяцев назад +1

    Как отразить анимацию ходьбы в другую сторону, если есть анимация только в право?

    • @Yendjii
      @Yendjii 2 месяца назад

      я кнш вовремя но там в скрипте с ходьбой на лево надо поставить скейл на -1
      по х

  • @nikitikityn7947
    @nikitikityn7947 3 года назад

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

    • @valstbr8411
      @valstbr8411 Год назад +2

      можно сделать проще (кто плохо пока шарит скрипты). просто добавить текстуру кустов и сделать ее поверх всего = вуаля

    • @dWEIB
      @dWEIB Год назад

      @@valstbr8411можно сделать еще - зайти в настройки Юнити и выставить там автоматический сортинг спрайтов

  • @nikitafilatov6723
    @nikitafilatov6723 2 года назад

    спасибо за урок и приятный голос))

  • @Essenin-_-
    @Essenin-_- Год назад +1

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

  • @joksen2159
    @joksen2159 10 месяцев назад

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

  • @DiSeR_257
    @DiSeR_257 5 месяцев назад

    я долго искал код для хождения и наконецто нашел ура

  • @R_Snowy_
    @R_Snowy_ Год назад +1

    У меня проблема, когда сохраняю скрипт, то юнити мне пишет ошибку CS0117. Как её исправить?

  • @design_art_style
    @design_art_style 2 года назад

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

  • @ZakadoX
    @ZakadoX 5 месяцев назад +1

    Подскажите пожалуйста вписал код как на видео, ошибок не выдет, скорость выставить могу, а персонаж не ходит( что делать?

    • @perfectshot_gg
      @perfectshot_gg Месяц назад

      скинь код в коменты
      может помогу чем

  • @Ghost-ws4nz
    @Ghost-ws4nz 2 года назад +1

    Всем привет, подскажите как сделать движение перса по клеткам, пример как Shining Force или X com. Ну и соответственно карту под это дело, сам пока с юнити и шарпом = 0,0001% знаний!))

  • @helloworldsev
    @helloworldsev Год назад

    Спасибо, чувак!

  • @Sk1ttleK1ller
    @Sk1ttleK1ller Год назад

    Бяяяяяя большое тебе спасибо)!!!!

  • @istprintistprint7861
    @istprintistprint7861 Год назад

    можно ли тут использовать постоянную фарадея умноженную на бесконечность таймдельтатайм?

  • @АлинаАсирян-и3м
    @АлинаАсирян-и3м Год назад

    привет, подскажите, на какой версии юньки это делали?

  • @user-mm1pn8sh4p
    @user-mm1pn8sh4p 2 года назад +1

    как инвертировать анимацию? у меня не ставится галочка

  • @intactogameswtf
    @intactogameswtf Год назад

    А ссылочку на ассет?)

  • @digitalartflower191
    @digitalartflower191 10 месяцев назад

    А как двигать персонаж при помощи голосовых команд? Через микрофон

  • @bxshlyator
    @bxshlyator 3 года назад

    Спасибо, всё шикарно работает

  • @ArtoMen
    @ArtoMen 3 года назад +1

    Как тема в VS Code называется ?)

  • @illilll-z7c
    @illilll-z7c 2 года назад

    было бы здорово, если бы у тебя появилась группа в вк и/или беседа для начинающих программистов)

  • @looppi8333
    @looppi8333 2 года назад +1

    спасибо огромное!!!

  • @frapsforblackrussiaforum397
    @frapsforblackrussiaforum397 2 года назад +1

    Сделал все как в видео, но анимаций просто нет, что делать?

  • @БезумныйДаня-г9ш
    @БезумныйДаня-г9ш 8 месяцев назад

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

  • @aldram5410
    @aldram5410 2 года назад

    Что за мелодия играет на 4:40?

  • @therosyachannel2753
    @therosyachannel2753 2 года назад

    Привет, именно твой гайд помог мне оживить персонажа, но проблема в том, что мне нужно, чтобы он ещё умел ходить вверх и вниз. Не подскажешь как это сделать?

  • @Precious_Spider
    @Precious_Spider Год назад +1

    Что делать если после создание первого скрипта не появляется окошка с регулированием скорости?

    • @mityasha11
      @mityasha11 Год назад

      Залетай ко мне на канал, там выходят уроки по Юнити с нуля

  • @rusty946
    @rusty946 11 месяцев назад

    где можно найти такие же спрайти как на видео?

  • @Smurfeks
    @Smurfeks 3 года назад +1

    Ты топ!!

  • @keraned
    @keraned 2 года назад

    Спасибо большое! А будет видео про это передвижение, только на андроид? Очень хотелось бы увидеть!

  • @Marts891
    @Marts891 Год назад

    Господи, как всё быстро и не могу ни чего уловить. Думал что то пойму, но слишком быстро у вас идёт поток мыслей

  • @patheticry
    @patheticry 2 года назад

    как сделать что бы в приоритете движения было вверх и вниз, а не влево и вправо?

  • @nektozavrik2068
    @nektozavrik2068 2 года назад

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

  • @ktotakoi6037
    @ktotakoi6037 2 года назад

    Почему управление считывается каждый кадр (update), а применяется в фиксированных кадрах (FixedUpdate)? разве не будет лучше все засунуть в FixedUpdate?

    • @pablo17391
      @pablo17391 Год назад

      FixedUpdate использует фиксированное значение заданое самим юнити, а в Update срабатывает каждый кадр который обрабатывает компьютер. У всех ведь разные компьютеры и фпс следовательно у каждого разный, Time.deltaTime компенсирует эту разница чтобы персонаж у каждого двигался с одинаковой скоростью независимо от фпс

    • @ktotakoi6037
      @ktotakoi6037 Год назад

      @@pablo17391 именно поэтому стоит использовать только FixedUpdate, и неважно скока там фпс выдает комп. Time.fixeddeltaTime специально создан для использования в FixedUpdate, а FixedUpdate существует для работы с физикой. Я же спрашивал совсем про другое: почему нажатие клавиш не считывают в FixedUpdate? По сути это бесполезные лишние вычисления каждый кадр брать данные и никак их не использовать.

    • @ktotakoi6037
      @ktotakoi6037 Год назад

      @@pablo17391 Я вообще не понимаю почему в unity до сих пор стоит по умолчанию эта конченная система управления, есть же нормальное на ивентах NewInputSystem.

  • @jicinv
    @jicinv Год назад

    Как ты так делал фон гайд пж

  • @mrdizzerr2443
    @mrdizzerr2443 2 года назад

    что делать если я поставил соллайдеры и на персонажа и на дерево, но все равно персонаж проходит на сквозь дерева, не могу понять почему так получается, уже и пробовал на дерево добавить rigitbody 2d, но все равно не получается, помогите

    • @АлексейГромов-х5г
      @АлексейГромов-х5г Год назад

      перепроверь то на каких слоях находится персонаж и на каким слоях находится дерево

  • @cryp2currency
    @cryp2currency 3 года назад +2

    Кто знает, что за игра в самом начале?

    • @kadirmolda7863
      @kadirmolda7863 3 года назад

      это соул найт на пк

    • @cryp2currency
      @cryp2currency 3 года назад

      @@kadirmolda7863 Не похоже, другой геймплей и интерфейс тоже не похож

    • @Тралл-с7с
      @Тралл-с7с 3 года назад

      Enter the Gungeon -_ -

  • @keellvear8653
    @keellvear8653 2 года назад +1

    я очень извиняюсь, помогите пожалуйста я в отчаяние
    выдаёт вот такую ошибку Assets\scripts\control.cs(26,18): error CS1061: 'Animator' does not contain a definition for 'setFloat' and no accessible extension method 'setFloat' accepting a first argument of type 'Animator' could be found (are you missing a using directive or an assembly reference?)
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class control : MonoBehaviour
    {
    public float speed;
    private Vector2 direction;
    private Rigidbody2D rb;
    public Animator animator;

    void Start()
    {
    rb = GetComponent();
    }

    void Update()
    {
    direction.x = Input.GetAxisRaw("Horizontal");
    direction.y = Input.GetAxisRaw("Vertical");
    animator.setFloat("Horizont",direction.x);
    animator.setFloat("vertical",direction.y);
    animator.setFloat("Speed", direction.magnitude);
    }
    void FixedUpdate()
    {
    rb.MovePosition(rb.position + direction * speed * Time.fixedDeltaTime);
    }
    }

    • @alexander_2927
      @alexander_2927 Год назад

      Я конечно не умею делать анимации, но ты не получил компонент animator
      Private void Start ()
      {
      rb = GetComponent();
      animator = GetComponent();
      }

  • @lalalalalavsebydethorosho1483
    @lalalalalavsebydethorosho1483 2 года назад

    Какая тема vs code?

  • @wortex_
    @wortex_ 2 года назад

    Спасибо.

  • @HouinKyma
    @HouinKyma Год назад

    когда применяю spritesorter персонаж и объект уходят под тайлмап... как можно исправить? спасибо

    • @HouinKyma
      @HouinKyma Год назад

      Как только удаляю скрипт , персонаж и объект появляются )

  • @veymatcompany6959
    @veymatcompany6959 3 года назад +1

    А если несколько персонажей? Как правильно написать код в юнити

    • @Hawk6895
      @Hawk6895 2 года назад

      Руками

    • @veymatcompany6959
      @veymatcompany6959 2 года назад +1

      @@Hawk6895 ты каналы перепутал, тут по юнити, а тебе в камеди клаб надо .i.

  • @MusicRoom00
    @MusicRoom00 Год назад

    Я не могу поменять скорость, у меня нет этой строчки, что делать?

  • @KiberZip
    @KiberZip 2 года назад

    Почему в параметрах Blend tree Я не могу ни чего добавить

  • @crystaltale_vita9645
    @crystaltale_vita9645 9 месяцев назад

    скажите пожалуйста где вы пишите код

    • @Zvuran
      @Zvuran 5 месяцев назад

      Это Visual Studio code. Но я советую visual studio. Он должен был скачатся вместе с unity. Но между vs и vsc отличий вроде нет, кроме как интерфейс, в vsc он сделан так чтобы тебя ничего не отвлекало.

  • @ryan..2
    @ryan..2 2 года назад

    Что зв игра вначале?

  • @Cuda_Menace
    @Cuda_Menace 2 года назад

    Что за мелодия играет с 13:21

    • @GDevAcademy
      @GDevAcademy  2 года назад

      Остальные взяты из свободных источников, но именно эта моя) В вк можно найти как "Dodiki records - музыка для выбора доширака" :D

  • @danika3320
    @danika3320 Год назад

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

    • @beashyne
      @beashyne 6 месяцев назад

      нашли решение? у меня тоже самое

  • @demonvjope
    @demonvjope 2 года назад

    что за ассет?

  • @ДимаБабий-г6х
    @ДимаБабий-г6х 2 года назад

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

  • @Galician_pon
    @Galician_pon 11 месяцев назад

    Можете помочь? У меня персонаж дергается

    • @perfectshot_gg
      @perfectshot_gg Месяц назад

      возможн омоделька кривавата

  • @azalothe3150
    @azalothe3150 Год назад

    И этот гайд слишком новый:(
    буду ждать лучших времён, когда доберусь до интернета нормального и обновлю юнити.

    • @mityasha11
      @mityasha11 Год назад

      Залетай на мой канал, там выходят уроки по Юнити для начинающих

  • @peopleplaygraundX
    @peopleplaygraundX 11 месяцев назад

    The type or namespace name 'Rigivody2D ' cloud not be found

  • @zdrada5519
    @zdrada5519 Год назад

    Видео конечно хорошее, но для новичков слишком быстро. Мало акцента делал на основных моментах и все куда-то спешил

  • @MorPoYT_IloveYou
    @MorPoYT_IloveYou 3 года назад +1

    Не работает анимация когда дергаю красный круг не работает

  • @ROBoToLIVE
    @ROBoToLIVE Год назад

    сигма

  • @daniil.ponomarenko
    @daniil.ponomarenko 2 года назад +1

    пиздец то на 0.25 ОЧЕНЬ БЫСТО то на норм скорости моментами очень медленно, лучше пусть видео будет дольше чем снимать на телефон в 0.25 и смотреть еще раз в замедленном на телефоне

  • @YOUR_NAME2284
    @YOUR_NAME2284 2 года назад

    У меня скрипт на игрока не перекидывается

  • @Geva265
    @Geva265 2 года назад

    проблема такая: Unity в режиме редактора: в свойствах Animator( у игрока) есть контролер Player, а если переключить в режим игры, то контролер пропадает, приходится вставлять, только после этого появляется анимация. Что можно сделать?

    • @Geva265
      @Geva265 2 года назад

      Так разобрался) у меня в начале сцены есть кат-сцена, и она как-то убирает этот контролер, буду думать как исправлять)

  • @swarlllik9875
    @swarlllik9875 2 года назад

    А как с таким видом реализовать прыжок на объекты ?

    • @rophop6373
      @rophop6373 2 года назад

      никак, только сделать box colider при попадании в который будет телепортировать наверх

    • @swarlllik9875
      @swarlllik9875 2 года назад

      @@rophop6373 ruclips.net/video/6THkCmSPf38/видео.html тут по твоему что? это не 3 д иначе пространство искажалось при передвижении. Конечно могу ошибаться. но реализацию ни где не видел

  • @НикитаМедведев-в9с
    @НикитаМедведев-в9с 2 года назад

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

  • @13VoRoN37
    @13VoRoN37 2 года назад

    бесполезный урок

  • @rollim3100
    @rollim3100 2 года назад

    воровать у brackeys а код и я могу!!!! Хоть бы ссылку оставил, видео классное конечно, но все равно!

  • @versianov
    @versianov 3 месяца назад +1

    поменяй тему а то не программист

  • @timaanoshenkov5548
    @timaanoshenkov5548 3 года назад +3

    мне пишет ts\script\NewBehaviourScript.cs(9,13): error CS0246: The type or namespace name 'Rigidboady2D' could not be found (are you missing a using directive or an assembly reference?)
    как решить проблему
    мой скрипт:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    public class NewBehaviourScript : MonoBehaviour
    {
    public float speed;
    private Vector2 direction;
    private Rigidboady2D rb;
    void Start()
    {
    rb = GetComponent();
    }
    void Update()
    {
    direction.x = Input.GetAxisRaw("Horizontal");
    direction.y = Input.GetAxisRaw("Vertical");
    }
    void FixedUpdaite()
    {
    rb.MovePosition(rb.position + direction * speed * Time.fixedDeltaTime);
    }
    }

    • @Berserkus-y2f
      @Berserkus-y2f 3 года назад

      после rb не равно а -

    • @Berserkus-y2f
      @Berserkus-y2f 3 года назад

      если есть желание могу скинуть скрипт

    • @mello_game6338
      @mello_game6338 3 года назад

      @@Berserkus-y2f скинь пж

    • @Neyz31
      @Neyz31 3 года назад

      Надо писать Rigidbody а не boady

    • @Berserkus-y2f
      @Berserkus-y2f 2 года назад +3

      ​@@mello_game6338 извини смог только сейчас
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class PlayerControler : MonoBehaviour
      {
      public float speed;
      private Vector2 direction;
      private Rigidbody2D rb;
      // Start is called before the first frame update
      void Start()
      {
      rb = GetComponent();
      }
      // Update is called once per frame
      void Update()
      {
      direction.x = Input.GetAxisRaw("Horizontal");
      direction.y = Input.GetAxisRaw("Vertical");
      }
      void FixedUpdate()
      {
      rb.MovePosition(rb.position + direction * speed * Time.fixedDeltaTime);
      }
      }

  • @lalalalalavsebydethorosho1483
    @lalalalalavsebydethorosho1483 2 года назад

    Какая тема vs code?