Course Overview
Bạn yêu thích những tựa game 3D sống động và muốn tự mình tạo ra những thế giới ảo kỳ diệu?
Khóa học "Lập trình Game 3D C# với Unity" chính là cánh cửa đưa bạn bước vào lĩnh vực phát triển game chuyên nghiệp.
Trong khóa học này, bạn sẽ:
- Làm quen và thành thạo với Unity Engine — công cụ phát triển game 3D mạnh mẽ được sử dụng rộng rãi trên toàn thế giới.
- Nắm vững ngôn ngữ lập trình C# và cách ứng dụng C# trong môi trường Unity.
- Học cách xây dựng các đối tượng 3D, thiết kế môi trường, lập trình di chuyển nhân vật, xử lý va chạm, hệ thống vật lý, ánh sáng, âm thanh và animation.
- Thực hành qua các dự án thực tế: từ việc tạo một nhân vật 3D đơn giản đến xây dựng hệ thống gameplay hoàn chỉnh.
- Hiểu quy trình làm game từ A đến Z: lên ý tưởng, xây dựng, kiểm thử và tối ưu sản phẩm.
Bạn sẽ được học:
- Kỹ thuật điều khiển nhân vật và camera trong môi trường 3D.
- Tạo và quản lý cảnh vật, ánh sáng, hiệu ứng hình ảnh và vật lý tương tác.
- Xây dựng giao diện người dùng (UI) trong game 3D.
- Tích hợp âm thanh, hiệu ứng đặc biệt và animation nâng cao.
- Các kỹ thuật tối ưu hóa game 3D để chạy mượt trên nhiều thiết bị.
Khóa học phù hợp với:
- Người mới bắt đầu lập trình game nhưng muốn chinh phục môi trường 3D chuyên sâu.
- Lập trình viên mong muốn nâng cấp kỹ năng phát triển game bằng Unity.
- Các bạn trẻ đam mê sáng tạo, yêu thích công nghệ và mong muốn theo đuổi sự nghiệp lập trình game chuyên nghiệp.
Sau khóa học, bạn sẽ tự tin:
- Thiết kế và lập trình game 3D cơ bản đến trung cấp bằng Unity và C#.
- Hiểu rõ các nguyên lý quan trọng trong xây dựng game 3D.
- Phát triển dự án game 3D cá nhân hoặc tham gia các nhóm phát triển game chuyên nghiệp.
🎯 Bắt đầu hành trình tạo nên những thế giới ảo kỳ diệu ngay hôm nay cùng chúng tôi!
FAQ
FAQ area empty
Course curriculum
-
Cài đặt Unity Hub và Unity Editor
Xem trước -
Tạo dự án Unity 3D mới
Xem trước -
Khám phá giao diện Unity Editor
Xem trước -
Quản lý thư mục và tài nguyên
Xem trước -
Làm việc với GameObject và Component
Xem trước -
Sử dụng Transform: Position, Rotation, Scale
Xem trước -
Tạo và sử dụng Prefab
Xem trước -
Hiểu về Scene và Hierarchy
-
Sử dụng Asset Store để tìm tài nguyên
-
Import mô hình 3D từ phần mềm khác
-
Áp dụng Material và Texture
-
Thiết lập ánh sáng cơ bản
-
Sử dụng Skybox và môi trường
-
Làm việc với Camera trong không gian 3D
-
Tạo UI Canvas và các thành phần UI
-
Sử dụng Event System cho UI
-
Tạo và quản lý nhiều Scene
-
Sử dụng Lighting Settings và Lightmap
-
Hiểu về Layer và Tag
-
Sử dụng Gizmos để hỗ trợ phát triển
-
Tạo mô hình nhân vật 3D
-
Sử dụng Animator và Animation Controller
-
Tạo animation: Idle, Walk, Run
-
Sử dụng Blend Tree cho chuyển động mượt mà
-
Điều khiển nhân vật bằng bàn phím
-
Sử dụng Character Controller
-
Thêm khả năng nhảy và rơi
-
Phát hiện mặt đất để kiểm soát nhảy
-
Leo thang và bám tường
-
Lướt hoặc cuộn (dodge/roll)
-
Hệ thống stamina khi di chuyển
-
Điều khiển camera theo nhân vật
-
Cinemachine: camera động
-
Lock-on camera (tự động khóa mục tiêu)
-
Tự động đổi hướng theo góc nhìn camera
-
Tạo animation chết, sống lại
-
Thêm âm thanh bước chân, va chạm
-
Giao tiếp animation và script
-
Tạo prefab nhân vật có sẵn
-
Sử dụng avatar mask và layer cho animation
-
Tạo Terrain và chỉnh sửa địa hình
-
Thêm texture nhiều lớp cho địa hình
-
Trồng cây, cỏ và đá trên map
-
Thêm suối, hồ và biển
-
Hiệu ứng thời tiết: mưa, tuyết, sấm
-
Hệ thống ngày - đêm
-
Tạo vật thể tương tác: cửa, thang máy
-
Đặt đèn theo thời gian trong ngày
-
Tạo khu vực nguy hiểm: lava, acid
-
Ánh sáng động và bóng đổ
-
Ánh sáng toàn cục (Global Illumination)
-
Baking ánh sáng tĩnh
-
Hiệu ứng volumetric light
-
Tối ưu ánh sáng nhiều vật thể
-
Chia map thành khu vực (zones)
-
Hiển thị bản đồ nhỏ (minimap)
-
Hiển thị bản đồ lớn (world map)
-
Thiết lập collision cho bản đồ
-
Lưu trạng thái map theo thời gian
-
Tạo thế giới mở đơn giản
-
Raycast để chọn vật thể
-
Nhặt vật phẩm bằng phím
-
Tạo kho chứa đồ đơn giản (inventory)
-
Mở cửa có khóa (bằng item)
-
Nút bấm, cần gạt và phản ứng
-
Tạo cầu sập khi đi qua
-
Thêm vật phẩm có thể di chuyển (push, pull)
-
Xây dựng câu đố đơn giản
-
Kích hoạt hệ thống bằng nhiều nút
-
Trigger khu vực và phản ứng logic
-
Camera chuyển góc khi đi vào khu vực
-
Hiển thị thông báo hoặc subtitle
-
Hộp thoại tương tác với nhân vật
-
Giao nhiệm vụ cơ bản
-
Kiểm tra điều kiện nhiệm vụ hoàn thành
-
Hệ thống checkpoint
-
Hồi sinh tại điểm gần nhất
-
Tạo cutscene bằng Timeline
-
Giao diện lựa chọn câu thoại
-
Nhánh hội thoại khác nhau theo lựa chọn
-
Tạo animation đánh cận chiến
-
Phát hiện va chạm và sát thương
-
Hệ thống máu và hồi máu
-
Combo cận chiến
-
Hệ thống đỡ đòn hoặc phản đòn
-
Bắn đạn hoặc cung tên
-
Hiệu ứng đạn trúng mục tiêu
-
Gây sát thương theo vùng
-
Quái vật né đòn hoặc phản công
-
Boss có nhiều giai đoạn
-
Hiệu ứng nổ, cháy, điện giật
-
Vật lý ragdoll khi chết
-
Slow-motion khi đánh trúng
-
Camera rung khi va chạm mạnh
-
Đếm điểm combo khi đánh liên tục
-
Hệ thống chỉ báo hướng đòn tấn công
-
Vũ khí có thể nâng cấp
-
Thay đổi vũ khí giữa trận
-
Đạn có hiệu ứng đặc biệt
-
Vũ khí có sát thương theo thời gian (poison, burn)
-
Tạo màn hình chính (Main Menu)
-
Giao diện chọn level
-
Giao diện chọn nhân vật
-
Giao diện chọn vũ khí
-
Hiệu ứng mở menu (fade/slide/scale)
-
Hệ thống pause game
-
Giao diện nâng cấp kỹ năng
-
Giao diện lựa chọn nhiệm vụ
-
Thanh máu/mana/stamina
-
Hiển thị trạng thái hiệu ứng (buff/debuff)
-
Hệ thống thông báo (notification)
-
Giao diện rơi vật phẩm
-
Bảng thống kê cuối màn chơi
-
Giao diện điều chỉnh âm thanh, đồ họa
-
Giao diện tùy chỉnh phím (key binding)
-
Tự động ẩn giao diện khi không dùng
-
Thanh loading và mẹo khi chờ
-
Popup xác nhận (confirm dialog)
-
Tooltip khi hover lên vật phẩm
-
UI responsive cho nhiều độ phân giải
-
Enemy patrol: đi tuần
-
Enemy chase: đuổi người chơi
-
Enemy attack: tấn công khi gần
-
Enemy ranged: bắn từ xa
-
Enemy idle → alert → attack
-
Enemy nghe tiếng động
-
Enemy mất dấu và quay về vị trí
-
Enemy tránh va chạm lẫn nhau
-
Boss chuyển trạng thái theo máu
-
Enemy gọi viện trợ
-
Enemy dùng kỹ năng đặc biệt
-
Sử dụng NavMesh Agent
-
Sử dụng NavMesh Obstacle
-
Gán vùng cấm di chuyển
-
Quái bay không cần NavMesh
-
AI đồng minh hỗ trợ người chơi
-
AI tránh kỹ năng AOE
-
AI đánh theo nhóm
-
AI né đòn hoặc tìm cover
-
Điều chỉnh độ khó theo thời gian chơi
-
Hệ thống cấp độ (level up)
-
Hệ thống điểm kinh nghiệm (XP)
-
Cây kỹ năng (skill tree)
-
Kỹ năng chủ động (active skill)
-
Kỹ năng bị động (passive skill)
-
Thời gian hồi kỹ năng (cooldown)
-
Kỹ năng dùng mana/stamina
-
Kỹ năng AOE (gây hiệu ứng vùng)
-
Kỹ năng định hướng (aim/target)
-
Buff và debuff nhân vật
-
Hệ thống class nhân vật
-
Chuyển class (class evolution)
-
Tăng chỉ số: STR, INT, AGI...
-
Sử dụng item hỗ trợ (potion, scroll...)
-
Kỹ năng dịch chuyển tức thì
-
Triệu hồi sinh vật hỗ trợ
-
Gây hiệu ứng trạng thái (choáng, độc)
-
Giao diện quản lý kỹ năng
-
Hệ thống reset kỹ năng
-
Tối ưu animation kỹ năng
-
Tạo màn chơi từ prefab
-
Sử dụng tilemap 3D
-
Random hoá map hoặc vật phẩm
-
Màn chơi có checkpoint
-
Màn chơi có điều kiện thắng/thua
-
Tạo thử thách: bẫy, câu đố
-
Pha trộn chiến đấu và di chuyển
-
Màn chơi sinh tồn (hordes)
-
Màn chơi hộ tống NPC
-
Màn chơi stealth (ẩn nấp)
-
Đo thời gian hoàn thành
-
Bảng xếp hạng theo thời gian
-
Thu thập toàn bộ vật phẩm để hoàn thành
-
Nhiều màn chơi trong 1 scene
-
Loading màn chơi kế tiếp
-
Chuyển map không loading (seamless)
-
Màn chơi có hiệu ứng trọng lực khác
-
Màn chơi bị đảo ngược điều khiển
-
Tăng dần độ khó theo tiến độ
-
Tạo bản đồ lớn chia nhiều khu vực
-
Giảm draw calls với batching
-
Dùng LOD (Level of Detail)
-
Sử dụng Occlusion Culling
-
Tối ưu UI với Canvas Group
-
Giảm dung lượng asset
-
Sử dụng Addressables
-
Load scene bất đồng bộ
-
Đo hiệu suất với Profiler
-
Fix memory leak cơ bản
-
Quản lý FPS ổn định
-
Build game cho PC
-
Build game cho Android
-
Build game cho iOS
-
Tùy chọn chất lượng đồ họa
-
Sử dụng PlayerPrefs để lưu dữ liệu
Requirment
Outcomes
Instructor
Nguyễn Đình Cường
1.2
-
1 Student
-
330 Courses
-
1253 reviews
Xin chào các bạn, tôi là Nguyễn Đình Cường, một lập trình viên và giảng viên đam mê công nghệ với hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Tôi tốt nghiệp từ Bưu Chính Viễn Thông và đã từng làm việc cho một số công ty công nghệ hàng đầu như FPT Software và VinGroup. Với chuyên môn chính là phát triển ứng dụng web, tôi đã làm việc với nhiều công nghệ như HTML, CSS, JavaScript, React cho front-end và Node.js, Express, MongoDB cho back-end. Không chỉ dừng lại ở việc viết mã, tôi còn yêu thích tìm hiểu sâu về thiết kế hệ thống và kiến trúc phần mềm. Tôi tin rằng quá trình học lập trình không chỉ đơn thuần là lý thuyết, mà còn là sự trải nghiệm thực tế và giải quyết vấn đề. Trong các khóa học của mình, tôi cố gắng cung cấp cho học viên những bài giảng thú vị và dễ hiểu, cùng với các bài tập thực hành giúp củng cố kiến thức. Tôi hy vọng rằng qua các khóa học của mình, bạn sẽ không chỉ học được cách viết mã, mà còn phát triển tư duy lập trình và kỹ năng giải quyết vấn đề. Hãy cùng nhau khám phá thế giới lập trình và biến ý tưởng của bạn thành hiện thực! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với tôi. Tôi rất vui được hỗ trợ bạn trong hành trình học tập của mình!
View Details