Как сделать платформер на 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
Почти никого не остается на Ютубе из тех ребят, которые начинали снимать на эту тематику. Держись, главное не бросай **
Ребята код для камеры:
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 возможно не туда прикрепили скрипт
Крч: player = FindObjectOfType().transform;
Спасибо братан от души!
все правильно но камера не двигается
Спасибо монтажору за обрезки скриптов просто 10\10
Сарказм?
++, было бы намного удобнее вставлять полный экран в уроках, а не пол экрана, и в не наше поле зрение кликать куда то, либо что то писать
@@imya2288 я могу скинуть готовый скрипт, полностью рабочий
@@user-tm1ui2pe6d если можно
@@user-tm1ui2pe6d и мне если можно
всё получилось, видосу лайк, переходим к 3-ей части
Спасибо что научил делать анимации!❤
Где? Даже не показал
Спасибо за видео
Ты лучший!
Я же не одна здесь, чтобы сделать игру для защиты проекта?
+
только мне для школьного проекта надо. Можешь подсказать, что делать если работает только анимация покоя?
ХВХВХВХ не думала, что ещё есть такие
@@ma_liberta ... ну я хпэхажахаэха да я лох
Я лабу в универе получил сделать платформер... так что вы не одна)
У меня все получилось, хочу объяснить частые ошибки:
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
}
Код рабочий можете сверятся
Вот код 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 можно твой телеграм или дискорд?
Чувак, ты икона
Спасибо
спасибо что помогаешь создать игры таким же делитантам как я 😁👍
Чётко продолжай
Спасибо очень помог
Если у кого-то проблемы с анимациями можете попробовать сделать так:
Попробуйте открыть таблицу с Animator’ом и в inspector в Conditions поставить State - Equals - 0. Проделайте тоже самое в run и jump, только в run выставьте Equals 1, а в jump Equals 2.
В скрипте, в “private States State” напишите в скобках State с большой буквы.
Мне помогло
А хотел спросить, если от Any State можно сделать только одну связь, можно что-то сделать?
Я немного переделал код, но у него выглядит так удобно
Хотелось бы так же
Спасибо помогло с анимацией прыжка, думал поседею почему не работало)
какой в жопу кандитиос
СПАСИБООООООООООООООООООО
Заработала анимация!!! State с большой буквы нужно писать!!! Автор видео - косепор!) Из-за его ошибок столько времени теряешь и вообще желание продолжать исчезает! Сцуко!
Хорошо и главное просто зделал камеру а то я морочился сложной камерой
Если у кого-то персонаж при прыжке судорожно переключает анимацию падения, то ловите таблэтку: просто создайте отдельно анимацию падения(falling), потом в Animator проведите стрелку от Any State к falling, задайте Equal = 3. Потом в методе, где проверяется находится перс на земле или нет, допишите это: if (rb.velocity.y < 0.0f) State = States.falling; и private bool isFalling = false; (это в начале строки, где мы указываем значения прыжка, скорости передвижения и тд)
Спасибо, мил человек
Класс
В поддержку
Наконец-то я потратила время не зря
Видос ПУШКА, спасибо большое
ТОПП, у всех камера резкая, а ток у тебя, вышла плавная, жалко что ютуб запросил
Жду больше видео, и желаю много просмотров. Не сдавайся **
Спасибо за реализацию! Очень интересно, хоть и по гайду, но все же самому делать игру. Как и многих, напрягают немного обрезанные части кода, не понятно, что куда идет. Просто крупный шрифт полного окна вполне читаемо смотрится и с монтажом меньше мороки. Ну и этот тот формат видео, в котором комментаторы позарез нужны, иначе лагов много возникает в процессе!! Тем не менее, спасибо за такой труд!
Спасибо,очень помогло)
Спасибо за урок)
Видео хорошее, спасибо !!! ))
Только толи я прослушал в каком моменте было сказано, что скрипт - CameraController необходимо было повесить на MainCamera :)), толи и правда не было сказано )), так небольшое дополнение ))
Так это еще и отдельный скрипт я вообще это в первом написал
Не обижайся, но по твоим видео очень хорошо учиться, ведь ты в некоторых местах так говнокодишь, а в некоторых не рассказываешь что и как, что человек начинает сам искать информацию, и узнает гораздо больше, чем в любом уроке
Это так, я тоже начал изучать Unity. И я тупой был вообще, не понимал, почему так, вроде язык C++ и С# освоил, студентам их програмки решаю, как семечки щелкаю. А оказывается что в Unity надо запоминать все классы, методы и т.д.
Когда несколько раз одно и тоже сделаешь, тогда начинаешь делать все быстрее, а потом уже до такого автоматизма доходит, что вот то что тут показывают в уроках можно за пару минут сделать. И вот я смотрел этот урок и чувствовал себя ничтожеством потому что делаю все аналогично, а ничего не работает. В итоге я за 2 дня только разобрался где я наошибался, зато я хорошо запомнил и смог в дальнейшем с легкостью видеть где фиксить баги. А что касается его кода, не так уж и говнокодит). Можно написать красивее, но в принципе работает же у него все. А для новичков неважно как код написан, с опытом все учаться писать красивее. Это как разговаривать на английском учиться, сначало говоришь как в детском саду, а потом с опытом разговариваешь красиво). Но вот эти обрезания, мне тоже не нравятся если честно, смотришь смотришь, а потом опа, и уже все готово (ну вы там в папочку загляните там файлик появился), а я черт подери куда-то случайно запихнул первую анимацию даже не заметив, и 2 часа думал что не так. Мне то как новичку откуда было знать что в Unity аниматор появляется том месте. Короче бред) Зато, как ты правильно сказал, заставляет разбираться самому))
@@Samurai-yh8og получается видимо зря я сделал всё так как в видео, и не было никаких ошибок 🤔
подскажите как добавить уже созданные анимации?
У меня они есть просто не сохранились в редакторе...
@@Samurai-yh8og
Если камера не следит за игроком попробуйте в дереве иерархии переместить камеру ниже Hero.У меня так сработало
Ну ты сусанин кодовый даещь жару !!!!
Он просто любил жизнь!
Альтернатива проверки состояния IsGrounded:
private bool isGrounded = false; // Она уже должна быть создана выше, как в видео
private void OnCollisionStay2D(Collision2D collision)
{
isGrounded = true;
}
private void OnCollisionExit2D(Collision2D collision)
{
isGrounded = false;
}
}
Друг, подскажи вместо чего подставлять твой вариант кода?
Огромное спасибо
При активации скрипта camera controller - игра создает невидимые текстурки и перс движется сам по себе(скользя по платформе). Что делать в таком случае?
Подскажи пожалуйста, что делать если создал анимацию и не отображается на экране игры, но при этом в сцене работает. Ещё есть проблема изменяющейся анимации, она то работет то не работает даже в окне сцены и от запуска к запуску по разному, хотя к коду я ещё даже не перешёл
Заранее спасибо
ты самый крутой ютубер
Я тебя люблю.
Что делать, если перестало разворачивать персонажа по оси x?
Возможно на основном объекте плеера добавился свой Sprite Renderer и скрипт работает с ним, а не с дочерним. Знаю, что вопрос для тебя уже не актуален, пишу для потомков.
@@Toxa357 спасибо
@@Toxa357 а как исправить?
@@rewwer2710 удали Sprite Renderer на основном объекте, чтоб он был только на дочернем или просто отключи его (галочку сними).
что делать если он у меня пишет огромное количество раз 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!
А если я сделал свои анимации, но там по 11 20 кадров, я сохранил все в гиф файлах, как я могу их использовать?
Ура
Сделай как ты сделал анимацию для прыжка и бега отдельно
Ребят, у кого проблема с тем, что воспроизводится сразу две анимации во время бега и прыжка, то в аниматоре поставьте у анимации прыжка state = 2, а у бега state = 1
непомогло
можно ли поставить просто Cinemachine вместо скриптов на камеру?
Над 7 минутами пришлось 2 дня думать ,что исправить. С начало в комментах увидел, что state на State поменять. Ушла ошибка. Потом проблемы с анимацией, она поверх Hero появлялась и на половину ниже. Решено было переделать её заново. И в итоге Получалось ,что я последующие sprite не добавлял к новым анимациям, а сами анимации перетаскивал , а нужно было как бы на спрайт накладывать эти изображения. Может кому помог. Аналогичных вопросов в комментах не обнаружил. Зато за эти 2 дня лучше код начал понимать , а то при написании понимал 30% написанного) Андрей,33 годика.
Огромное спасибо, прям дословно мои проблемы описал, особенно про 2 дня и что касается анимации)) Никитка, 22 годика
Можешь объяснить насчёт анимации? У меня такая же проблема, но я не могу понять, как это исправить.
@@neverm1ndr на данный момент забросил с этим делом и сейчас не смогу вспомнить что и как...
Тоже самое говно. Но я решил что будет проще написать свой код. И получилось норм
Очень нужен ответ что это значит: У меня тоже персонаж вниз уходит его анимация прыжка
Получалось ,что я последующие sprite не добавлял к новым анимациям, а сами анимации перетаскивал , а нужно было как бы на спрайт накладывать эти изображения. Может кому помог.
Код на игрока
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
}
Рабочий?
спасибо
Спасибо!
У меня челик не прыгает, а взлетает это нормально?
@@ZariDrag0nУ меня тоже. Анимация нету
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 = 15f;
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 < Rigidbody2D > ();
anim = GetComponent();
sprite = GetComponentInChildren();
}
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 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 * 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
}
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;
transform.position = Vector3.Lerp(transform.position, pos, Time.deltaTime);
}
}
Полностью код?
Лучший просто огромное спасибо 👍👍💪
имба
Альтернатива для камеры из другого проекта (без 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.
Спасибо тебе огромное!!! помог ппц
не робит
Скиньте полные коды пожалуйста! Я так просто не понимаю.
Была проблема в том, что position по Y для Hero и Main Camera по-разному считались, так что у меня камера сдвигалась вниз относительно персонажа
Сделал костыль, прибавив 7.0f к "pos.y"
Но хотелось бы выяснить причину и как с этим красиво бороться
Пытаюсь понять выше сказанное такая же ошибка....
Перестал прыгать персонаж и ошибка MissingComponentException: There is no 'Animation' attached to the "Player" game object, but a script is trying to access it. много раз, помогите уже 2 часа сижу разбираюсь
Спасибо! Отличное видео. Только вот есть один вопрос. После добавления анимации персонаж перестал поворачиваться в сторону направления.
Та же проблема
В Hero появился sprite renderer его нужно удалить и реверс заработает
@@Falkot78 Спасибо! Заработало ))
Надо было с Hero удалить компонент sprite renderer
@@Falkot78 Спасибо, вот я намучался... А как узнать такое то?
У меня при запуске игры в Idle дерганное Idle смешанное с Jump который вообще в другом месте. Можете помочь?
Сделай пожалуйста видос про то как добавить рекламу
При прыжке на платформу, если приземлиться не сверху а падать сбоку, код определяет что я якобы стою на земле, и могу подпрыгнуть еще раз( пытался уменьшить бокс колайдер. Но не помогает). И очень даже хорошо, было бы реалистично, якобы подтянулся на верх. Но он почему то этот прыжок делает в 3 раза сильнее. Поможет кто, решить этот вопрос?
Прыжок сильнее потому что пока ты у стены находишься ускорение придается не один раз как было когда ты на земле а все время пока ты у стенки и нажата клавиша прыжка.
Как я понимаю тут нужно во первых переписывать проверку приземления как то, а во вторых вешать движение не на апдейт а на фиксед апдейт.
У меня почему то спрайт постоянно отображается на заднем плане, а так работает все. Как убрать этот спрайт?
Спасибо за видео! Сделай урок по ИИ наносящий урон
Большое спасибо вам,но почему во время слежки камеры,у меня как то дергаются мои платформы.
попробуй их впритык поставить, возможно между ними небольшое расстояние есть
У меня проблема, анимации не сохраняются в юнити😞
В файлах ини есть а в юнити их нету
Коммент для продвижения ролика
Возникла проблема анимации переключаются подряд сами по себе. Все работает но что в движении, стоя на месте и в прыжке срабатывают сразу все анимации. Подскажите что надо сделать!!
Проверь, что в каждой анимации в state стоит 0,1,2
Идея видео класс, но минус в том что половину нужно додумывать самому
Разве же это минус? наоборот научишься сам делать больше чем тебе дают
Так нихуя не работает когда сам делаешь@@bijin7510
Здравствуйте
Не подскажете в чем проблема ?
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)
надо на форуме искать
На самом деле компонент RigidBody2D не существует а надо было "Rigidbody2D". Ты просто написал компонент в виде кэмел кэйс
Держите рабочий скрипт 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 = 15f; // сила прыжка
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 (isGrounded && Input.GetButtonDown("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 * 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
}
Просто лучший
Большое спасибо
НЕ ПРЫГАЕТ ЧЕЛ
У МЕНЯ
@@dota2trainer559 переделай скрипт , проверь нет ли ошибок
Ну так то он не работает: при прыжке анимации прыжка нет, при ходьбе анимации ходьбы нет. И выдаёт ошибку: "параметр "state" не существует"
Привет, отличное видео, но у меня появились баги!
1. Когда я запускаю игру и прыгаю то у меня может 2 прыжка нормальных а потом прыжок в космос и так циклично
2. При добавление анимации, flipX перестал работать (поправочка: починил, в Hero появился Sprite Renderer который мешал)
О, помог с flipX, спасибо)
у меня тоже проблема как у тебя в 1 первом пункте
тоже помог с flipX
за 2 мое уважение
@@samuraikendo5153 не за что
Ти про я люблю тебе
Не фурычит переключение анимации все сделал по видосу и State написал с большой. Когда проигрываю анимации бега и прыжка появляется новый персонаж (потом пропадает) но при запуске игры ток анимация покоя
Помогите пожалуйста, когда открываю Animator, то у меня нечего нету, нет анимаций как показано на видео. Помогите
Помогите, вроде все сделал как на видео, код точно правильный, на оси Х ничего не фиксировал, но персонаж не поворачивается
А почему нету момента когда камеру делают у меня с анимациями проблем нет а вот с камерой есть
как сделать, чтобы персонаж следовал за джойстиком?
А что делать если камера вроде как следит, но при этом платформа улетает далеко в противоположную сторону
Что делать если в Unity 2022 пишет ошибку в скрипте C# что error CS1007: Property accessor already defined?
Хотя я всё делал из этого видео тутора
Если стою на месте происходит анимация idle и выдает бесконечно ошибку: 'Hero' AnimationEvent has no function name specified! В чем проблема?
У меня вылетел Unity, и проект не сохранился. теперь у меня нет абсолютно никакого желания делать игру дальше 👍 (по крайней мере сегодня)
Позавчера у меня во время создания игры моргнул свет и пк перезапустился, тоже ничего не сохранилось, теперь каждые 5 минут ctrl s тычу
@@khmelyowww657 Да, у меня уже на автомате тыкаются эти клавиши. Кстати, я уже продвинулся в проекте далеко, надеюсь закончу когда-нибудь.
а что по скрипту? почему бы не показать его полностью так как не совсем понятно,вернее совсем
А как сделать, так чтобы камера быстрее двигалась?
Assets/Scripts/Hero.cs(46,40): error CS0117: 'States' does not contain a definition for 'run' . Помогите, что с этим делать?
А если я нажал Create Animation, случайно выбрал не ту папку, удалил те файлы с анимацией и теперь у меня нету кнопки Create Animation. Пожалуйста помогите!
После того как я начинаю бегать, анимация бега зацикливается, и другие анимации не работают. Почему? Как решить?
Привет, хотел спросить: у меня перс все время кудато медленно иногда быстро движется без моего нажатия . С чем это может быть связано? а так все работает спасибо!!
и поворот персонажа перестал работать
Привет) А у меня появился такой вопрос: Есть ли разница между тем, что бы в коде прописывать камере следовать за игроком, и просто сделать камеру дочерним нашему Hero?
Есть разница, потому что скриптом камера двигается намного плавнее и красивее
Где найти эту анимацию........ в архиве нет файла в формате ANIM
Я ещё в Update() добавил pos.y += 2f; чтоб камера была чуть повыше персонажа.
здарова! помоги пожалуйста... у меня во время анимации не поворачивается герой + не прыгает изза чекграунда
Как сделать камеру менее плавной? У меня персонаж немного перегоняет её. Сделать персонажа медленнее не вариант.
transform.position = Vector3.Lerp(transform.position, pos, 3* Time.deltaTime);
может поздно, но вот, можно в этой строке добавить множитель к значению Time.deltaTime
можно так же сделать множитель отдельной переменной и вынести в инспектор по желанию, чтобы подстраивать прямо в юнити
@@user-zl8ky7oy7w спасибо)
У тебя лучшие уроки на всём ютубе!
Ага, только он украл весь туториал.
ruclips.net/video/CAPVBTKk3Ww/видео.html - вот оригинал
@@Derk89 так оригинальный урок на русском, и более понятно все объясняют.
А что делать если не добавляется в анимацию?
у меня все лишь на одной анимации прыжка, другие не показывает. Все как на видео
Error:MissingComponentException: There is no 'Animator' attached to the "Hero" game object, but a script is trying to access it.
Тут всё просто: проверь, BoxCollider2D и Rigidbody2D должны находится не в Sprite, а в Hero
У меня при запуске игры камера опускается вниз , что делать?
Почему у меня только анимация покоя показывается а другие не включаются
возможно тебе уже не нужно но думаю другим пригодится: в Animator в parameters нужно создать поле под названием ИМЕННО state
пожалуйста помогите, анимация прыжка работает отлично, но вот анимация idle и run не переключаются между собой, у меня на земле постоянно idle.
ТОЖЕ САМОЕ
Ладно idle показал как сделать, но почему не показать run и jump, я вообще не вижу где Sprite для этого
Норм, но экран зумить идея плохая
Подскажите пожалуйста, почему я не могу сделать второй раз Make Transition из Any State? 2:42
Из за этого у меня происходит только idle и все. Буду очень благодарен!!!!!!!!!!
баг версии юнити, обнови до более новой
Ребят подскажите пожалуйста. У меня перестал работать flipX. Так же когда я начинаю бег у меня ставится пауза, что делать?
Спасибо!!!!!! я соревновался с друзьями и я выиграл!!!!!!!!!!!!!!!! СПАСИБО!!!!!!!!!!!!!! спорили на 50 доларов
Не знаю, поможет это кому или нет, но при проверке анимации у меня была проблема с тем, что они в принципе не запускались(не было ответа на нажатие в animator'e, во время игры). Казалось бы, вроде и ко правильный, и сохранил все с нужной величиной букв. В чем дело?
В аниматора, int "State" был прописан с большой буквы, а в коде - с маленькой("state"). Сравнял и в аниматоре, и в коде = заработало.
Почему у меня как в конце видео пишет: error cs1513.} expected 95.2
Доброго дня! Может кто подсказать... Компонент аниматор добавил на ГГ, и в нем видно, что они работают, когда бежишь и прыгаешь, но при этом анимация остается idle. Код кучу раз перепроверил, проблема точно не в нем. Может я как то неправильно в самом аниматоре сделал ( все по видео делал).
У меня так же
Srite Render удали. ВЫше написано же.
на каком объекте удалить?
@@okiemes196
У меня почему-то при запуске - камера движеться в сторону. Как это исправить?
Подскажите пожалуйста, почему персонаж перестал прыгать и запускать анимацию прыжка и бега. Буду благодарен.
В коде наверное допустил ошибки