Тёмный

Анимации в Unity 2D | Для новичков | Gamedev - Разработка игр 

LogFaer
Подписаться 13 тыс.
Просмотров 77 тыс.
50% 1

Привет в этом видео ты узнаешь как подключить анимации для 2D персонажа в Unity 2D. Анимации делают игру живее, старался объяснять максимально понятно для новичков.
Вступай на наш сервер DISCORD до 01.01.2022 и получи эксклюзивную роль "Олд 👻" - / discord
Подписывайся на мою страницу в Boosty, и получай разные плюшки (подробности на сайте): boosty.to/logfaer
Если вы не видели прошлое видео обязательно посмотрите!
Прошлое видео (Управление 2D): • Управление 2D персонаж...
Ссылка на ассет: assetstore.uni...
Надеюсь тебе это поможет.
Также если тебе понравится видео не забудь поставить лайк.
Ну или дизлайк если не понравится и напиши почему.
Так я только начинаю снимать видео на этот канал мне очень нужна ваша поддержка!
ПРИЯТНОГО ПРОСМОТРА!
#Unity #Unity2D #Gamedev
#LogFaer #ЛогФаер

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 96   
@НикитаСорокин-й4р
Код из видео: using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerScript2D : MonoBehaviour { private Rigidbody2D rb; private float HorizontalMove = 0f; private bool FacingRight = true; [Header("Player Movement Settings")] [Range(0, 10f)] public float speed = 1f; [Range(0, 15f)] public float jumpForce = 8f; [Header("Player Animtaion Settings")] public Animator animator; [Space] [Header("Ground Cheker Settings")] public bool isGrounded = false; [Range(-5f, 5f)] public float checkGroundOffsetY = -1.8f; [Range(0, 5f)] public float checkGroundRadius = 0.3f; void Start() { rb = GetComponent(); } void Update() { if (isGrounded && Input.GetKeyDown(KeyCode.Space)) { rb.AddForce(transform.up * jumpForce, ForceMode2D.Impulse); } HorizontalMove = Input.GetAxisRaw("Horizontal") * speed; animator.SetFloat("HorizontalMove", Mathf.Abs(HorizontalMove)); if (isGrounded == false) { animator.SetBool("Jumping", true); } else { animator.SetBool("Jumping", false); } if (HorizontalMove < 0 && FacingRight) { Flip(); } else if (HorizontalMove > 0 && !FacingRight) { Flip(); } } private void FixedUpdate() { Vector2 targetVelocity = new Vector2(HorizontalMove * 10f, rb.velocity.y); rb.velocity = targetVelocity; CheckGround(); } private void Flip() { FacingRight = !FacingRight; Vector3 theScale = transform.localScale; theScale.x *= -1; transform.localScale = theScale; } private void CheckGround() { Collider2D[] colliders = Physics2D.OverlapCircleAll (new Vector2(transform.position.x, transform.position.y + checkGroundOffsetY), checkGroundRadius); if (colliders.Length > 1) { isGrounded = true; } else { isGrounded= false; } } }
@МихаилКрыгин-ю3й
@МихаилКрыгин-ю3й 10 месяцев назад
Код не рабочий.
@хзхзешник-щ7г
@хзхзешник-щ7г 7 месяцев назад
золотой ты человек
@ivancool7690
@ivancool7690 6 месяцев назад
спасибо ты лучший
@aksolove0
@aksolove0 2 месяца назад
​@@МихаилКрыгин-ю3й Может надо ещё в самом движке что-то сделать? Нет?
@ИванПавленко-е1х
отличные уроки, все четко и понятно, большое спасибо
@valerapetrovi4246
@valerapetrovi4246 3 месяца назад
Вопрос тупой, но как сделать эти кадры? На 1 файле уместить все кадры или как:?
@caintas4364
@caintas4364 3 года назад
Сделай пожалуйста врагов, от которых персонаж будет умирать и вылезать меню начать заново
@LogFaer
@LogFaer 3 года назад
Конечно сделаю, я постараюсь сделать целый плейлист - как сделать 2D платформер от А до Я, но конечно всё будет по порядку, поэтому и до этой темы дойдём!
@caintas4364
@caintas4364 3 года назад
@@LogFaer буду жать! 😊
@alixondjamalxanov
@alixondjamalxanov 8 месяцев назад
я нашел ассет который ты используеш и вбиваю как зделать анимацию и тут тот же ассет что и у меня 🤣
@qdnr
@qdnr Год назад
Благодарю сударь
@Synergy-Games-Official
@Synergy-Games-Official Год назад
Что делать если не показывается samples?
@Истории_Наоборот
Такой же вопрос, есть решение проблемы?
@Synergy-Games-Official
@Synergy-Games-Official Год назад
@@Истории_Наоборот уже нашё решение
@Synergy-Games-Official
@Synergy-Games-Official Год назад
@@Истории_Наоборот да, напиши а инете где найти samples в animation unity
@yassin_GameOver1
@yassin_GameOver1 6 месяцев назад
Thanks🎉
@Zeegro-
@Zeegro- Год назад
А можно ли немного подкорректировав код сделать перемещение вврех и вних
@RyanTutorials
@RyanTutorials 3 года назад
Что если нету окна Samples? на 1:34
@Адам-у8ж
@Адам-у8ж 3 года назад
У меня тоже её нету
@mygames9980
@mygames9980 2 года назад
+
@saba1043
@saba1043 2 года назад
У Аниматион в углу три точки и там нажмите на show sample rate
@пеплер
@пеплер Год назад
то ли я криворукий то ли что то не так у меня ничего не вышло
@itzPlatium
@itzPlatium 9 месяцев назад
Обсолютно не чего не работает
@Doctor_Leo_LS
@Doctor_Leo_LS 6 месяцев назад
Очень быстро говоришь, объяснения действий не подробные, музыка орёт наравне с голосом. Вникать в такое невозможно.
@DroidGame2023
@DroidGame2023 8 месяцев назад
автор снимает не видео урок, а просто записывает комментарии к свои действиям. Если вкратце, то его обучение чтобы решить пример 3х2=6 выглядит так - "пишем "3", ставим крестик "х", пишем "2", ставим две чёрточки "=" пишем "6". Молодец, ученик, ты хорошо справился с задачей!
@Alan1984B
@Alan1984B 6 месяцев назад
Ну хз, мне помогло.
@mixdanYt
@mixdanYt 5 месяцев назад
Норм все
@reivenna
@reivenna 3 года назад
Большое спасибо за твои уроки! ❤
@videosnewmaster5109
@videosnewmaster5109 3 года назад
Что делать если вылезла ошибка имя HorizontalMove не существует в текущем контексте
@fork45
@fork45 2 года назад
название переменной другое у тебя
@mygames9980
@mygames9980 2 года назад
@@fork45 как это
@Synergy-Games-Official
@Synergy-Games-Official Год назад
Может ты назвал переменную не "HorizontalMove"?
@Esperantistoelisraelo
@Esperantistoelisraelo Год назад
Смотря на переменную!
@виталийвласов-н9ц
@виталийвласов-н9ц 10 месяцев назад
Void update(float Horizontalmove)
@Zangirffdfd
@Zangirffdfd 10 месяцев назад
using System.Collections; using System.Collections.Generic; using UnityEngine; public class MOVE : MonoBehaviour { public float jumpForce = 6; public float speed = 5; public Rigidbody2D rb; public Animator animator; public SpriteRenderer sr; private void Flip() { if (Input.GetAxisRaw("Horizontal") == 1) { transform.localScale = new Vector3(1, 1, 1); } else if (Input.GetAxisRaw("Horizontal") == -1) { transform.localScale = new Vector3(-1, 1, 1); } } void Start() { rb = GetComponent(); sr = GetComponent(); } void Update() { if (Input.GetKey(KeyCode.A)) { transform.Translate(Vector2.left * speed * Time.deltaTime); } if (Input.GetKey(KeyCode.D)) { transform.Translate(Vector2.right * speed * Time.deltaTime); } if (Input.GetKeyDown(KeyCode.Space)) { rb.AddForce(new Vector2(rb.velocity.x, jumpForce), ForceMode2D.Impulse); } if (Input.GetAxis("Horizontal") != 0) { Flip(); } } }
@BuzzyBee44568
@BuzzyBee44568 2 месяца назад
Отличное видео! Я тоже недавно сделал видео о создании своей игры, но в 2D и для мобильных устройств. Было бы интересно услышать ваше мнение!
@MegaVolt377
@MegaVolt377 10 месяцев назад
1:13 что произошло в этот момент я не понимаю почему в иерархии все поменялось
@U4n5k1n4o8wn
@U4n5k1n4o8wn Год назад
Что делать с isGrounded не существует в этом контексте?
@ИгорьБабинцев-ф2ь
@ИгорьБабинцев-ф2ь 2 года назад
Привет! Очень крутой туториал. Но у меня проблема с прыжком. Анимация прыжка просто не воспроизводиться
@ИгорьБабинцев-ф2ь
@ИгорьБабинцев-ф2ь 2 года назад
Если знаете решение обязательно напишите пожалуйста
@spetgod2796
@spetgod2796 Год назад
У меня переменная Horizontal просто не отоброжается в коде, что делать?
@SanSanik696
@SanSanik696 2 месяца назад
Привет, заметил что в анимации прыжка 2 кадра(2 спрайта) но используется только первый. Я так понимаю что бы отрабатывал 2 кадр нужно разделить анимацию на прыжок и падение по 1 соответственно спрайту ?)))
@he1pi304
@he1pi304 2 года назад
[Header("Player Animation Settings")] выдает ошибку кто может обьяснить что делать?
@АрсенийМракобесов
@АрсенийМракобесов 5 месяцев назад
ЧЁ БЛЯ????
@НикитаДрако
@НикитаДрако 4 месяца назад
Если у кого-то длинные анимации прыжка, то через AnyState нельзя. Так как она будет зацикливаться на определенном этапе и не будет проигрываться как надо
@Space_7252
@Space_7252 8 месяцев назад
либо код не правильный(я его переписал много раз) либо я в аниматоре рукожоп. короче там при прыжке анимация воспроизводится только тогда когда я приземляюсь на землю а в воздухе анимация НЕ РАБОТАЕТ
@НикаШатилова-е5э
@НикаШатилова-е5э 6 месяцев назад
А как сделать чтобы анимация прыжка состояла из нескольких кадров, а не из одного? Вроде в анимацию загрузила 9 кадров, а при прыжке только один отображается. В остальном прекрасное видео! За один день по вашим видео столько освоила! Класс!
@paler_r
@paler_r 2 года назад
У меня ошибку выдаёт
@INC96NT
@INC96NT 2 года назад
Вроде бы сделал все как нужно, а при запуске перс в прыжке зависает :(
@lacki-2887
@lacki-2887 Год назад
привет , прошло 8 месяцев но может у когото такаяже проблема , скорее всего ты не подключил Rigibodi2D
@U4n5k1n4o8wn
@U4n5k1n4o8wn Год назад
Тоже самое((
@lacki-2887
@lacki-2887 Год назад
@@U4n5k1n4o8wn не помогло?
@robottv460
@robottv460 Год назад
Подскажи, когда я в аниматоре ставлю update mode - normal, то объект создаётся с смещёнными координатами. а если я ставлю update mode physics, то всё создаётся так как надо, но этот мод мне не подходит. Как исправить?
@mrminecrafter3829
@mrminecrafter3829 3 года назад
Спасибо большое автору !!!
@_Zhennnnn
@_Zhennnnn Год назад
Assets\Scripts\Player2DControl.cs(124,49): error CS0103: The name 'HorizontalMove' does not exist in the current context хз что делать...
@Ар4к
@Ар4к Год назад
Ты параметр не переименовал гаризонтал мув!
@Alex_-zi6hz
@Alex_-zi6hz Год назад
спс чел, помог, респект. ЛАЙК и ПОДПИСКА, а те кто не подписаны или хейтят этого чела, те ЛОХИ.
@fa2lenangel
@fa2lenangel 9 месяцев назад
f а что делать если спрайт качается из стороны в сторону но при вырезке все было правильно
@sashapeliak6694
@sashapeliak6694 Год назад
Assets\Character.cs(41,55): error CS0103: The name 'HorizontalMove' does not exist in the current context что делать когда такая ошибка?
@Progspeedrun
@Progspeedrun Год назад
Скорее всего данная ошибка возникла из-за того, что вы вместо animator.SetFloat("HorizontalMove", Не помню что тут); написали HorizontalMove = Не помню что тут; Проверьте, возможно это поможет.
@Progspeedrun
@Progspeedrun Год назад
Если у вас так написано, проверьте это: HorizontalMove должно быть написано в кавычках. Также если всё правильно можно проверить совпадение с кодом из видео и с переменной в самом аниматоре.
@RazvlekaykaBY
@RazvlekaykaBY Год назад
Это просто? В Construct за минуту и без кода тоже самое сделаешь... Новичок будет сидеть над этим около часа...
@imperatorgame
@imperatorgame Год назад
Construct проще юнити там готовые блоки кода тут просто код никто и не говорил что юнити легче construct но в принципе способ простой
@ford2970
@ford2970 Год назад
почему то у меня когда идёт анимация идл персонаж не может двигаться
@mygames9980
@mygames9980 2 года назад
У меня ошибка SetFLoat
@mol4a903
@mol4a903 2 года назад
У меня так же
@User-g5n7f
@User-g5n7f 2 года назад
большую L поменяй на маленькую
@Persohazz
@Persohazz Год назад
лучший код для перемещения который у меня получилось найти пойду дальше смотреть гайды
@df1088
@df1088 Год назад
Спасибо, мне было как то лень искать хорошие гайды в интернете, а этот видос сразу в рекомендациях попался, так что грех было не посмотреть! Спасибо за ясность!
@wego733
@wego733 7 месяцев назад
Ребят помогите пожалуйста. Сделал все как на видео и код такойже и в аниматоре все тоже, но анимации не работают только если в ручную переключать. Как это исправить?
@Yendjii
@Yendjii 3 месяца назад
нужно сделать так чтобми значение икс менялось при нажатии а или д ну или же при перемещении, врядли заметишь писал ти етот коммент 4 мес назад, думаю т розобрался, напиши если знаешь как....
@dizer6586
@dizer6586 3 года назад
Спасибо!
@SoloFun493
@SoloFun493 2 года назад
Просто и понятно, единственный урок по теме, где нет воды. Спасибо большое
@mol4a903
@mol4a903 2 года назад
5:22
@itsbanankeklol
@itsbanankeklol Год назад
что делать если анимация прыжка состоит из 8-ми спрайтов?
@itsbanankeklol
@itsbanankeklol Год назад
из 9*
@Eugen_TV
@Eugen_TV Год назад
отличный урок! подписался!
@SpudFox
@SpudFox Год назад
Спасибо
@nazirakodarova8298
@nazirakodarova8298 Год назад
Спасибо на тебе!
@ГригорийЖаров-г8ю
Спасибо, помог разобраться
@mrminecrafter3829
@mrminecrafter3829 3 года назад
Топ видео
@mrminecrafter3829
@mrminecrafter3829 3 года назад
Крутое видео
@thedelka3958
@thedelka3958 Год назад
как ты склеил персонажа, он же там по частям в ассетах...
@tech6882
@tech6882 Год назад
Что ты имеешь ввиду
@thedelka3958
@thedelka3958 Год назад
@@tech6882 да я понял уже все
@PavelStr-x5w
@PavelStr-x5w Год назад
Спасибо за урок !)
@oldborodach
@oldborodach 2 года назад
Все вроде бы ништяк, но просьба в дальнейшем не спеши и лучше возьми за формат мин 10 покажи больше и не спеша будет зачетнее ОК 🤗!
@tigranavagyan1587
@tigranavagyan1587 Год назад
Большое тебе спасибо за труд. Очень полезное видео получилось
@Lilmonixdd
@Lilmonixdd Год назад
3:41 Ничего подобного.. Персонаж просто стоит без анимации. А в консоле 999+ ошибок..😢
@GAMER-nl7if
@GAMER-nl7if Год назад
надо быть внимательнее
@ВикторЦой-ж3ж
@ВикторЦой-ж3ж Год назад
Не снимай пожалуйста больше видео. 70% вопросов не было понятно.
@flackjk0
@flackjk0 9 месяцев назад
Не пиши пожалуйста больше комментарии. 100% ты аутист, поэтому не понятно зачем ты это пишешь
@ZullDalm
@ZullDalm 7 месяцев назад
Значит вы тормозите...я всё понял и мне дейтствительно помогло🐥
@WASDreload
@WASDreload 7 месяцев назад
Значит ты что то не понял, я все понял и все работает
@ВладКемерев
@ВладКемерев Год назад
Привет У меня такая проблема при запуске анимации на сцене появляется 2 персонаж тяжело объяснить может тебе это о чём то говорит если это так то помоги пж
Далее
С какого года вы со мной?
00:13
Просмотров 207 тыс.