Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
9,76 MB
Nội dung
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG BÁO CÁO TIỂU LUẬN Mơn học: Lập trình game Đề tài: Tìm hiểu G Nhóm: 01 Thành viên: Phan Thanh Tú-B20DCPT177 Nguyễn Nhất Vương-B20DCPT229 Phạm Đắc Hiếu-B20DCPT085 Hà Nội Tìm hiểu game engine Unity – MỤC LỤC DANH MỤC HÌNH ẢNH MỞ ĐẦU Tổng quan Unity Lịch sử Unity Kiến thức Unity: Lập trình Unity: Thiết kế game Unity: Trị chơi đa tảng tích hợp mạng: Hiệu suất tối ưu hóa: Hỗ trợ cộng đồng: 10 Thử nghiệm debugging: 11 Đóng gói phát hành game: KẾT LUẬN TÀI LIỆU THAM KHẢO Tìm hiểu game engine Unity – DANH MỤC HÌNH ẢNH Hình ảnh 1: Download unity từ trang chủ Hình ảnh 2: Cài đặt unity Hình ảnh 3: Cài đặt unity Hình ảnh 4: Cài đặt unity Hình ảnh 5: Cách cài unity Hình ảnh 6: Cách cài unity Hình ảnh 7: Cách cài unity Hình ảnh 8: Cách cài unity Hình ảnh 9: Cách cài unity Hình ảnh 10: Tạo dự án Unity Hình ảnh 11: Tạo dự án Unity Hình ảnh 12: Tạo dự án Unity Hình ảnh 13: Scene unity Hình ảnh 14: GameObject unity Hình ảnh 15: Inspector Unity Hình ảnh 16: Hierarchy unity Hình ảnh 17: Project Unity Hình ảnh 18: Console Unity Hình ảnh 19: C# Script để quản lý nhân vật Hình ảnh 20: Nơi chứa C# Scripts Hình ảnh 21: Tạo C# script Hình ảnh 22: Cách chọn IDE để làm việc Unity Hình ảnh 23: Ví dụ phân cấp Game Objects Hình ảnh 24: Thuộc tính Game Object Hình ảnh 25: Component gắn vào Game Object Hình ảnh 26: Xử lý logic kiện cho nút bấm Hình ảnh 27: Quản lý tài nguyên Unity Hình ảnh 28: Giao diện Rigidbody Hình ảnh 29: Giao diện Box Collider Hình ảnh 30: Giao diện Hinge Joint Hình ảnh 31: Giao diện Layer Collision Matrix Hình ảnh 32: Hỉnh ảnh: Minh họa Raycast Hình ảnh 33: Canvas Unity Tìm hiểu game engine Unity – Hình ảnh 34: Chế độ render Hình ảnh 35: Inspector đối tượng Text Hình ảnh 36: Inspector đối tượ Hình ảnh 37: Inspector đối tượ Hình ảnh 38: Transiton đối tượ Hình ảnh 39: Event OnClick Hình ảnh 40: Script đơn giản để tương tác với đối tượng Hình ảnh 41: Phần File Unity Hình ảnh 42: Giao diện phần Build Settings Hình ảnh 43: Giao diện phần Build Settings, phần Scene để xây dựng Hình ảnh 44: Giao diện phần Build Settings, nút Player Settings Hình ảnh 45: Giao diện phần Audio Project Settings Hình ảnh 46: Giao diện phần Player Project Settings Hình ảnh 47: Giao diện phần Player (Icon) Project Settings Hình ảnh 48: Giao diện phần Player (Resolution and Presentation) Project Settings Hình ảnh 49: Giao diện phần Player (Splash Image) Project Settings Hình ảnh 50: Giao diện phần Build Settings, nút Build and Run Hình ảnh 51: Màn hình mở đầu Hình ảnh 52: Cấu trúc thư mục trò chơi Hình ảnh 53: Profiler unity Hình ảnh 54: Frame Debug unity Hình ảnh 55: Cửa sổ console Unity Tìm hiểu game engine Unity – MỞ ĐẦU Tiểu luận tập trung vào việc tìm hiểu game engine Unity cơng cụ phát triển trị chơi mạnh mẽ phổ biến ngành công nghiệp game Unity trở thành game engine hàng đầu thị trường, sử dụng rộng rãi để phát triển trò chơi đa tảng từ di động máy tính kể thực tế ảo Trong phần này, nhóm khám phá khía cạnh quan trọng Unity khả mà mang lại cho nhà phát triển trị chơi Nhóm xem xét tính cơng nghệ mạnh mẽ Unity, cách hỗ trợ việc phát triển trị chơi đa tảng cung cấp mơi trường sáng tạo cho nhà phát triển Đồng thời, nhóm xem xét cơng cụ tài ngun hỗ trợ Unity, bao gồm việc làm việc với đồ họa, âm thanh, vật lý nhiều khía cạnh khác để tạo trị chơi chất lượng cao Nhóm nghiên cứu cách Unity hỗ trợ phát triển trị chơi mơi trường đa ngơn ngữ đa tảng Cuối cùng, Nhóm đánh giá lợi ích hạn chế việc sử dụng Unity phát triển trò chơi, xu hướng triển vọng tương lai tảng Mục tiêu tiểu luận cung cấp nhìn tổng quan Unity hiểu rõ sức mạnh tiềm game engine việc phát triển trị chơi đa tảng Nhóm hy vọng thông qua nghiên cứu này, người đọc có nhìn sâu sắc chi tiết Unity áp dụng kiến thức vào công việc thực tế lĩnh vực phát triển trị chơi Tìm hiểu game engine Unity – Tổng quan Unity • • • • Unity game engine đa tảng phát triển Unity Technologies, mà chủ yếu để phát triển video game cho máy tính, consoles điện thoại Lần cơng bố chạy hệ điều hành OS X, Apple's Worldwide Developers Conference vào năm 2005, đến mở rộng 27 tảng Unity hỗ trợ đồ họa 2D 3D, chức viết chủ yếu qua ngôn ngữ C# Trong 2D games, Unity cho phép nhập sprites renderer giới 2D tiên tiến Đối với 3D games, Unity cho phép thiết lập đập điểm kỹ thuật kết cấu độ phân giải mà cơng cụ trị chơi hỗ trợ, cung cấp hỗ trợ cho bump mapping, reflection mapping, parallax mapping, cảnh không gian ambient occlusion (SSAO), hiệu ứng bóng đổ cách sử dụng shadow maps, render thiết lập toàn cảnh đến hiệu ứng Unity bật với khả xây dựng trò chơi chạy nhiều tảng Các tảng hỗ trợ Android, Android TV, Facebook Gameroom, Fire OS, Gear VR, Google Cardboard, Google Daydream, HTC Vive, iOS, Linux, macOS, Microsoft HoloLens, Nintendo 3DS family, Nintendo Switch, Oculus Rift, PlayStation 4, PlayStation Vita, PlayStation VR, Samsung Smart TV, Tizen, tvOS, WebGL, Wii U, Windows, Windows Phone, Windows Store, Xbox One Lịch sử Unity • • • • • • Unity game engine khởi động năm 2005, nhằm "dân chủ hóa" phát triển game cách cung cấp cho nhiều nhà phát triển Unity 2.0 mắt năm 2007 với khoảng 50 tính Bản phát hành bao gồm cơng cụ địa hình tối ưu hóa cho mơi trường 3D, real-time dynamic shadows, directional lights spotlights, phát lại video tính khác Bản phát hành bổ sung tính nhờ nhà phát triển cộng tác dễ dàng Nó bao gồm Networking Layer để nhà phát triển tạo game nhiều người chơi dựa User Datagram Protocol, cung cấp Network Address Translation, State Synchronization, Remote Procedure Calls Unity 3.0 mắt tháng năm 2010 với tính mở rộng tính đồ họa engine cho máy tính để bàn video game consoles Tháng 11 năm 2012, Unity Technologies phát hành Unity 4.0 Phiên bổ sung hỗ trợ cho DirectX 11 Adobe Flash, công cụ hoạt ảnh có tên Mecanim, quyền truy cập vào xem trước Linux Unity Technologies mắt Unity năm 2014, với nhiều cải tiến đáng kể đồ họa, đặc biệt hỗ trợ vật lý toàn cầu Năm 2016 Unity Technologies công bố Unity 5.6 giới thiệu mơ hình kinh doanh việc cung cấp phiên Personal (miễn phí) phiên Professional (trả phí) Unity Document continues below Discover more from: Lập trình game Học viện Cơng ng… 10 documents Go to course Sample 39 Lập trình game None Actionable 501 Gamification Full… Lập trình game None Hướng dẫn lập trình scrath Lập trình game None Làm để học lập trình Scratch m… Lập trình game None Giao trinh he thong 144 dieu khien lap trinh… Lập trình game None Nhóm 06 - Tìm hiểu engine Tìm hiểu game engine Unity – 39 Lập trình • dù… None Năm 2018 Unity mở cửa hàng tài nguyên Asset Store, nơi cácgame nhà phát triển mua bán tài sản dự án công cụ phát triển Kiến thức Unity: 3.1 Cách tải cài đặt Unity • Bước 1: Truy cập vào website thức Unity https://unity.com/ nhấp vào “Download for Windows” • Bước 2: Khởi chạy tệp exe nhận > nhấp vào “I agree Hình ảnh : Download unity từ trang chủ Tìm hiểu game engine Unity – • Hình ảnh : Cài đặt unity Bước 3: Chọn thư mục để cài Unity nhấp vào “Install” • Bước 4: Chờ q trình cài đặt hồn tất chọn vào “Finish” để hồn tất” Hình ảnh : Cài đặt unity Tìm hiểu game engine Unity – • Hình ảnh : Cài đặt unity Bước 5: Nhấp vào nút “Sign in” Hình ảnh • Bước 6: Đăng nhập tài khoản Google > xác thực Email > đồng ý điều khoản chọn “Continue” Tìm hiểu game engine Unity – Hình ảnh : Giao diện phần Player (Resolution and Presentation) Project Settings - Mở phần Splash Image Đây nơi bạn chỉnh sửa hình mở đầu, hình xuất người chơi mở game Hình ảnh : Giao diện phần Player (Splash Image) Project Settings ○ Có thể tìm thấy số cài đặt khác Compression settings (Cài đặt nén) stack trace logging (nhật ký theo dõi) mở phần Other ○ Xây dựng chạy dự án phần Build Settings - Nháy chuột vào phần Build and Run, chọn thư mục để lưu trữ tệp game Tìm hiểu game engine Unity – - Hình ảnh : Giao diện phần Build Settings, nút Build and Run Khi trình xây dựng hồn thành, trị chơi tự động chạy Unity hiển thị hình mở đầu trước bắt đầu trị chơi Hình ảnh : Màn hình mở đầu Tìm hiểu game engine Unity – - Di chuyển tới thư mục nơi lưu trữ tệp game để xem cấu trục thư mục dự án Việc phụ thuộc vào tảng phát triển game Ví dụ, trị chơi chạy máy tính, trị chơi bao gồm tệp exe (tệp thực thi) Hình ảnh • : Cấu trúc thư mục trò chơi Một số lưu ý phát triển trò chơi đa tảng: ○ Thiết kế giao diện người dùng linh hoạt: Tạo giao diện người dùng mạnh mẽ linh hoạt để đáp ứng kích thước hình tỷ lệ khung hình khác tảng khác Sử dụng thành phần UI linh hoạt anchoring, layout groups responsive design để đảm bảo giao diện người dùng hoạt động tốt tảng ○ Tách riêng logic game giao diện người dùng: Đảm bảo logic game giao diện người dùng tách riêng Điều giúp tái sử dụng mã nguồn quản lý dễ dàng điều chỉnh giao diện cho tảng cụ thể ○ Quản lý tài nguyên: Đối với trò chơi đa tảng, quản lý tài nguyên quan trọng Đảm bảo tất hình ảnh, âm tài nguyên khác tối ưu hóa kích thước định dạng để giảm bớt dung lượng tối ưu hóa hiệu suất trị chơi tảng ○ Kiểm tra chéo tảng: Thực kiểm tra thử nghiệm trò chơi tảng mục tiêu Điều giúp phát sửa lỗi cụ thể phiên bản, đảm bảo trị chơi hoạt động xác khơng gặp vấn đề tảng ○ Xử lý khác biệt phần cứng hệ điều hành: Mỗi tảng có đặc điểm phần cứng hệ điều hành khác Hãy xem xét yêu cầu phần cứng, hiệu hạn chế tảng đảm bảo trị chơi bạn tương thích hoạt động tốt phiên Tìm hiểu game engine Unity – ○ Tối ưu hóa hiệu suất: Tối ưu hóa hiệu suất trị chơi để đảm bảo chạy mượt mà tối ưu tảng Sử dụng kỹ thuật cắt tỉa (culling), tối ưu hóa đồ họa, quản lý nhớ sử dụng cơng cụ tối ưu hóa Unity để cải thiện hiệu suất trò chơi ○ Hỗ trợ tảng đặc biệt: Nếu bạn muốn phát triển trò chơi cho tảng đặc biệt VR (Virtual Reality) AR (Augmented Reality), tìm hiểu công nghệ yêu cầu riêng tảng Unity cung cấp cơng cụ tích hợp sẵn để hỗ trợ phát triển trò chơi tảng ○ Quản lý phiên cập nhật: Sử dụng hệ thống quản lý phiên để theo dõi quản lý mã nguồn trò chơi tảng khác Điều giúp bạn theo dõi phiên bản, áp dụng cập nhật sửa lỗi dễ dàng tảng cụ thể ○ Hỗ trợ ngôn ngữ đa quốc gia: Nếu bạn muốn phát hành trị chơi đa ngơn ngữ, xem xét việc sử dụng công cụ hỗ trợ đa ngôn ngữ Unity Đảm bảo trò chơi bạn dễ dàng dịch điều chỉnh để phù hợp với ngơn ngữ văn hóa khác tảng ○ Theo dõi tương tác với cộng đồng: Unity có cộng đồng lớn sơi động Hãy tham gia diễn đàn, nhóm thảo luận kiện để học hỏi từ người khác chia sẻ kiến thức bạn Điều giúp bạn nắm bắt xu hướng mới, tìm hiểu phương pháp tốt nhận hỗ trợ từ cộng đồng Unity ○ Tóm lại, phát triển trò chơi đa tảng với Unity đòi hỏi linh hoạt, quản lý tài nguyên tốt kiến thức yêu cầu đặc điểm tảng cụ thể Bằng cách tuân thủ lưu ý trên, bạn có điểm khởi đầu tốt để xây dựng trị chơi thành cơng nhiều tảng khác Tích hợp mạng xây dựng trị chơi đa người chơi (multiplayer) • Tổng quan trò chơi đa người chơi (multiplayer) ○ Multiplayer (đa người chơi) thuật ngữ sử dụng để trò chơi mà nhiều người tham gia lúc, tương tác chơi với thông qua mạng Trong trị chơi đa người chơi, người chơi kết nối tương tác với môi trường ảo chung ○ Có hai loại trị chơi đa người chơi - Local Multiplayer (Đa người chơi máy): Trong local multiplayer, người chơi ngồi chơi máy tính thiết bị di động Thơng thường, người chơi có điều khiển riêng để tham gia vào trò chơi Ví dụ điển hình local multiplayer trị chơi đối kháng console trò chơi Mario Kart máy chơi game di động - Online Multiplayer (Đa người chơi trực tuyến): Trong online multiplayer, người chơi kết nối chơi với thông qua mạng internet Mỗi người chơi có thiết bị riêng (máy tính, console, thiết bị di động) kết nối với máy chủ thông qua hệ thống peer-to-peer để tương tác với người chơi khác từ xa Ví Tìm hiểu game engine Unity – dụ online multiplayer bao gồm trò chơi World of Warcraft, Fortnite, hay Call of Duty: Warzone ○ Trò chơi đa người chơi mang lại trải nghiệm tương tác xã hội, cạnh tranh hợp tác người chơi Nó mở nhiều hội cho việc kết nối giao lưu cộng đồng game thủ khắp giới • Các bước để tích hợp mạng xây dựng trò chơi đa người chơi ○ Để tích hợp mạng xây dựng trị chơi đa người chơi Unity, Chúng ta sử dụng công nghệ công cụ Unity Multiplayer Services, Unity Networking, plugin mạng bên thứ ba Dưới tổng quan q trình tích hợp mạng xây dựng trò chơi đa người chơi Unity: ○ Xác định kiểu trò chơi đa người chơi: Đầu tiên, xác định loại trò chơi đa người chơi Chúng ta muốn xây dựng Trị chơi peer-to-peer (ngang hàng) dựa máy chủ (client-server) Điều định phương pháp mạng công nghệ Chúng ta sử dụng ○ Tìm hiểu công nghệ mạng Unity: Unity cung cấp công nghệ mạng Unity Multiplayer Services Unity Networking Unity Multiplayer Services cung cấp dịch vụ mạng trực tuyến matchmaking, lưu trữ liệu kết nối mạng Unity Networking (UNET) cung cấp công cụ để xây dựng trò chơi đa người chơi sử dụng kiến trúc client-server peer-to-peer Ngồi ra, có nhiều plugin mạng bên thứ ba Photon, Mirror, uNetRPG có sẵn để tích hợp vào Unity ○ Xây dựng kiến trúc mạng: Dựa loại trò chơi đa người chơi công nghệ mạng Chúng ta chọn, xây dựng kiến trúc mạng phù hợp Điều bao gồm việc xác định vai trò máy chủ khách hàng, định cách thơng báo, đồng hóa liệu xử lý kiện mạng ○ Xử lý đồng hóa liệu: Trong trị chơi đa người chơi, việc đồng hóa liệu máy khách quan trọng Chúng ta cần xác định cách đồng hóa vị trí, hành động, trạng thái yếu tố khác người chơi Sử dụng phương thức interpolation, extrapolation prediction để đảm bảo mượt mà xác trị chơi đa người chơi ○ Xử lý kiện mạng: Trong trò chơi đa người chơi, kiện mạng kết nối, kết nối, di chuyển, tương tác người chơi, vv Cần xử lý cách đắn Đảm bảo Chúng ta có hàm callback xử lý kiện phù hợp để nhận dạng xử lý kiện mạng ○ Kiểm tra gỡ lỗi: Sau xây dựng chức đa người chơi, kiểm tra gỡ lỗi trò chơi môi trường đa người chơi thực tế Đảm bảo tất chức mạng hoạt động xác mượt mà, xử lý vấn đề độ trễ, đồng hóa hiệu suất ○ Triển khai trị chơi: Khi trị chơi hồn thành thử nghiệm, Chúng ta triển khai triển khai trị chơi để người chơi kết nối tham gia Điều bao Tìm hiểu game engine Unity – gồm việc triển khai máy chủ trị chơi (nếu áp dụng), cấu hình mạng, xử lý bảo mật quản lý phiên kết nối người chơi ○ Lưu ý việc tích hợp mạng xây dựng trị chơi đa người chơi Unity phức tạp đòi hỏi hiểu biết lập trình mạng kiến thức chung trị chơi đa người chơi Nếu Chúng ta bắt đầu, cần tìm hiểu thêm nguyên tắc kỹ thuật liên quan đến mạng trò chơi đa người chơi trước bắt đầu Hiệu suất tối ưu hóa: Tối ưu hóa hiệu suất Unity phần quan trọng q trình phát triển trị chơi, đặc biệt bạn muốn đảm bảo trò chơi bạn hoạt động mượt mà thiết bị khác • Cơng cụ tối ưu hóa: ○ Profiler: Profiler công cụ quan trọng Unity để theo dõi phân tích hiệu suất trị chơi bạn Nó cung cấp thơng tin thời gian xử lý, vẽ, nhớ nhiều khía cạnh khác ứng dụng bạn Profiler giúp bạn xác định phần trò chơi gây chậm trễ tìm cách tối ưu hóa chúng • Hình ảnh ○ Frame Debugger: Frame Debugger cho phép bạn xem cách Unity vẽ khung hình trị chơi, giúp bạn xác định vấn đề trình vẽ Tìm hiểu game engine Unity – Hình ảnh Hỗ trợ cộng đồng: Cộng đồng Unity: ○ Unity có cộng đồng mạnh mẽ đơng đảo tồn giới Chúng ta tham gia vào diễn đàn, nhóm Facebook, Reddit, tảng khác liên quan đến Unity để đặt câu hỏi, chia sẻ thông tin, học hỏi từ người khác ○ Unity Answers: Unity Answers diễn đàn nơi đặt câu hỏi tìm kiếm câu trả lời từ cộng đồng Nó hữu ích để giải vấn đề kỹ thuật ○ Unity Forum: Unity có diễn đàn thức với nhiều chuyên mục khác nhau, từ lập trình, đồ họa, âm đến tối ưu hóa hiệu suất • Tài liệu Tài liệu Học liệu: ○ Unity cung cấp tài liệu học liệu thức trang web họ, bao gồm hướng dẫn, ví dụ code nguồn, video học, tài liệu hướng dẫn ○ Unity Learn: Unity Learn tảng trực tuyến cung cấp nhiều khóa học miễn phí Unity, từ lập trình đến phát triển trị chơi nâng cao ○ Tài liệu Unity: Unity có phần tài liệu phong phú tất khía cạnh trị chơi phát triển ứng dụng • Thư viện Cơng cụ Bên Ngồi: ○ Unity hỗ trợ sử dụng thư viện công cụ bên tạo cộng đồng cơng ty khác để giúp Chúng ta phát triển trị chơi ứng dụng nhanh ○ Ví dụ: thư viện TextMesh Pro, DoozyUI, Playmaker, công cụ ProBuilder giúp Chúng ta tạo tính phức tạp cách dễ dàng • Tìm hiểu game engine Unity – Thử nghiệm debugging: Unity cung cấp nhiều cơng cụ debugging thử nghiệm game hữu ích để giúp Chúng ta phát sửa lỗi trình phát triển game Dưới số cơng cụ phổ biến có sẵn Unity: ○ Unity Debugger: Unity Debugger cho phép Chúng ta theo dõi kiểm tra biến, giá trị trình chạy game Chúng ta dừng game điểm dừng (breakpoints), theo dõi biến, thay đổi giá trị xem stack trace để tìm hiểu lỗi vấn đề Code Chúng ta ○ Console Window: Cửa sổ Console hiển thị thông báo, cảnh báo lỗi q trình chạy game Chúng ta sử dụng để ghi lại thơng tin debug, in giá trị biến ghi lại thơng tin quan trọng q trình phát triển ○ Profiler: Profiler công cụ mạnh mẽ giúp Chúng ta phân tích hiệu suất game Nó cung cấp thông tin sử dụng CPU, GPU, nhớ tài nguyên khác trình chạy game Bằng cách sử dụng Profiler, Chúng ta xác định vấn đề hiệu suất tối ưu hóa game ○ Play Mode: Trong Unity, Play Mode cho phép Chúng ta chạy game môi trường phát triển để kiểm tra thử nghiệm tính Chúng ta thay đổi thử nghiệm giá trị, tương tác với game kiểm tra hành vi thời gian thực ○ Unity Test Runner: Unity Test Runner cơng cụ tích hợp để viết chạy kiểm tra tự động (automated tests) Unity Chúng ta viết kiểm tra để kiểm tra chức năng, hành vi logic game ○ Remote Debugging: Unity hỗ trợ remote debugging, cho phép Chúng ta kết nối vào game chạy thiết bị di động tảng khác để theo dõi gỡ lỗi từ xa ○ Đây số công cụ phổ biến Unity Unity cịn nhiều cơng cụ khác để hỗ trợ trình debugging thử nghiệm game Hãy tìm hiểu tận dụng công cụ để cải thiện trình phát triển chất lượng game Chúng ta • Thử nghiệm Debug với Unity Debugger ○ Mở Unity mở dự án ○ Chọn mục "Window" menu, sau chọn "Analysis" "Debugger" để mở cửa sổ Unity Debugger ○ Trong cửa sổ Unity Debugger, Chúng ta thấy nút điều khiển "Play", "Pause", "Step Over", "Step Into", "Step Out", "Stop" Sử dụng nút để kiểm soát trình gỡ lỗi ○ Để đặt điểm dừng (breakpoint) Code Chúng ta, di chuột đến dịng Code mà muốn dừng lại, sau nhấp chuột vào số dịng bên cạnh để kích hoạt điểm dừng Khi game chạy đạt đến điểm dừng, dừng lại hiển thị thơng tin debug ○ Có thể sử dụng nút Play Pause để bắt đầu tạm dừng game trình gỡ lỗi Khi game dừng lại điểm dừng, kiểm tra thay đổi giá trị biến, xem stack trace, thực thao tác khác liên quan đến gỡ lỗi • Tìm hiểu game engine Unity – ○ Sử dụng nút Step Over, Step Into Step Out để điều hướng qua lại dòng Code Step Over cho phép tiếp tục chạy Code đạt đến dịng phạm vi Step Into cho phép điều hướng vào hàm phương thức gọi từ dòng Code Step Out cho phép khỏi hàm quay lại dịng gọi hàm ○ Khi gỡ lỗi xong, Chúng ta sử dụng nút Stop để dừng trình gỡ lỗi tiếp tục chạy game cách bình thường ○ Lưu ý Unity Debugger hoạt động q trình phát triển khơng nên sử dụng phiên cuối game Đảm bảo loại bỏ điểm dừng thông tin debug không cần thiết trước xuất game • Một số kỹ thuật debug unity ○ Kiểm tra tính thực thi - Trước sửa lỗi chương trình phải khoanh vùng đoạn code bị lỗi, phạm vi thu hẹp tốt Việc khoanh vùng xác định đoạn code lỗi thuộc kinh nghiệm lập trình - Sau khoanh vùng phần code lỗi, cần xem xét tính thực thi đoạn code cách phát thông điệp đó, sử dụng hàm Log thuộc lớp Debug Unity Hình ảnh : Cửa sổ console Unity Nếu thông điệp không hiển thị, trường hợp sau xảy ra: Script chưa gắn vào GameObject chương trình Hàm chứa đoạn code thông điệp không gọi Thông điệp nằm nhánh code không thực thi (thường gặp với cấu trúc rẽ nhánh if else, switch case, ) - Để xử lý, cần xem xét cẩn thận dựa vào logic game để chỉnh sửa lại cho phù hợp ○ Kiểm tra tính logic - Khi chắn đoạn code thực thi chương trình chạy khơng mong muốn, tiến hành quan sát thay đổi đối tượng liên quan theo thời - Tìm hiểu game engine Unity – gian Vẫn dùng hàm Log thuộc lớp Debug, theo dõi nhiều đối tượng cụ thể để tìm nguyên nhân gây lỗi - Việc khắc phục lỗi logic game thuộc khả đọc code phân tích tốn, cơng cụ Debug giúp sửa lỗi dễ dàng hơn, việc sửa lỗi phụ thuộc nhiều vào thân lập trình viên ○ Các hàm quan trọng chức - Log ▪ Debug.Log hàm sử dụng nhiều kiểm tra sửa lỗi chương trình, hàm Log có chức hiển thị hình Console (Windows → Console) thông tin đối tượng game ▪ Kiểu liệu mà hàm nhận vào Object, với loại liệu hàm in cửa sổ Console Unity Editor, tuỳ theo cách hiển thị kiểu liệu ▪ Các kiểu liệu thường lập trình viên sử dụng với hàm Log bao gồm int, float, string, liệu kiểu mảng, ▪ Các kiểu liệu Unity định nghĩa Vector2, Vector3, Quaternion, hiển thị chi tiết ▪ Ngoài hàm Log nói trên, Unity cịn cung cấp số hàm Log nâng cao phổ biến lập trình viên chưa có nhiều kinh nghiệm - Draw ▪ Ngồi việc hiển thị hình Console giá trị đối tượng, Unity hỗ trợ vẽ đường thẳng lên hình Khi cần xem xét cụ thể, sử dụng hàm DrawLine để vẽ, hàm có nguyên mẫu sau: ▪ public static void DrawLine(Vector3 start, Vector3 end, Color color = Color.white, float duration = 0.0f, bool depthTest = true); ▪ Trong giá trị color, duration depth Test mang sẵn giá trị mặc định đường thẳng vẽ cửa sổ Scene, với đầu mút quy định rõ ràng ▪ Trong trường hợp cần quan sát hướng đối tượng, sử dụng hàm DrawRay , cách sử dụng hàm tương tự với hàm DrawLine: ▪ public static void DrawRay(Vector3 start, Vector3 dir, Color color = Color.white, float duration = 0.0f, bool depthTest = true); ▪ đường thẳng vẽ từ điểm bắt đầu start + dir Ray (tia) đường thẳng vơ hạn khơng có điểm kết thúc Unity Editor minh hoạ phần tia ▪ * hàm Draw thuộc lớp Debug vẽ lên cửa sổ Scene, muốn hiển thị trực tiếp lên hình Game, mở tuỳ chọn hiển thị Gizmo cửa sổ Game - Break ▪ Trong số trường hợp cần chương trình tạm dừng lại để xem xét thay đổi đối tượng game, hàm Break lớp Debug giúp thực cơng việc Tìm hiểu game engine Unity – Hàm Break thực trở nên hữu ích cần dừng chương trình thời điểm cụ thể, sử dụng cơng cụ Debugger có sẵn Visual Studio hay Mono Develop, không xem xét đối tượng cách trực quan isDebugBuild ▪ Khi đưa sản phẩm hoàn thiện thị trường, hiển nhiên không cần đến đoạn code Debug khắc phục triệt để vấn đề liên quan, nên loại bỏ đoạn Debug khỏi sản phẩm ▪ Với hàng chục, chí hàng trăm file script với nhiều dịng code, việc xố dịng Debug thủ cơng điều gây lãng phí thời gian cơng sức, đồng thời thể thiếu chuyên nghiệp công việc Vậy không sử dụng điều kiện trước gõ dịng code Debug thơng thường để kiểm sốt việc này? ▪ Trong lớp Debug, Unity cung cấp cho thuộc tính để kiểm tra trạng thái sản phẩm - thuộc tính isDebugBuild Thuộc tính trả true sản phẩm q trình hồn thiện (thường gọi Beta Release) Trạng thái sản phẩm tìm thấy cửa sổ Build Setting (Ctrl + Shift + B), checkbox "Development Build" Ngoài cửa sổ Unity Editor, thuộc tính ln mang giá trị true ▪ - 11 Đóng gói phát hành game: Đóng gói • • • • • • Cấu hình Nền tảng Mục tiêu (Platform Configuration): ○ Thiết lập cấu hình trị chơi cho tảng mục tiêu Điều bao gồm thiết lập độ phân giải, tỷ lệ khung hình, thiết lập đặc biệt khác cho tảng Xử lý Dữ liệu Tài nguyên (Data and Asset Handling): ○ Đảm bảo tất tài nguyên, âm thanh, hình ảnh tệp cần thiết đóng gói vào ứng dụng tệp cài đặt cách cách Xác thực Chữ ký Số (Authentication and Digital Signing): ○ Nếu cần, xác thực chữ ký số ứng dụng để đảm bảo tính tồn vẹn đáng tin cậy Xây dựng Tệp cài đặt (Build Installation Files): ○ Xây dựng tệp cài đặt gói cho tảng mục tiêu Điều bao gồm việc tạo tệp cài đặt exe, apk, ipa, định dạng khác tương ứng Kiểm tra cuối (Final Testing): ○ Chạy kiểm tra cuối tệp cài đặt để đảm bảo chúng hoạt động cách xác tảng mục tiêu Chọn Nền tảng Phân phối: Tìm hiểu game engine Unity – • • • • • ○ Đầu tiên, cần xác định tảng mà muốn phát hành trò chơi trên, chẳng hạn PC, điện thoại di động, máy tính bảng, console, tảng VR Mỗi tảng có quy tắc u cầu riêng, tìm hiểu kỹ tảng mà muốn phát triển Đáp ứng Yêu cầu Nền tảng: ○ Mỗi tảng có quy định yêu cầu riêng độ phân giải, kích thước tệp, chứng thực ứng dụng, yêu cầu khác Đảm bảo trò chơi tuân thủ quy tắc Chuẩn bị Tài liệu Thông tin: ○ Đối với tảng di động, cần chuẩn bị tài liệu thông tin liên quan đến ứng dụng, bao gồm hình ảnh biểu trưng ứng dụng, mơ tả, tên ứng dụng, từ khố, tác giả, thông tin liên hệ Nộp Ứng dụng cho Cửa hàng Ứng dụng: ○ Đối với cửa hàng ứng dụng Google Play (cho Android) App Store (cho iOS), cần tạo tài khoản cho nhà phát triển, đưa lên ứng dụng cung cấp thơng tin tài liệu cần thiết Sau đó, nộp ứng dụng để xem xét phê duyệt Phát hành Quảng bá: ○ Sau ứng dụng phê duyệt, phát hành cửa hàng ứng dụng Sau đó, bắt đầu chiến dịch quảng bá để thông báo với người dùng ứng dụng Cập nhật Duy trì: ○ Sau phát hành, phải quản lý cập nhật cho trò chơi, bao gồm việc phát hành vá lỗi, cải thiện hiệu thêm tính Đảm bảo tiếp tục theo dõi phản hồi với người dùng Tìm hiểu game engine Unity – KẾT LUẬN Tiểu luận trình bày chi tiết khía cạnh quan trọng việc phát triển trị chơi mơi trường Unity Trong phần tổng quan, có nhìn tổng quan Unity nhận thấy game engine mạnh mẽ phổ biến ngành công nghiệp game Unity cung cấp loạt tính cơng cụ cho phép nhà phát triển tạo trò chơi đa tảng với hiệu suất cao trải nghiệm tuyệt vời Trong phần lịch sử Unity, sâu vào trình phát triển lịch sử Unity Chúng ta nhận thấy Unity trải qua phát triển đáng kể từ mắt trở thành công cụ phát triển trò chơi hàng đầu thị trường Phần kiến thức Unity giúp hiểu cấu trúc thành phần Unity Chúng ta tìm hiểu Scene, GameObject, Component Script Unity, với khái niệm khác transform, input physics Điều cung cấp cho tảng vững để bắt đầu phát triển trị chơi Unity Phần lập trình Unity giúp khám phá ngôn ngữ lập trình C# cách sử dụng việc phát triển trị chơi Unity Chúng ta tìm hiểu cú pháp bản, quản lý script cách tương tác thành phần trò chơi Điều giúp viết mã linh hoạt mạnh mẽ để điều khiển trò chơi Unity Phần thiết kế game Unity giúp hiểu q trình thiết kế trị chơi, từ khái niệm ý tưởng ban đầu việc xây dựng mơ hình, mơi trường gameplay Chúng ta tìm hiểu sử dụng cơng cụ tài ngun có sẵn Unity để tạo trị chơi hấp dẫn đồ họa Phần UI UX Unity giúp hiểu thiết kế giao diện người dùng trải nghiệm người dùng trò chơi Chúng ta tìm hiểu thành phần UI Unity, cách tạo tùy chỉnh giao diện người dùng, nguyên tắc thiết kế UX để tạo trải nghiệm trò chơi tốt cho người chơi Phần trị chơi đa tảng tích hợp mạng giúp hiểu cách phát triển trò chơi đa tảng Unity cách tích hợp mạng để chơi trị chơi đa người chơi Chúng ta tìm hiểu Tìm hiểu game engine Unity – cơng nghệ cơng cụ có sẵn Unity để xây dựng trò chơi đa tảng tạo kết nối mạng cho trò chơi Phần hiệu suất tối ưu hóa giúp hiểu quy trình tối ưu hóa cải thiện hiệu suất trò chơi Unity Chúng ta tìm hiểu kỹ thuật tối ưu hóa, quản lý tài nguyên, cải thiện hiệu suất đồ họa quản lý nhớ để đảm bảo trò chơi chạy mượt có hiệu suất tốt nhiều tảng Phần hỗ trợ cộng đồng giúp hiểu nguồn tài liệu, tài liệu học trực tuyến cộng đồng hỗ trợ Unity Chúng ta tìm hiểu cách tìm kiếm thơng tin hữu ích, đặt câu hỏi tương tác với cộng đồng Unity để giải vấn đề học hỏi từ người khác Phần thử nghiệm debugging giúp hiểu quy trình thử nghiệm sửa lỗi q trình phát triển trị chơi Unity Chúng ta tìm hiểu kỹ thuật thử nghiệm, sửa lỗi gỡ lỗi Unity để đảm bảo trị chơi hoạt động khơng có lỗi q trình chơi Phần đóng gói phát hành game giúp hiểu quy trình đóng gói phát hành trị chơi Unity Chúng ta tìm hiểu cơng cụ quy trình để đóng gói trị chơi thành phiên phù hợp cho tảng khác cách phát hành trò chơi cửa hàng ứng dụng tảng game Tổng cộng, tiểu luận khám phá hiểu rõ khía cạnh quan trọng việc phát triển trò chơi môi trường Unity Từ kiến thức Unity đến lập trình, thiết kế game, UI/UX, tích hợp mạng, hiệu suất, hỗ trợ cộng đồng, thử nghiệm debugging, đóng gói phát hành game, có nhìn tổng quan tảng vững để bắt đầu hành trình phát triển trị chơi Unity Tìm hiểu game engine Unity – TÀI LIỆU THAM KHẢO Unity (phần mềm làm game –