Link to original video by Huynn | game dev

Học làm game Unity | Buổi 1

Outline Video Học làm game Unity | Buổi 1

Tóm tắt ngắn:

Tóm tắt chi tiết:

Bài học được chia thành các phần chính sau:

Phần 1: Giới thiệu và lý do chọn 2D/Mobile: Giảng viên giải thích lý do lựa chọn lập trình game 2D với Unity và tập trung vào nền tảng mobile. 2D được chọn vì dễ tiếp cận hơn so với 3D, trong khi vẫn chia sẻ nhiều kiến thức cơ bản. Mobile được chọn vì thị trường game Việt Nam chủ yếu tập trung vào mobile, và Unity hỗ trợ tốt cho nền tảng này. Giảng viên bác bỏ quan niệm game mobile luôn dễ hơn game PC, nhấn mạnh rằng độ phức tạp phụ thuộc vào quy mô và gameplay. Ông cũng đề cập đến sự phát triển mạnh mẽ của thị trường game mobile Việt Nam và mục tiêu tăng doanh thu lên 1 tỷ đô la vào năm 2023.

Phần 2: Cài đặt và giao diện Unity: Phần này hướng dẫn chi tiết cách cài đặt Unity Hub, quản lý nhiều phiên bản Unity (để tránh xung đột khi làm việc trên các dự án lớn), tạo project mới, và lựa chọn template 2D Core. Giảng viên nhấn mạnh tầm quan trọng của việc chọn phiên bản LTS (Long Term Support) và giải thích về các module cần thiết (như Android Build Support). Ông cũng hướng dẫn cách tùy chỉnh layout của Unity Editor để tối ưu hóa hiệu quả làm việc.

Phần 3: Khái niệm cơ bản trong Unity: Giảng viên giải thích các khái niệm cốt lõi trong Unity: Scene (không gian làm việc), Game Object (vật thể trong game), Transform (vị trí, xoay, tỉ lệ), Component (chức năng của Game Object). Ông nhấn mạnh sự khác biệt giữa scale (độ phóng đại) và kích thước thực tế của vật thể, và tầm quan trọng của việc hiểu rõ khái niệm này. Cửa sổ Hierarchy, Inspector, và Project được giải thích chi tiết, cùng với cách sử dụng các công cụ (Move Tool, Rotate Tool, Scale Tool) để thao tác với Game Object. Giảng viên cũng giải thích về việc sử dụng Pixel Per Unit để điều chỉnh kích thước của Sprite trong Unity.

Phần 4: Tạo và sử dụng Script: Phần này hướng dẫn cách tạo script mới trong Unity, giải thích về việc kế thừa từ MonoBehaviour để tạo custom component. Giảng viên giải thích về vòng đời của một game trong Unity và vai trò của các hàm Start()Update(), cũng như sự khác biệt giữa Update()FixedUpdate(). Ông cũng hướng dẫn cách sử dụng Debug.Log() để in thông tin ra console và cách sử dụng Input.GetKey(), Input.GetKeyDown(), và Input.GetKeyUp() để xử lý input từ bàn phím.

Phần 5: Xử lý di chuyển và tối ưu: Giảng viên hướng dẫn cách di chuyển Game Object bằng cách can thiệp vào tọa độ (sử dụng transform.positiontransform.Translate) và giải thích cách sử dụng Time.deltaTime để tối ưu hóa việc di chuyển, đảm bảo tốc độ di chuyển nhất quán trên các thiết bị khác nhau. Ông cũng giới thiệu các hàm Vector2.MoveTowardsVector2.Lerp để thực hiện di chuyển đến một điểm đích. Cuối cùng, giảng viên hướng dẫn cách sử dụng SerializeField để hiển thị các biến private trong Inspector, giúp việc tùy chỉnh dễ dàng hơn.

Phần 6: Câu hỏi và kết luận: Phần này dành để trả lời các câu hỏi của học viên và tổng kết nội dung bài học. Giảng viên nhắc lại các điểm chính và khuyến khích học viên tham khảo tài liệu trên Unity Documentation.

Các câu nói đáng chú ý: "2D 3D nó có một số cái khác biệt một số chỗ mình phải khác biệt nhưng mà về những cái kiến thức cơ bản của nó là như nhau"; "Làm game nó cũng như làm web app thôi"; "Cái scale này nó không phải là kích thước của vật thể mà nó là độ phóng đại của vật thể"; "Time.deltaTime là rất là quan trọng phải hiểu là tại sao chúng ta lại phải nhân nhân với cái đấy".