Створення ігрової сцени і скрипу на Unity

Прокрутити вниз

Створення ігрової сцени і скрипу на курсі Unity для дітей

Створення ігрової сцени в Unity: покроковий алгоритм 🎮

Unity дозволяє створювати 2D та 3D сцени для ігор. Ось детальний алгоритм створення базової сцени в Unity.

1. Відкриття Unity та створення проєкту

  1. Відкрий Unity Hub.
  2. Натисни “New Project” (Новий проєкт).
  3. Вибери шаблон:
    • 3D – якщо гра у тривимірному просторі.
    • 2D – якщо створюєш платформер або гру з видом зверху.
  4. Введи назву проєкту та вкажи папку збереження.
  5. Натисни “Create” (Створити).

2. Ознайомлення з інтерфейсом Unity

🔹 Scene (Сцена) – головне вікно, де створюється гра.
🔹 Game (Гра) – перегляд сцени з точки зору камери.
🔹 Hierarchy (Ієрархія) – список об’єктів на сцені.
🔹 Inspector (Інспектор) – змінення параметрів об’єктів.
🔹 Project (Проєкт) – файли проєкту: моделі, текстури, звуки.

3. Додавання об’єктів на сцену

  1. Додавання землі (платформи)
    • У вікні Hierarchy натисни GameObject → 3D Object → Plane (Плоска поверхня).
    • Це буде основа рівня.
    • У Inspector змінюй Scale (масштаб), наприклад, (5, 1, 5).
  2. Додавання персонажа
    • Натисни GameObject → 3D Object → Capsule (Капсула).
    • Перейменуй об’єкт у “Player” (Гравець).
    • У Inspector зміни Position (позицію), щоб капсула була над платформою (наприклад, Y = 1).
  3. Додавання світла
    • У Hierarchy знайди Directional Light – це сонячне світло.
    • Якщо його немає, додай: GameObject → Light → Directional Light.
    • У Inspector можна змінити Rotation для коригування тіней.
  4. Додавання камери
    • У Hierarchy знайди Main Camera.
    • У Inspector змінюй Position та Rotation, щоб камера дивилася на персонажа.
    • Можна додати скрипт слідування камери (пізніше).

4. Додавання фізики (Rigidbody, Collider)

  1. Гравець повинен взаємодіяти з землею:
    • Вибери “Player” (каспула).
    • Натисни Add Component → Physics → Rigidbody (додає гравітацію).
    • Натисни Add Component → Physics → Capsule Collider (щоб персонаж не проходив крізь землю).
  2. Земля має бути твердою:
    • Вибери “Plane”.
    • Додай Box Collider (щоб гравець не провалювався).

5. Запуск сцени

  1. Натисни Play ▶ у верхній частині вікна Unity.
  2. Переконайся, що персонаж стоїть на платформі та падає згідно з фізикою.
  3. Якщо потрібно змінити сцену – зупини Play Mode перед редагуванням!

6. Додавання скрипта для руху гравця (C#)

  1. У вікні ProjectСтворити папку “Scripts”.
  2. Натисни Create → C# Script та назви “PlayerMovement”.
  3. Відкрий скрипт (двічі натисни) у Visual Studio або Rider.
  4. Замініть код на:
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float speed = 5f;
    public float jumpForce = 5f;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    void Update()
    {
        float moveHorizontal = Input.GetAxis("Horizontal") * speed;
        rb.velocity = new Vector3(moveHorizontal, rb.velocity.y, 0);

        if (Input.GetKeyDown(KeyCode.Space))
        {
            rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
        }
    }
}
  1. Збережи та додай скрипт до персонажа:
    • Вибери “Player”.
    • Натисни Add Component → Scripts → PlayerMovement.
    • У Inspector зміни швидкість та силу стрибка.
  2. Запусти гру (Play) та перевір, чи рухається персонаж стрілками або “A” та “D”.

7. Додавання текстур і матеріалів

  1. Створи папку “Materials” у Project.
  2. Натисни Create → Material (Матеріал).
  3. У Inspector зміни Albedo (колір) та застосуй до об’єкта.
  4. Перетягни матеріал на гравця або землю.

8. Збереження сцени та проєкту

  1. Натисни File → Save Scene As…
  2. Назви сцену “Level1” і збережи в папці Scenes.
  3. Натисни File → Save Project.

9. Експорт гри

  1. File → Build Settings…
  2. Вибери платформу (Windows, Android, WebGL тощо).
  3. Натисни Build & Run для створення гри.

Висновки

✅ Unity дозволяє швидко створювати сцени для ігор.
✅ Основні кроки: створення проєкту, додавання об’єктів, налаштування фізики, написання скриптів.
✅ Unity використовує C# для програмування поведінки об’єктів.
✅ Готову сцену можна зберегти і експортувати як гру.

🚀 Тепер ти готовий створювати власні ігрові сцени! 🎮🔥

 

Створення ігрової сцени і скрипу

Створення ігрового скрипту в Unity: покрокова інструкція

У Unity програмування відбувається мовою C#. Скрипти додають логіку та взаємодію об’єктів у грі.

1. Створення нового C#-скрипту

  1. Відкрий Unity.
  2. У вікні Project створіть папку “Scripts” (щоб упорядкувати код).
  3. В папці “Scripts” натисни Create → C# Script.
  4. Назви скрипт (наприклад, “PlayerMovement”).
  5. Двічі клікни на файл – відкриється Visual Studio / Rider.

2. Базова структура C#-скрипту в Unity

При створенні скрипту Unity автоматично додає базову структуру:

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    // Метод Start() виконується 1 раз на початку гри
    void Start()
    {
        Debug.Log("Гра розпочалася!");
    }

    // Метод Update() виконується в кожному кадрі (постійно)
    void Update()
    {
        Debug.Log("Кадр оновлено");
    }
}

🔹 Start() – виконується один раз при запуску сцени.
🔹 Update() – виконується на кожному кадрі (60+ разів на секунду).

3. Додавання логіки руху персонажа

Тепер додамо код, щоб гравець міг рухатися вперед-назад і стрибати.

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float speed = 5f;       // Швидкість руху
    public float jumpForce = 7f;   // Сила стрибка
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>(); // Отримуємо компонент Rigidbody
    }

    void Update()
    {
        // Рух ліворуч-праворуч
        float move = Input.GetAxis("Horizontal") * speed;
        rb.velocity = new Vector3(move, rb.velocity.y, 0);

        // Стрибок (якщо натиснуто Space)
        if (Input.GetKeyDown(KeyCode.Space))
        {
            rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
        }
    }
}

Що тут відбувається?

  • Використовуємо Input.GetAxis("Horizontal"), щоб керувати рухом (A / D або стрілки).
  • Додаємо Rigidbody для фізики.
  • Реалізуємо стрибок (KeyCode.Space).

4. Прикріплення скрипту до об’єкта

  1. Перетягни скрипт PlayerMovement з Project → Scripts до персонажа в Hierarchy.
  2. У Inspector з’явиться компонент PlayerMovement.
  3. Переконайся, що у персонажа є Rigidbody (фізика) та Collider (зіткнення).
  4. Натисни Play ▶ і перевір, чи працює рух.

5. Додавання взаємодії (зібрання предметів)

Створимо логіку для підбирання монет гравцем.

  1. Створи новий об’єкт “Coin”:
    • GameObject → 3D Object → Sphere (куля як монета).
    • Перейменуй у “Coin”.
    • Зміни Scale (0.5, 0.5, 0.5) – зменш монету.
    • Додай Box Collider (щоб реагувала на зіткнення).
    • Постав Is Trigger у Collider.
  2. Створи новий скрипт “Coin” у папці Scripts.
  3. Відкрий скрипт Coin.cs і напиши код:
using UnityEngine;

public class Coin : MonoBehaviour
{
    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))  // Перевіряємо, чи це гравець
        {
            Debug.Log("Монета зібрана!");
            Destroy(gameObject);  // Видаляємо монету
        }
    }
}
  1. Додай Coin.cs до об’єкта “Coin”.
  2. У персонажа в Inspector натисни Tag → Add Tag… → Player і встанови йому цей тег.
  3. Натисни Play і перевір, чи монета зникає при зіткненні.

6. Використання таймерів та випадковості

Додамо генератор монет.

  1. Створи порожній об’єкт GameObject → Create Empty.
  2. Перейменуй у “CoinSpawner”.
  3. Створи новий скрипт “CoinSpawner.cs” і відкрий його.
using UnityEngine;

public class CoinSpawner : MonoBehaviour
{
    public GameObject coinPrefab;  // Префаб монети
    public float spawnInterval = 2f; // Інтервал створення
    public float spawnRange = 5f; // Діапазон спавну

    void Start()
    {
        InvokeRepeating("SpawnCoin", 0f, spawnInterval);
    }

    void SpawnCoin()
    {
        float x = Random.Range(-spawnRange, spawnRange);
        float z = Random.Range(-spawnRange, spawnRange);
        Vector3 spawnPosition = new Vector3(x, 1, z);

        Instantiate(coinPrefab, spawnPosition, Quaternion.identity);
    }
}
  1. У Unity вибери CoinSpawner, в Inspector знайди CoinSpawner (Script) і перетягни туди Coin Prefab.
  2. Гра тепер буде випадково створювати монети кожні 2 секунди!

7. Збереження та тестування

  1. Натисни File → Save Scene і збережи як “Level1”.
  2. Запусти Play і перевір:
    • Чи рухається персонаж?
    • Чи підбирає монети?
    • Чи з’являються нові монети?

Підсумки

✅ Ми створили скрипт для керування персонажем.
✅ Додали логіку для підбору предметів.
✅ Реалізували генерацію об’єктів.
✅ Навчилися працювати з Update, Input, Rigidbody, Collider, Instantiate.

🚀 Тепер ти можеш створювати свої унікальні ігрові механіки в Unity! 🎮🔥