Створення простого 2D-платформера в Unity
У цьому підручнику ми створимо базовий 2D-платформер у Unity. Це включатиме створення персонажа гравця, який може рухатися, стрибати та взаємодіяти з платформами. Ми також додамо деякі основні ігрові елементи, такі як перешкоди та предмети колекціонування.
1. Налаштування проекту
Почнемо з налаштування нового Unity 2D проекту:
- Відкрийте Unity і створіть новий 2D-проект.
- Перейдіть до File > New Scene і виберіть 2D Mode.
- Збережіть сцену як MainScene.
2. Створення персонажа гравця
Спочатку ми створимо простого персонажа гравця за допомогою спрайту та додамо функцію руху:
- Клацніть правою кнопкою миші у вікні Hierarchy і виберіть Create Empty. Назвіть цей об’єкт Player.
- Додайте компонент Sprite Renderer до об’єкта Player, натиснувши Add Component в інспекторі.
- Виберіть спрайт для використання як персонажа, створивши власний або імпортувавши 2D ресурс із Unity Asset Store.
- Додайте Rigidbody2D і BoxCollider2D до об’єкта Player для фізики та виявлення зіткнень.
3. Написання сценарію руху гравця
Тепер давайте напишемо сценарій, який дозволить гравцеві рухатися та стрибати. Виконайте такі дії:
- Клацніть правою кнопкою миші у вікні Project і виберіть Create > C# Script. Назвіть його PlayerController.
- Прикріпіть цей сценарій до об’єкта програвача, перетягнувши його з вікна проекту до програвача в ієрархії.
Замініть вміст сценарію таким:
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5f;
public float jumpForce = 7f;
private Rigidbody2D rb;
private bool isGrounded = true;
void Start()
{
rb = GetComponent();
}
void Update()
{
// Player movement
float moveInput = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(moveInput * moveSpeed, rb.velocity.y);
// Jumping
if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
{
rb.velocity = new Vector2(rb.velocity.x, jumpForce);
isGrounded = false;
}
}
private void OnCollisionEnter2D(Collision2D collision)
{
// Check if player is touching the ground
if (collision.collider.CompareTag("Ground"))
{
isGrounded = true;
}
}
}
4. Створення платформ і середовища
Тепер ми створимо платформи, на які гравець зможе стрибати:
- В ієрархії клацніть правою кнопкою миші та виберіть Create Empty, а потім назвіть її Platform.
- Додайте BoxCollider2D і Sprite Renderer на платформу.
- Виберіть спрайт для платформи (наприклад, плоский прямокутник).
- Створіть копію платформи, натиснувши Ctrl+D (або Cmd+D на Mac) і розмістіть копії, щоб створити рівень.
- Позначте ці об’єкти як Ground в інспекторі для логіки стрибка гравця.
5. Додавання перешкод
Щоб зробити гру складнішою, давайте додамо кілька перешкод:
- Створіть ще один порожній GameObject і назвіть його Obstacle.
- Додайте BoxCollider2D і Sprite Renderer до цього об’єкта.
- Виберіть спрайт для перешкоди (наприклад, шип або небезпека).
- У методі гравця OnCollisionEnter2D ви можете виявити зіткнення з перешкодами та перезапустити гру або відняти здоров’я.
6. Додавання предметів колекціонування
Ми також можемо додавати предмети колекціонування, наприклад монети або бонуси:
- Створіть ще один порожній GameObject і назвіть його Collectible.
- Додайте CircleCollider2D (встановіть його як тригер) і Sprite Renderer, щоб представити предмет колекціонування.
- Напишіть простий сценарій, щоб визначити, коли гравець збирає предмет:
using UnityEngine;
public class Collectible : MonoBehaviour
{
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
// Add points or other effects here
Destroy(gameObject); // Remove the collectible from the scene
}
}
}
7. Тестування та налаштування гри
Тепер, коли основні механізми готові, ви можете перевірити гру, натиснувши кнопку «Відтворити». Спробуйте налаштувати наступне:
- Змініть значення moveSpeed і jumpForce, щоб налаштувати швидкість руху та стрибків гравця.
- Дублюйте платформи та перешкоди для створення різних рівнів.
- Додайте фонові елементи або прикраси, щоб зробити гру візуально привабливою.
8. Покращення платформера
Щоб вивести свій платформер на новий рівень, додайте:
- Анімація для гравця, наприклад анімація ходьби та стрибків.
- Звукові ефекти для стрибків, збирання предметів і наїздів на перешкоди.
- Камера, яка стежить за рухами гравця для більш динамічного перегляду гри.
Висновок
Завдяки цьому простому налаштуванню 2D-платформера тепер у вас є базова структура гри, яку можна розширити за допомогою додаткових функцій, рівнів і вдосконалень. Експериментуйте з різними механіками та створюйте свій власний унікальний платформер.