
Додавання стрільби і контролера ворогів в Unity
Додавання стрільби і контролера ворогів в Unity заняття
Додавання стрільби і контролера ворогів в Unity 🎮🔫👾
Сьогодні ти навчишся:
✅ Додавати стрільбу для гравця
✅ Створювати ворогів
✅ Робити так, щоб вороги переслідували гравця

Додавання стрільби і контролера ворогів в Unity заняття
1. Додаємо стрільбу для гравця 🔫
Крок 1: Створюємо кулю (снаряд)
1️⃣ У Hierarchy натисни Create → 3D Object → Sphere (це буде куля).
2️⃣ Назви її Bullet.
3️⃣ У Inspector натисни Add Component → Rigidbody (щоб куля рухалася).
4️⃣ Увімкни Use Gravity (зніми галочку), щоб куля не падала вниз.
5️⃣ Перетягни Bullet в папку Assets, щоб зробити з нього Prefab.
6️⃣ Видали кулю зі сцени (вона є в Assets).
Крок 2: Створюємо скрипт стрільби
1️⃣ В Assets натисни Create → C# Script.
2️⃣ Назви його PlayerShooting.
3️⃣ Відкрий скрипт і заміни код на цей:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerShooting : MonoBehaviour
{
public GameObject bulletPrefab; // Префаб кулі
public Transform firePoint; // Точка, звідки вилітає куля
public float bulletSpeed = 10f; // Швидкість кулі
void Update()
{
if (Input.GetMouseButtonDown(0)) // Якщо натиснута ліва кнопка миші
{
Shoot();
}
}
void Shoot()
{
GameObject bullet = Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
bullet.GetComponent<Rigidbody>().velocity = firePoint.forward * bulletSpeed;
Destroy(bullet, 2f); // Знищуємо кулю через 2 секунди
}
}
4️⃣ Збережи скрипт.
5️⃣ Створи порожній об’єкт в Hierarchy і назви його FirePoint.
6️⃣ Розмісти FirePoint перед гравцем (це буде місце, звідки вилітає куля).
7️⃣ Перетягни FirePoint в поле firePoint у PlayerShooting.
8️⃣ Перетягни Bullet Prefab у поле bulletPrefab.
✅ Готово! Гравець тепер може стріляти лівою кнопкою миші!
2. Створюємо ворогів 👾
Крок 1: Додаємо ворога
1️⃣ У Hierarchy натисни Create → 3D Object → Cube (це буде ворог).
2️⃣ Назви його Enemy.
3️⃣ Додай Rigidbody (Inspector → Add Component → Rigidbody).
4️⃣ Зніми галочку з Use Gravity, щоб ворог не падав.
5️⃣ Перетягни ворога в Assets, щоб зробити Prefab.
6️⃣ Видали ворога зі сцени.
Крок 2: Скрипт переслідування гравця
1️⃣ В Assets натисни Create → C# Script.
2️⃣ Назви його EnemyAI.
3️⃣ Відкрий скрипт і заміни код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyAI : MonoBehaviour
{
public Transform player; // Посилання на гравця
public float speed = 3f; // Швидкість ворога
void Update()
{
if (player != null)
{
Vector3 direction = player.position - transform.position; // Напрямок до гравця
direction.y = 0; // Щоб ворог не підстрибував
transform.position += direction.normalized * speed * Time.deltaTime;
}
}
}
4️⃣ Збережи скрипт.
5️⃣ Перетягни скрипт EnemyAI на Enemy Prefab.
6️⃣ У полі player вибери гравця (Capsule).
7️⃣ Перетягни ворога на сцену та запусти гру – тепер він переслідує гравця!
✅ Готово! Вороги тепер самі пересуваються до гравця!
3. Робимо так, щоб ворог отримував шкоду 💥
Крок 1: Додаємо систему здоров’я ворога
1️⃣ В Assets створи новий C# Script.
2️⃣ Назви його EnemyHealth.
3️⃣ Відкрий і заміни код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemyHealth : MonoBehaviour
{
public int health = 3; // Кількість життів
public void TakeDamage(int damage)
{
health -= damage;
if (health <= 0)
{
Destroy(gameObject); // Знищуємо ворога
}
}
}
4️⃣ Перетягни цей скрипт на Enemy Prefab.
Крок 2: Додаємо шкоду від кулі
1️⃣ Відкрий PlayerShooting і зміни метод Shoot()
:
void Shoot()
{
GameObject bullet = Instantiate(bulletPrefab, firePoint.position, firePoint.rotation);
bullet.GetComponent<Rigidbody>().velocity = firePoint.forward * bulletSpeed;
bullet.AddComponent<Bullet>(); // Додаємо скрипт до кулі
Destroy(bullet, 2f);
}
2️⃣ Створи новий C# Script і назви його Bullet.
3️⃣ Відкрий його і додай код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bullet : MonoBehaviour
{
public int damage = 1; // Шкода від кулі
void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Enemy")) // Якщо торкнулись ворога
{
other.GetComponent<EnemyHealth>().TakeDamage(damage); // Завдаємо шкоди
Destroy(gameObject); // Видаляємо кулю
}
}
}
4️⃣ У Inspector у ворога додай тег “Enemy” (Tag → Add Tag → Enemy).
5️⃣ Признач ворогу цей тег.
✅ Готово! Тепер кулі знищують ворогів! 🎯
4. Практичне завдання 🎯
🔹 Додай анімацію вибуху при знищенні ворога.
🔹 Додай звуки пострілів.
🔹 Додай систему очок (1 ворог = 10 балів).
🚀 Вітаю! Ти створив стрілянину в Unity! 🔥