Πώς να δημιουργήσω το πρώτο μου Unity Project;

Πώς να δημιουργήσω το πρώτο μου Unity Project;

To Unity είναι μια δημοφιλής μηχανή παιχνιδιών (game engine) όπου μπορείς να φτιάξεις παιχνίδια 2D και 3D ακόμα και αν είσαι αρχάριος.

1) Εγκατάσταση Unity Hub

https://docs.unity3d.com/2019.3/Documentation/uploads/Main/gs_hub_installs_screen2.png
https://t2478362.p.clickup-attachments.com/t2478362/f8560d45-99fd-4444-89f3-cebfc46230d0/add-project-beta-1.png
https://cdn.sanity.io/images/fuvbjjlp/production/9dfcfe56e10660790e6eba8eb57bbdfb122d8c20-1262x710.png

👉 Κατέβασε το Unity Hub από το επίσημο site του Unity, δημιούργησε λογαριασμό και εγκατέστησε την προτεινόμενη έκδοση του Unity Editor.

👉 Τα βήματα εγκατάστασης μπορείς να τα δεις και εδώ

Tutorial Βήμα-Βήμα (Βίντεο)

=== Files and Downloads ===
Assets – https://www.dropbox.com/sh/h5vez7ltgb…
Scripts – https://pastebin.com/QiLkpeJe
ή απλά κατατέβασε έτοιμο το unity project που περιγράφεται στο βίντεο από το github –> Unity Project – https://github.com/Britishgaming/GMTK…

2) Δημιουργία νέου Project

https://docs.unity3d.com/2021.1/Documentation/uploads/Main/createprojectwithtemplate182.jpg
https://cdn.sanity.io/images/fuvbjjlp/production/0fc074a9ead25bb74b52697bd29996a742bdb159-1999x979.jpg

✔ Άνοιξε το Unity Hub
✔ Πάτησε New Project
✔ Επίλεξε 2D template
✔ Δώσε όνομα (π.χ. MyFirstGame)
✔ Πάτησε Create

3) Το περιβάλλον του Unity

https://docs.unity3d.com/2017.4/Documentation/uploads/Main/Editor-Breakdown.jpg
https://docs.unity3d.com/es/2018.3/uploads/Main/SceneViewCallout.jpg
https://docs.unity3d.com/540/Documentation/uploads/Main/GenericInspector.png

📌 Τα βασικά παράθυρα:

  • Scene — εδώ σχεδιάζεις το επίπεδο
  • Game — εδώ βλέπεις το παιχνίδι όπως θα εμφανίζεται
  • Hierarchy — όλα τα αντικείμενα (GameObjects)
  • Inspector — ρυθμίσεις του κάθε αντικειμένου
  • Project — όλα τα αρχεία σου

4) Δημιουργία ενός αντικειμένου (Sprite)

https://connect-mediagw.unity.com/h1/20190515/learn/images/e48b8259-1071-428d-9de9-f5a04d98d9ad_Figure09.PNG
https://www.codeandweb.com/static/d7980aed55fd27b86ff3e17224a4577e/283d3/sceneview%402x.png
https://docs.unity3d.com/550/Documentation/uploads/SpriteEditorButton.png
  1. Πήγαινε GameObject → 2D Object → Sprite
  2. Διάλεξε εικόνα (μπορείς να χρησιμοποιήσεις το Default Sprite)
  3. Μετακίνησε το αντικείμενο στην Scene

5) Προσθήκη Κώδικα (C# Script)

https://docs.unity3d.com/510/Documentation/uploads/Main/AnalyticsMainCameraComponent.png
https://code.visualstudio.com/assets/docs/other/unity/unity-overview.png
https://docs.unity3d.com/540/Documentation/uploads/Main/InspectorExampleObjWithScripts.png

🧱 Βασικό Script για κίνηση

  1. Στο Project → Assets, κάνε δεξί κλικ → Create → C# Script
  2. Ονόμασέ το PlayerMovement
  3. Άνοιξέ το (με Visual Studio ή παρόμοιο)

📌 Αντιγράψε αυτόν τον κώδικα:

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float speed = 5f;

    void Update() 
    {
        float moveX = Input.GetAxis("Horizontal");
        float moveY = Input.GetAxis("Vertical");

        Vector3 movement = new Vector3(moveX, moveY, 0f);
        transform.position += movement * speed * Time.deltaTime;
    }
}

👉 Τι κάνει αυτός ο κώδικας:
✔ Παίρνει είσοδο από τα βελάκια
✔ Μετακινεί τον χαρακτήρα στο 2D επίπεδο

  1. Σύρε το PlayerMovement script πάνω στο Sprite που έφτιαξες.
  2. Δοκιμή του παιχνιδιού

    https://europe1.discourse-cdn.com/unity/original/3X/d/5/d593ae40fc0b91133b918dc94a730ac187aa8830.jpeg
    📍 Πάτησε Play πάνω αριστερά για να τρέξει το παιχνίδι και δοκίμασε να μετακινήσεις τον χαρακτήρα με τα βελάκια.

Ολοκληρωμένο Παράδειγμα Παιχνιδιού (Player – Εχθροί – Score – UI)

Θα φτιάξουμε ένα απλό 2D παιχνίδι:
👉 Ο παίκτης κινείται
👉 Αποφεύγει εχθρούς
👉 Κερδίζει πόντους (score)


🎮 Περιγραφή παιχνιδιού

  • Ο παίκτης κινείται με τα βελάκια
  • Εχθροί εμφανίζονται τυχαία
  • Όταν ο παίκτης ακουμπήσει εχθρό → Game Over
  • Το σκορ αυξάνεται με τον χρόνο

🧍‍♂️ 1. Player (Κίνηση)

Script: PlayerMovement.cs

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    public float speed = 5f;

    void Update()
    {
        float x = Input.GetAxis("Horizontal");
        float y = Input.GetAxis("Vertical");

        transform.position += new Vector3(x, y, 0f) * speed * Time.deltaTime;
    }
}

📌 Βάλε το script στον Player
📌 Πρόσθεσε Collider2D


👾 2. Εχθρός

Script: Enemy.cs

using UnityEngine;

public class Enemy : MonoBehaviour
{
    public float speed = 3f;

    void Update()
    {
        transform.Translate(Vector2.down * speed * Time.deltaTime);
    }
}

📌 Βάλε Collider2D
📌 Αν φύγει από την οθόνη → Destroy


🔁 3. Δημιουργία Εχθρών (Spawner)

Script: EnemySpawner.cs

using UnityEngine;

public class EnemySpawner : MonoBehaviour
{
    public GameObject enemy;
    public float spawnRate = 2f;

    void Start()
    {
        InvokeRepeating("SpawnEnemy", 1f, spawnRate);
    }

    void SpawnEnemy()
    {
        float x = Random.Range(-8f, 8f);
        Instantiate(enemy, new Vector3(x, 6f, 0f), Quaternion.identity);
    }
}

⭐ 4. Score System (UI)

  1. GameObject → UI → Text
  2. Ονόμασέ το ScoreText

Script: ScoreManager.cs

using UnityEngine;
using UnityEngine.UI;

public class ScoreManager : MonoBehaviour
{
    public Text scoreText;
    private float score;

    void Update()
    {
        score += Time.deltaTime;
        scoreText.text = "Score: " + Mathf.FloorToInt(score);
    }
}

💥 5. Σύγκρουση – Game Over

void OnCollisionEnter2D(Collision2D collision)
{
    if (collision.gameObject.CompareTag("Enemy"))
    {
        Time.timeScale = 0f;
        Debug.Log("Game Over");
    }
}

Η παραπάνω παρουσίαση γίνεται για καθαρά εκπαιδευτικό σκοπό και αποκλειστικό στόχο έχει στην ενίσχυση της υπολογιστικής σκέψης των μαθητών μας με τρόπο εξατομικευμένο και ανακαλυπτικό

Β. ΠΑΣΧΟΣ ΠΕ86