Hướng Dẫn Tạo Game 2D Đầu Tiên Với Unity Cho Người Mới
Thời gian đọc: 10 phút | Tác giả: LamGame Team
Bạn muốn tạo game 2D đầu tiên với Unity nhưng không biết bắt đầu từ đâu? Hướng dẫn này sẽ giúp bạn từ việc cài đặt Unity đến hoàn thành game đầu tiên một cách dễ hiểu nhất.
1. Cài Đặt Unity
Trước tiên, bạn cần tải Unity Hub từ trang chủ Unity. Unity Hub giúp quản lý các phiên bản Unity và project dễ dàng hơn.
- Tải Unity Hub từ unity.com
- Cài đặt Unity Editor phiên bản LTS mới nhất
- Đăng ký tài khoản Unity (miễn phí cho cá nhân)
2. Tạo Project Mới
Mở Unity Hub và tạo project mới:
- Chọn "New Project"
- Chọn template "2D Core"
- Đặt tên project: "MyFirstGame"
- Chọn vị trí lưu project
- Click "Create Project"
3. Thiết Lập Scene Đầu Tiên
Unity sẽ mở với scene mặc định. Chúng ta sẽ tạo một game platform đơn giản:
Tạo Ground (Nền)
Tạo một GameObject để làm nền:
- Right-click trong Hierarchy → 2D Object → Sprite → Square
- Đổi tên thành "Ground"
- Scale: X=10, Y=1, Z=1
- Position: X=0, Y=-4, Z=0
4. Tạo Player Character
Tạo nhân vật chính:
- Tạo Sprite → Square, đổi tên thành "Player"
- Position: X=0, Y=0, Z=0
- Thêm component Rigidbody2D
- Thêm component BoxCollider2D
5. Script Di Chuyển Player
Tạo script C# để điều khiển player:
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float moveSpeed = 5f;
public float jumpForce = 10f;
private Rigidbody2D rb;
private bool isGrounded;
void Start()
{
rb = GetComponent<Rigidbody2D>();
}
void Update()
{
// Di chuyển trái phải
float moveInput = Input.GetAxis("Horizontal");
rb.velocity = new Vector2(moveInput * moveSpeed, rb.velocity.y);
// Nhảy
if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
{
rb.velocity = new Vector2(rb.velocity.x, jumpForce);
}
}
void OnCollisionEnter2D(Collision2D collision)
{
if (collision.gameObject.name == "Ground")
{
isGrounded = true;
}
}
void OnCollisionExit2D(Collision2D collision)
{
if (collision.gameObject.name == "Ground")
{
isGrounded = false;
}
}
}
Attach script này vào Player GameObject.
6. Thêm Physics và Collision
Để player không rơi xuyên qua ground:
- Chọn Ground GameObject
- Thêm component BoxCollider2D
- Đảm bảo cả Player và Ground đều có Collider
7. Tạo Enemy Đơn Giản
Tạo kẻ thù di chuyển tự động:
using UnityEngine;
public class Enemy : MonoBehaviour
{
public float moveSpeed = 2f;
private int direction = 1;
void Update()
{
transform.Translate(Vector2.right * direction * moveSpeed * Time.deltaTime);
// Đổi hướng khi chạm tường
if (transform.position.x > 8f || transform.position.x < -8f)
{
direction *= -1;
}
}
}
8. Hệ Thống Điểm Số
Tạo UI hiển thị điểm:
using UnityEngine;
using UnityEngine.UI;
public class GameManager : MonoBehaviour
{
public Text scoreText;
private int score = 0;
void Start()
{
UpdateScore();
}
public void AddScore(int points)
{
score += points;
UpdateScore();
}
void UpdateScore()
{
scoreText.text = "Score: " + score;
}
}
9. Build Game
Để build game thành file thực thi:
- File → Build Settings
- Chọn platform (PC, Mac & Linux Standalone)
- Add Open Scenes
- Click "Build"
- Chọn folder để lưu game
10. Tối Ưu và Phát Triển Thêm
Sau khi có game cơ bản, bạn có thể:
- Thêm sprites và animation
- Tạo nhiều level
- Thêm âm thanh và hiệu ứng
- Cải thiện gameplay
Kết Luận
Chúc mừng! Bạn đã tạo thành công game 2D đầu tiên với Unity. Đây chỉ là bước khởi đầu - Unity có rất nhiều tính năng mạnh mẽ để bạn khám phá.
Muốn học sâu hơn? Hãy xem các source code game Unity chất lượng cao tại LamGame.vn để tham khảo và học hỏi thêm.
Tải Source Code Game Unity Chất Lượng
Khám phá bộ sưu tập source code game Unity đa dạng tại LamGame.vn - từ game 2D đơn giản đến game 3D phức tạp, tất cả đều có documentation chi tiết và hỗ trợ kỹ thuật.