Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Завершити анімацію гравця | Система анімації Unity
Бійцівська гра в Unity
course content

Зміст курсу

Бійцівська гра в Unity

Бійцівська гра в Unity

1. Система анімації Unity
2. Поведінка гравця
3. Поведінка Ворога
4. Покращення гри
5. Покращення гри Flappy Bird

bookЗавершити анімацію гравця

Анімація стрибка

Для стрибка ми будемо мати дві анімації: оскільки гравець буде стрибати, а потім падати, нам потрібно створити дві анімації для цього. Перехід між ними буде базуватися на "y швидкості" гравця; якщо y позитивний, він стрибає, а якщо y негативний, він падає. Ми можемо отримати y швидкість з компонента Rigidbody2D, прикріпленого до гравця.

Цей код призначає значення для параметра переходу між стрибком і падінням.

Пояснення коду

Цей рядок перевіряє, чи натиснута клавіша Пробіл (Input.GetKeyDown(KeyCode.Space)), чи гравець на землі (isGrounded), і чи гравець не атакує в даний момент (animator.GetBool("isAttacking") == false). Якщо всі умови виконані, виконається наступний блок коду.

Цей рядок додає силу вгору до компонента Rigidbody (rb), прикріпленого до гравця, імітуючи стрибок. Сила застосовується у напрямку вгору (Vector2.up) з величиною, визначеною jumpForce, і застосовується імпульсивно (ForceMode2D.Impulse).

Цей рядок встановлює булевий параметр "isJumping" в компоненті Animator на true, запускаючи анімацію стрибка.

Цей рядок перевіряє, чи гравець зараз стрибає (animator.GetBool("isJumping") == true), чи вертикальна швидкість гравця негативна (rb.velocity.y < 0), і чи гравець на землі (isGrounded). Якщо всі умови виконані, виконається наступний блок коду.

Цей рядок встановлює булевий параметр "isJumping" в компоненті Animator на false, вказуючи, що гравець завершив стрибок і падіння та змінить свою анімацію на стан спокою.

Цей рядок випускає промінь вниз від позиції ніг гравця (playerFeet.position), щоб визначити, чи гравець знаходиться на землі. Він повертає true, якщо промінь перетинається з будь-яким колайдером у шарі землі на відстані до 0.1 одиниці, відповідно оновлюючи змінну isGrounded.

Що представляє `raycast` в Unity?

Що представляє raycast в Unity?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 6
some-alt