Как сделать платформер на Unity #2 | Анимации и слежение камеры

Поделиться
HTML-код
  • Опубликовано: 13 янв 2021
  • В этом видео мы продолжаем создавать платформер на движке Unity.
    Добавим анимации и слежение камеры за игроком.
    Скачать пак графики для платформера:
    Яндекс. Диск - yadi.sk/d/oDaUkuSYI3m0Ew
    Гугл Диск - drive.google.com/file/d/1zARN...
    Как сделать платформер на Unity #2 | Анимации и слежение камеры
    unity, как создать игру, разработка игр, unity уроки, создание игр, unity tutorial, unity 2d, платформер, как сделать игру, unity 3d, unity3d, 2d платформер, юнити, c# уроки, c#, c# unity, 2d, с# unity уроки, как скачать юнити, c# tutorial, cube company, c# unity tutorial, как сделать свою игру, програмирование, visual studio, learn unity c#, c# for unity, как начать создавать игры, c# dersleri, unity 2d tutorial, learning c# for unity, learn c#, learn c# for unity, курс по изучение с# unity, игры, c# tutorial for beginners, создание, геймдев, игра, для начинающих, создание игр unity, game, unity2d, platformer, 2д, как создать, tutorial, анимация, как создать свою игру, создание игр для новичков, как, gamedev, разработка, разработчик игр, обучение, инди игры, программирование, юнити уроки, design, основы, sprites, indie gamedev, геймдизайн, как сделать, unity уроки для начинающих, graphical, создание платформера unity, дизайн, графика, уроки по unity, assets, урок, игровые движки, уроки, персонаж, 2d игра, games, создание 2d игры, гайд, 2d platformer, unity 2d уроки, game dev, how to make game, unity 2d платформер, move, unity 5, код, создание игры, 2d platformer unity, asset store, animation, unity 3d tutorial, game dev для начинающих, спрайты, си шарп, как создать платформер на юнити, castadude, beginner, первая игра, unreal, юнити 3д, создание игр в unity, геймдев с нуля, android, управление в платформере на юнити, brackeys, уроки по юнити, development, develop, создание платформера на юнити, платформер юнити, геймдев с чего начать, как сделать управление на юнити, создание игры на unity, как создать игру на андроид, как сделать платформер, unity2d платформер, tutorials, 2д платформер, artalasky, пиксельарт, заргеймдев, юнити2д, #уроки, для ничинающих, юнити 2д, уроки на русском, unity tutorial 2d, 2d unity, easy, курсы программирования, прыжок, unity создание игр, игра на unity, движение, jump, 2d спрайты, создать игру бесплатно, создание 2d игр, unity платформер уроки, 2d платформер на unity, игровая графика, игровой движёк, как создать игру на unity, уроки unity, упровление в unity, #unity, game design, zargamedev, графика для игр, void, войд, студия, public, паблик, unity 2д платформер, bool, privat, прайвет, вижуал, юнити анимация персонажа, работа с персонажом, animations, flip, как создать 2d платформер, unity, unity3d, android helper, tutorial, programming, c#, game dev, юнити, туториал, движение камеры в unity, движение камеры за персонажем unity 2d, как сделать движение камеры за персонажем в unity, плавное движение камеры unity, camera follow 2d, двигаем камеру за персонажем в юнити, двигаем камеру за игроком в unityпрограммирование, development, разработка игр, animation

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

  • @andriikovalskyi9871
    @andriikovalskyi9871 3 года назад +87

    Почти никого не остается на Ютубе из тех ребят, которые начинали снимать на эту тематику. Держись, главное не бросай **

  • @youngtrap44
    @youngtrap44 3 года назад +315

    Спасибо монтажору за обрезки скриптов просто 10\10

    • @doc_ua2
      @doc_ua2 2 года назад +5

      Сарказм?

    • @imya2288
      @imya2288 2 года назад +48

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

    • @user-tm1ui2pe6d
      @user-tm1ui2pe6d 2 года назад +12

      @@imya2288 я могу скинуть готовый скрипт, полностью рабочий

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

      @@user-tm1ui2pe6d если можно

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

      @@user-tm1ui2pe6d и мне если можно

  • @user-mf1yn6ud1o
    @user-mf1yn6ud1o 2 года назад +74

    Я же не одна здесь, чтобы сделать игру для защиты проекта?

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

      +

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

      только мне для школьного проекта надо. Можешь подсказать, что делать если работает только анимация покоя?

    • @ma_liberta
      @ma_liberta Год назад +5

      ХВХВХВХ не думала, что ещё есть такие

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

      @@ma_liberta ... ну я хпэхажахаэха да я лох

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

      Я лабу в универе получил сделать платформер... так что вы не одна)

  • @Donya_TF-TeamFersit
    @Donya_TF-TeamFersit 3 года назад +42

    Спасибо что научил делать анимации!❤

    • @WhiskasCorn
      @WhiskasCorn 6 месяцев назад +1

      Где? Даже не показал

  • @mrcube4162
    @mrcube4162 3 года назад +89

    Ребята код для камеры:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class CameraController : MonoBehaviour
    {
    [SerializeField] private Transform player;
    private Vector3 pos;
    private void Awake()
    {
    if (!player)
    {
    player = FindObjectOfType().transform;
    }
    }
    private void Update()
    {
    pos = player.position;
    pos.z = -10f;
    transform.position = Vector3.Lerp(transform.position, pos, Time.deltaTime);
    }
    }
    PS: Скрипт надо прикрепить к камере и дать обьекту тег Player, а то у некоторых Hero не распознает.

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

      Что делать если скрипт не работает? Всё сделал, но место игрока канвас двигается

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

      @@catssteam возможно не туда прикрепили скрипт

    • @slivsofterov4164
      @slivsofterov4164 3 года назад +15

      Крч: player = FindObjectOfType().transform;

    • @L4ke_221
      @L4ke_221 3 года назад +4

      Спасибо братан от души!

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

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

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

    всё получилось, видосу лайк, переходим к 3-ей части

  • @name1584
    @name1584 2 года назад +78

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

    • @Samurai-yh8og
      @Samurai-yh8og 2 года назад +16

      Это так, я тоже начал изучать Unity. И я тупой был вообще, не понимал, почему так, вроде язык C++ и С# освоил, студентам их програмки решаю, как семечки щелкаю. А оказывается что в Unity надо запоминать все классы, методы и т.д.
      Когда несколько раз одно и тоже сделаешь, тогда начинаешь делать все быстрее, а потом уже до такого автоматизма доходит, что вот то что тут показывают в уроках можно за пару минут сделать. И вот я смотрел этот урок и чувствовал себя ничтожеством потому что делаю все аналогично, а ничего не работает. В итоге я за 2 дня только разобрался где я наошибался, зато я хорошо запомнил и смог в дальнейшем с легкостью видеть где фиксить баги. А что касается его кода, не так уж и говнокодит). Можно написать красивее, но в принципе работает же у него все. А для новичков неважно как код написан, с опытом все учаться писать красивее. Это как разговаривать на английском учиться, сначало говоришь как в детском саду, а потом с опытом разговариваешь красиво). Но вот эти обрезания, мне тоже не нравятся если честно, смотришь смотришь, а потом опа, и уже все готово (ну вы там в папочку загляните там файлик появился), а я черт подери куда-то случайно запихнул первую анимацию даже не заметив, и 2 часа думал что не так. Мне то как новичку откуда было знать что в Unity аниматор появляется том месте. Короче бред) Зато, как ты правильно сказал, заставляет разбираться самому))

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

      @@Samurai-yh8og получается видимо зря я сделал всё так как в видео, и не было никаких ошибок 🤔

    • @aaffa-ck2vd
      @aaffa-ck2vd 5 месяцев назад

      подскажите как добавить уже созданные анимации?
      У меня они есть просто не сохранились в редакторе...
      @@Samurai-yh8og

  • @user-wf9zg8dx4e
    @user-wf9zg8dx4e 2 года назад +86

    У меня все получилось, хочу объяснить частые ошибки:
    1. Камера не работает:
    Во-первых, вам нужно создать отдельный скрипт-файл(как Hero), и в нем писать код, который в этом видео. Дальше вы добавляете этот скрипт к Main Camera(чтобы ее было видно в панели с компонентами), потом нажмите маленькую стрелочку, чтобы развернуть и там будет всего два пункта(Script, но его нельзя изменить, и player). В пункте Player нажмите на круг в круге(правее всего) и выберете Hero. Если код у вас, как на видео, то должно сработать.
    2. Не работают анимации:
    Проверьте, как вы сохранили файлы(большая буква или маленькая, как называется). У меня файлы с большой буквы, поэтому код Hero выглядит так: using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class Hero : MonoBehaviour
    {
    [SerializeField] private float speed = 3f;
    [SerializeField] private int lives = 5;
    [SerializeField] private float jumpForce = 7f;
    private bool isGrounded = false;
    private Rigidbody2D rb;
    private Animator anim;
    private SpriteRenderer sprite;
    private States State
    {
    get { return (States)anim.GetInteger("state"); }
    set { anim.SetInteger("state", (int)value); }
    }
    private void Awake()
    {
    rb = GetComponent();
    anim = GetComponent();
    sprite = GetComponentInChildren();
    }
    private void Run()
    {
    if (isGrounded) State = States.Run;
    Vector3 dir = transform.right * Input.GetAxis("Horizontal");
    transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);
    sprite.flipX = dir.x < 0.0f;
    }
    private void FixedUpdate()
    {
    CheckGround();
    }
    private void Update()
    {
    if (isGrounded) State = States.Idle;
    if (Input.GetButton("Horizontal"))
    Run();
    if (isGrounded && Input.GetButtonDown("Jump"))
    Jump();
    }
    private void Jump()
    {
    rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse);
    }
    private void CheckGround()
    {
    Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f);
    isGrounded = collider.Length > 1;
    if (!isGrounded) State = States.Jump;
    }
    }
    public enum States
    {
    Idle,
    Run,
    Jump
    }
    Код рабочий можете сверятся

    • @user-wf9zg8dx4e
      @user-wf9zg8dx4e 2 года назад +13

      Вот код CameraController:
      using System.Collections;
      using System.Collections.Generic;
      using UnityEngine;
      public class CameraController : MonoBehaviour
      {
      [SerializeField] private Transform player;
      private Vector3 pos;
      private void Awake()
      {
      if (!player)
      player = FindObjectOfType().transform;
      }
      private void Update()
      {
      pos = player.position;
      pos.z = -10f;
      transform.position = Vector3.Lerp(transform.position, pos, Time.deltaTime);
      }
      }
      Оба кода рабочих

    • @user-wf9zg8dx4e
      @user-wf9zg8dx4e 2 года назад +11

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

    • @user-zy3xy2xj3o
      @user-zy3xy2xj3o 2 года назад +3

      @@user-wf9zg8dx4e что делать если анимация персонажа Ран работает часто чем Айдл

    • @PinumBTB
      @PinumBTB 2 года назад +2

      @@user-wf9zg8dx4e можно твой телеграм или дискорд?

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

      Чувак, ты икона
      Спасибо

  • @MaximArt-so1cz
    @MaximArt-so1cz 11 месяцев назад

    спасибо что помогаешь создать игры таким же делитантам как я 😁👍

  • @user-rq6sx2xl7m
    @user-rq6sx2xl7m 2 года назад +8

    Спасибо за реализацию! Очень интересно, хоть и по гайду, но все же самому делать игру. Как и многих, напрягают немного обрезанные части кода, не понятно, что куда идет. Просто крупный шрифт полного окна вполне читаемо смотрится и с монтажом меньше мороки. Ну и этот тот формат видео, в котором комментаторы позарез нужны, иначе лагов много возникает в процессе!! Тем не менее, спасибо за такой труд!

  • @user-tl7xz9jw8u
    @user-tl7xz9jw8u 3 года назад +2

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

  • @user-he2nh4cv7r
    @user-he2nh4cv7r 2 года назад +19

    Если у кого-то проблемы с анимациями можете попробовать сделать так:
    Попробуйте открыть таблицу с Animator’ом и в inspector в Conditions поставить State - Equals - 0. Проделайте тоже самое в run и jump, только в run выставьте Equals 1, а в jump Equals 2.
    В скрипте, в “private States State” напишите в скобках State с большой буквы.
    Мне помогло

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

      А хотел спросить, если от Any State можно сделать только одну связь, можно что-то сделать?
      Я немного переделал код, но у него выглядит так удобно
      Хотелось бы так же

    • @whitefox6728
      @whitefox6728 2 года назад +5

      Спасибо помогло с анимацией прыжка, думал поседею почему не работало)

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

      какой в жопу кандитиос

    • @mrsysanin3573
      @mrsysanin3573 10 месяцев назад +1

      СПАСИБООООООООООООООООООО

    • @denis_na_yuge
      @denis_na_yuge 4 месяца назад

      Заработала анимация!!! State с большой буквы нужно писать!!! Автор видео - косепор!) Из-за его ошибок столько времени теряешь и вообще желание продолжать исчезает! Сцуко!

  • @allrom9855
    @allrom9855 3 года назад +51

    Видео хорошее, спасибо !!! ))
    Только толи я прослушал в каком моменте было сказано, что скрипт - CameraController необходимо было повесить на MainCamera :)), толи и правда не было сказано )), так небольшое дополнение ))

    • @user-dt8pe1ux2l
      @user-dt8pe1ux2l Год назад +1

      Так это еще и отдельный скрипт я вообще это в первом написал

  • @Donya_TF-TeamFersit
    @Donya_TF-TeamFersit 3 года назад +3

    Ты лучший!

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

    Жду больше видео, и желаю много просмотров. Не сдавайся **

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

    Спасибо очень помог

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

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

  • @user-xs4wx5xs2b
    @user-xs4wx5xs2b Год назад

    ТОПП, у всех камера резкая, а ток у тебя, вышла плавная, жалко что ютуб запросил

  • @user-ni9mh2lv7r
    @user-ni9mh2lv7r 3 года назад

    Чётко продолжай

  • @user-vu6dn9il7y
    @user-vu6dn9il7y 3 года назад +2

    Видос ПУШКА, спасибо большое

  • @Pastor-1
    @Pastor-1 10 месяцев назад

    Наконец-то я потратила время не зря

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

    Спасибо,очень помогло)

  • @user-fb5je1hg9r
    @user-fb5je1hg9r 3 года назад +2

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

  • @mikhailvasilev233
    @mikhailvasilev233 Год назад +4

    Если камера не следит за игроком попробуйте в дереве иерархии переместить камеру ниже Hero.У меня так сработало

  • @user-vd1of5tc8m
    @user-vd1of5tc8m 4 месяца назад +3

    Если у кого-то персонаж при прыжке судорожно переключает анимацию падения, то ловите таблэтку: просто создайте отдельно анимацию падения(falling), потом в Animator проведите стрелку от Any State к falling, задайте Equal = 3. Потом в методе, где проверяется находится перс на земле или нет, допишите это: if (rb.velocity.y < 0.0f) State = States.falling; и private bool isFalling = false; (это в начале строки, где мы указываем значения прыжка, скорости передвижения и тд)

  • @user-ff3li8ip2t
    @user-ff3li8ip2t Год назад +3

    При активации скрипта camera controller - игра создает невидимые текстурки и перс движется сам по себе(скользя по платформе). Что делать в таком случае?

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

    Класс

  • @ERrOR2033
    @ERrOR2033 Год назад +10

    Альтернатива проверки состояния IsGrounded:
    private bool isGrounded = false; // Она уже должна быть создана выше, как в видео
    private void OnCollisionStay2D(Collision2D collision)
    {
    isGrounded = true;
    }
    private void OnCollisionExit2D(Collision2D collision)
    {
    isGrounded = false;
    }
    }

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

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

    • @user-rn7ch9xf2v
      @user-rn7ch9xf2v Год назад +1

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

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

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

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

    В поддержку

  • @user-gq9rc8vq1r
    @user-gq9rc8vq1r 2 года назад

    Ну ты сусанин кодовый даещь жару !!!!

  • @user-ko7zo4dz5d
    @user-ko7zo4dz5d Год назад +4

    Была проблема в том, что position по Y для Hero и Main Camera по-разному считались, так что у меня камера сдвигалась вниз относительно персонажа
    Сделал костыль, прибавив 7.0f к "pos.y"
    Но хотелось бы выяснить причину и как с этим красиво бороться

    • @aaffa-ck2vd
      @aaffa-ck2vd 5 месяцев назад

      Пытаюсь понять выше сказанное такая же ошибка....

  • @sharksea1372
    @sharksea1372 2 года назад +8

    Сделай как ты сделал анимацию для прыжка и бега отдельно

  • @user-lj9xm3yo1x
    @user-lj9xm3yo1x Год назад +2

    что делать если он у меня пишет огромное количество раз 2 ошибки:
    MissingComponentException: There is no 'Animator' attached to the "Circle" game object, but a script is trying to access it.
    You probably need to add a Animator to the game object "Circle". Or your script needs to check if the component is attached before using it.
    и
    'Hero' AnimationEvent has no function name specified!

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

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

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

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

  • @MironikGames
    @MironikGames 2 месяца назад +8

    Что делать, если перестало разворачивать персонажа по оси x?

    • @Toxa357
      @Toxa357 20 дней назад +1

      Возможно на основном объекте плеера добавился свой Sprite Renderer и скрипт работает с ним, а не с дочерним. Знаю, что вопрос для тебя уже не актуален, пишу для потомков.

    • @retrosyyy
      @retrosyyy 13 дней назад

      @@Toxa357 спасибо

    • @rewwer2710
      @rewwer2710 12 дней назад

      @@Toxa357 а как исправить?

    • @Toxa357
      @Toxa357 12 дней назад

      @@rewwer2710 удали Sprite Renderer на основном объекте, чтоб он был только на дочернем или просто отключи его (галочку сними).

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

    А если я сделал свои анимации, но там по 11 20 кадров, я сохранил все в гиф файлах, как я могу их использовать?

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

    ты самый крутой ютубер

  • @user-wx6sy6ui2g
    @user-wx6sy6ui2g Год назад

    Он просто любил жизнь!

  • @user-dc3vl2zd8z
    @user-dc3vl2zd8z 3 года назад +5

    Большое спасибо вам,но почему во время слежки камеры,у меня как то дергаются мои платформы.

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

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

  • @oreeeooo
    @oreeeooo 2 года назад +2

    Перестал прыгать персонаж и ошибка MissingComponentException: There is no 'Animation' attached to the "Player" game object, but a script is trying to access it. много раз, помогите уже 2 часа сижу разбираюсь

  • @user-hz1xp5hk6n
    @user-hz1xp5hk6n 2 года назад +9

    Спасибо! Отличное видео. Только вот есть один вопрос. После добавления анимации персонаж перестал поворачиваться в сторону направления.

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

      Та же проблема

    • @Falkot78
      @Falkot78 2 года назад +12

      В Hero появился sprite renderer его нужно удалить и реверс заработает

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

      @@Falkot78 Спасибо! Заработало ))

    • @user-hz1xp5hk6n
      @user-hz1xp5hk6n 2 года назад +3

      Надо было с Hero удалить компонент sprite renderer

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

      @@Falkot78 Спасибо, вот я намучался... А как узнать такое то?

  • @user-vn7bh5cs8z
    @user-vn7bh5cs8z 2 года назад +3

    пожалуйста помогите, анимация прыжка работает отлично, но вот анимация idle и run не переключаются между собой, у меня на земле постоянно idle.

  • @Bolt-nm9fg
    @Bolt-nm9fg Год назад +7

    Идея видео класс, но минус в том что половину нужно додумывать самому

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

      Разве же это минус? наоборот научишься сам делать больше чем тебе дают

    • @Lyevsahya
      @Lyevsahya 4 месяца назад

      Так нихуя не работает когда сам делаешь@@bijin7510

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

    Что делать если в Unity 2022 пишет ошибку в скрипте C# что error CS1007: Property accessor already defined?
    Хотя я всё делал из этого видео тутора

  • @kiruxa_tom747
    @kiruxa_tom747 2 года назад +6

    Скиньте полные коды пожалуйста! Я так просто не понимаю.

  • @henvic4569
    @henvic4569 9 месяцев назад +1

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

  • @user-fz6lr5fi9o
    @user-fz6lr5fi9o 3 года назад

    Возникла проблема анимации переключаются подряд сами по себе. Все работает но что в движении, стоя на месте и в прыжке срабатывают сразу все анимации. Подскажите что надо сделать!!

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

      Проверь, что в каждой анимации в state стоит 0,1,2

  • @ugggg07.56
    @ugggg07.56 3 года назад +10

    Почему у меня только анимация покоя показывается а другие не включаются

    • @user-mg9xc2fw3p
      @user-mg9xc2fw3p 4 месяца назад

      возможно тебе уже не нужно но думаю другим пригодится: в Animator в parameters нужно создать поле под названием ИМЕННО state

  • @jellytyan
    @jellytyan 3 года назад +43

    Привет, отличное видео, но у меня появились баги!
    1. Когда я запускаю игру и прыгаю то у меня может 2 прыжка нормальных а потом прыжок в космос и так циклично
    2. При добавление анимации, flipX перестал работать (поправочка: починил, в Hero появился Sprite Renderer который мешал)

    • @user-yf8if7fx8m
      @user-yf8if7fx8m 3 года назад +12

      О, помог с flipX, спасибо)

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

      у меня тоже проблема как у тебя в 1 первом пункте

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

      тоже помог с flipX

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

      за 2 мое уважение

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

      @@samuraikendo5153 не за что

  • @user-xs4wx5xs2b
    @user-xs4wx5xs2b Год назад

    Я тебя люблю.

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

    Подскажите пожалуйста, почему я не могу сделать второй раз Make Transition из Any State? 2:42
    Из за этого у меня происходит только idle и все. Буду очень благодарен!!!!!!!!!!

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

      баг версии юнити, обнови до более новой

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

    У меня при запуске игры в Idle дерганное Idle смешанное с Jump который вообще в другом месте. Можете помочь?

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

    Я ещё в Update() добавил pos.y += 2f; чтоб камера была чуть повыше персонажа.

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

    Ребят, у кого проблема с тем, что воспроизводится сразу две анимации во время бега и прыжка, то в аниматоре поставьте у анимации прыжка state = 2, а у бега state = 1

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

      непомогло

  • @user-mu1ki2fy8d
    @user-mu1ki2fy8d Год назад +1

    У меня почему то спрайт постоянно отображается на заднем плане, а так работает все. Как убрать этот спрайт?

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

    можно ли поставить просто Cinemachine вместо скриптов на камеру?

  • @user-jy8wx8rx3h
    @user-jy8wx8rx3h 3 года назад +6

    Как сделать камеру менее плавной? У меня персонаж немного перегоняет её. Сделать персонажа медленнее не вариант.

    • @user-zl8ky7oy7w
      @user-zl8ky7oy7w 3 года назад +3

      transform.position = Vector3.Lerp(transform.position, pos, 3* Time.deltaTime);
      может поздно, но вот, можно в этой строке добавить множитель к значению Time.deltaTime
      можно так же сделать множитель отдельной переменной и вынести в инспектор по желанию, чтобы подстраивать прямо в юнити

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

      @@user-zl8ky7oy7w спасибо)

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

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

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

      и поворот персонажа перестал работать

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

    Error:MissingComponentException: There is no 'Animator' attached to the "Hero" game object, but a script is trying to access it.

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

      Тут всё просто: проверь, BoxCollider2D и Rigidbody2D должны находится не в Sprite, а в Hero

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

    У тебя лучшие уроки на всём ютубе!

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

      Ага, только он украл весь туториал.

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

      ruclips.net/video/CAPVBTKk3Ww/видео.html - вот оригинал

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

      @@Derk89 так оригинальный урок на русском, и более понятно все объясняют.

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

    У меня проблема. При запуске игры вылетает ошибка:
    Animator is not playing an AnimatorController
    UnityEngine.Animator:SetInteger(String, Int32)

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

    Помогите пожалуйста, когда открываю Animator, то у меня нечего нету, нет анимаций как показано на видео. Помогите

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

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

  • @MrMaxim-cd7fb
    @MrMaxim-cd7fb Год назад +1

    У меня проблема, анимации не сохраняются в юнити😞
    В файлах ини есть а в юнити их нету

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

    После добавления анимации, игрок перестал поворачиваться и смотрит только в одну сторону. Что делать???

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

    А почему нету момента когда камеру делают у меня с анимациями проблем нет а вот с камерой есть

  • @ikigai_games
    @ikigai_games 8 месяцев назад

    Почему получается что анимация встает своим центром в центр ног и отображаются сразу два персонажа - анимация работает анимацией и дополнительно не поворачивающийся базовый спрайт Hero? Они и двигаются вместе. Unity 2021.3.15f1

    • @ikigai_games
      @ikigai_games 7 месяцев назад

      Решил вопрос. Помог Jason Weimann - ruclips.net/video/HAvfA1F3qTo/видео.html&ab_channel=JasonWeimann
      Добавил сразу анимацию idle(выделив сразу оба frame) в окно иерархии - объект Hero создается автоматически, надо только переименовать.
      P.S. И чтобы анимация прыжка работала нормально выключаем Loop Time в Jump Animation.

  • @psyhoregzoom
    @psyhoregzoom 2 года назад +2

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

  • @user-jc5kc7fr5k
    @user-jc5kc7fr5k Год назад

    А что делать если камера вроде как следит, но при этом платформа улетает далеко в противоположную сторону

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

    Здравствуйте
    Не подскажете в чем проблема ?
    ArgumentException: GetComponent requires that the requested component 'RigidBody2D' derives from MonoBehaviour or Component or is an interface.
    UnityEngine.Component.GetComponent[T] () (at :0)
    Hero.Awake () (at Assets/Scripts/Hero.cs:19)

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

      надо на форуме искать

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

      На самом деле компонент RigidBody2D не существует а надо было "Rigidbody2D". Ты просто написал компонент в виде кэмел кэйс

  • @mikhailtolmachev5749
    @mikhailtolmachev5749 2 года назад +2

    Привет) А у меня появился такой вопрос: Есть ли разница между тем, что бы в коде прописывать камере следовать за игроком, и просто сделать камеру дочерним нашему Hero?

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

      Есть разница, потому что скриптом камера двигается намного плавнее и красивее

  • @user-nj2vk3ss5i
    @user-nj2vk3ss5i 3 года назад +3

    Доброго дня! Может кто подсказать... Компонент аниматор добавил на ГГ, и в нем видно, что они работают, когда бежишь и прыгаешь, но при этом анимация остается idle. Код кучу раз перепроверил, проблема точно не в нем. Может я как то неправильно в самом аниматоре сделал ( все по видео делал).

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

      У меня так же

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

      Srite Render удали. ВЫше написано же.

    • @Weapons-Cannel
      @Weapons-Cannel 4 месяца назад

      на каком объекте удалить?
      @@okiemes196

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

    А если я нажал Create Animation, случайно выбрал не ту папку, удалил те файлы с анимацией и теперь у меня нету кнопки Create Animation. Пожалуйста помогите!

  • @pr1zergodsunchained181
    @pr1zergodsunchained181 2 года назад +24

    Над 7 минутами пришлось 2 дня думать ,что исправить. С начало в комментах увидел, что state на State поменять. Ушла ошибка. Потом проблемы с анимацией, она поверх Hero появлялась и на половину ниже. Решено было переделать её заново. И в итоге Получалось ,что я последующие sprite не добавлял к новым анимациям, а сами анимации перетаскивал , а нужно было как бы на спрайт накладывать эти изображения. Может кому помог. Аналогичных вопросов в комментах не обнаружил. Зато за эти 2 дня лучше код начал понимать , а то при написании понимал 30% написанного) Андрей,33 годика.

    • @user-xh2wf2cj4f
      @user-xh2wf2cj4f 2 года назад +7

      Огромное спасибо, прям дословно мои проблемы описал, особенно про 2 дня и что касается анимации)) Никитка, 22 годика

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

      Можешь объяснить насчёт анимации? У меня такая же проблема, но я не могу понять, как это исправить.

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

      @@neverm1ndr на данный момент забросил с этим делом и сейчас не смогу вспомнить что и как...

    • @user-rr1bi6dq6q
      @user-rr1bi6dq6q Год назад +1

      Тоже самое говно. Но я решил что будет проще написать свой код. И получилось норм

    • @aaffa-ck2vd
      @aaffa-ck2vd 5 месяцев назад

      Очень нужен ответ что это значит: У меня тоже персонаж вниз уходит его анимация прыжка
      Получалось ,что я последующие sprite не добавлял к новым анимациям, а сами анимации перетаскивал , а нужно было как бы на спрайт накладывать эти изображения. Может кому помог.

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

    Если стою на месте происходит анимация idle и выдает бесконечно ошибку: 'Hero' AnimationEvent has no function name specified! В чем проблема?

  • @indy2l
    @indy2l 2 года назад +5

    У меня вылетел Unity, и проект не сохранился. теперь у меня нет абсолютно никакого желания делать игру дальше 👍 (по крайней мере сегодня)

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

      Позавчера у меня во время создания игры моргнул свет и пк перезапустился, тоже ничего не сохранилось, теперь каждые 5 минут ctrl s тычу

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

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

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

    здарова! помоги пожалуйста... у меня во время анимации не поворачивается герой + не прыгает изза чекграунда

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

    Не фурычит переключение анимации все сделал по видосу и State написал с большой. Когда проигрываю анимации бега и прыжка появляется новый персонаж (потом пропадает) но при запуске игры ток анимация покоя

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

    А как сделать, так чтобы камера быстрее двигалась?

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

    Ладно idle показал как сделать, но почему не показать run и jump, я вообще не вижу где Sprite для этого

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

    Подскажите пожалуйста, почему персонаж перестал прыгать и запускать анимацию прыжка и бега. Буду благодарен.

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

      В коде наверное допустил ошибки

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

    Assets/Scripts/Hero.cs(46,40): error CS0117: 'States' does not contain a definition for 'run' . Помогите, что с этим делать?

  • @forcesoftheevil9252
    @forcesoftheevil9252 3 года назад +4

    Спасибо за видео! Сделай урок по ИИ наносящий урон

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

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

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

      Ошыбка в скрипту может быть

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

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

  • @user-ej2gy2em3x
    @user-ej2gy2em3x Год назад +1

    Не знаю, поможет это кому или нет, но при проверке анимации у меня была проблема с тем, что они в принципе не запускались(не было ответа на нажатие в animator'e, во время игры). Казалось бы, вроде и ко правильный, и сохранил все с нужной величиной букв. В чем дело?
    В аниматора, int "State" был прописан с большой буквы, а в коде - с маленькой("state"). Сравнял и в аниматоре, и в коде = заработало.

  • @uzshanka1676
    @uzshanka1676 2 года назад +2

    Заметил, что если прыгнуть в платформу (которая в воздухе), герой может прыгнуть повторно. Видимо проблема в isGrounded = collider.Length > 1

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

      Коллайдеру пофиг сверху ты его касаешься или сбоку или снизу. Все равно сможешь прыгнуть. Если упрешься головой в потолок, тоже сможешь как бы прыгнуть, но по сути по потолку передвигаться на голове.

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

      эта фитча для спидранеров

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

    у меня все лишь на одной анимации прыжка, другие не показывает. Все как на видео

  • @user-vu4hl2vc4y
    @user-vu4hl2vc4y 2 года назад +3

    Спасибо большое за видео но есть некоторые проблемы с движением персонажа (в некоторых местах он не прыгает) и ещё некоректно работает анимация

    • @user-sv9cy4zo5s
      @user-sv9cy4zo5s Год назад

      У меня так же некорректно работ ает анимация, я думаю просто стоит растянуть её

    • @user-sv9cy4zo5s
      @user-sv9cy4zo5s Год назад

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

  • @mozzy_street
    @mozzy_street 2 года назад +26

    Код на игрока
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class Hero : MonoBehaviour
    {
    [SerializeField] private float speed = 3f;
    [SerializeField] private int lives = 5;
    [SerializeField] private float jampForce = 0.4f;
    private bool isGrounded = false;
    private Rigidbody2D rb;
    private Animator anim;
    private SpriteRenderer sprite;
    private States State
    {
    get { return (States)anim.GetInteger("state"); }
    set { anim.SetInteger("state", (int)value); }
    }
    private void Awake()
    {
    rb = GetComponent();
    anim = GetComponent();
    sprite = GetComponentInChildren();
    }
    private void FixedUpdate()
    {
    CheckGround();
    }
    private void Update()
    {
    if (isGrounded) State = States.Idle;
    if (Input.GetButton("Horizontal"))
    Run();
    //if (Input.GetButton("Jump"))
    //Jump();
    if (isGrounded && Input.GetButton("Jump"))
    Jump();
    }
    private void Run()
    {
    if (isGrounded) State = States.Run;
    Vector3 dir = transform.right * Input.GetAxis("Horizontal");
    transform.position = Vector3.MoveTowards(transform.position, transform.position + dir, speed * Time.deltaTime);
    sprite.flipX = dir.x < 0.0f;
    }
    private void Jump()
    {
    rb.AddForce(transform.up * jampForce, ForceMode2D.Impulse);
    }
    private void CheckGround()
    {
    Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, 0.3f);
    isGrounded = collider.Length > 1;
    if (!isGrounded) State = States.Jump;
    }
    }
    public enum States
    {
    Idle,
    Run,
    Jump
    }

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

      Рабочий?

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

      спасибо

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

      Спасибо!

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

      У меня челик не прыгает, а взлетает это нормально?

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

      @@ZariDrag0nУ меня тоже. Анимация нету

  • @ERrOR2033
    @ERrOR2033 Год назад +6

    Альтернатива для камеры из другого проекта (без FindObjectOfType):
    using UnityEngine;
    public class CameraController : MonoBehaviour
    {
    [SerializeField] private Transform objTransform;
    [SerializeField] private Vector3 offset = new Vector3(0, 0, -10f);
    [SerializeField] private float camSpeed = 5f;
    private void Update()
    {
    Vector3 newCamPos = new Vector3(objTransform.position.x, objTransform.position.y, offset.z);
    transform.position = Vector3.Lerp(transform.position, newCamPos, camSpeed * Time.deltaTime);

    }
    }
    Скорость камеры можно менять (Cam Speed)
    В самом Unity на objTransform перетаскиваем игрока (Hero, родительский объект). Внимательно проверяем offset если камера улетает, он отвечает за расстояние камеры до игрока и у меня он по стандарту по оси Z и равен -10f.

    • @dud.os_play2950
      @dud.os_play2950 Год назад +2

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

    • @AOH2-bw4ni
      @AOH2-bw4ni 3 месяца назад

      не робит

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

    Ребят подскажите пожалуйста. У меня перестал работать flipX. Так же когда я начинаю бег у меня ставится пауза, что делать?

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

    У меня при запуске игры камера опускается вниз , что делать?

  • @Mark-yy1yy
    @Mark-yy1yy 3 года назад +2

    Я никак не могу сделать эти анимации. При запуске постоянно в консоле пишет: " Parameter 'state' does not exist ". В чём проблема?

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

      Видимо ты не создал параметр для состояния в аниматоре

    • @user-xh3cz1rm4d
      @user-xh3cz1rm4d 3 года назад

      Или регистр слова "State" отличается в коде и в Unity

  • @yuriilait
    @yuriilait 2 года назад +5

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

    • @user-hz1xp5hk6n
      @user-hz1xp5hk6n 2 года назад

      У меня тоже после добавления анимации перестал поворачиваться.

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

      Тоже самое, смог исправить?

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

      @@al_re_art8 нашёл решение?

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

      @@ReyKapcher Убери на hero sprite renderer

  • @user-se4fk7xb8u
    @user-se4fk7xb8u 3 года назад

    Как исправить баг,когда я воссоздал анимации все,они работают только в одну сторону (т.е. персонаж смотрит только в одну сторону)

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

      ответ выше, нужно Sprite Renderer удалить у объекта Игрок

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

    при реализации скрипта на движение камеры за персонажем появляется ошибка "Не удалось найти тип или имя пространства имен", когда ищу обьект "hero"

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

      Возможно у тебя другое название у empty об'ъекта

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

      @@exLeute я решил проблему с помощью поиска по тэгу

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

      @@radiance7059 подскажите, как именно ? Все ломается и не работает

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

    У меня почему-то при запуске - камера движеться в сторону. Как это исправить?

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

    А что делать если не добавляется в анимацию?