1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity

63 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu về game engine Unity
Tác giả Phan Thanh Tú-B20DCPT177, Nguyễn Nhất Vương-B20DCPT229, Phạm Đắc Hiếu-B20DCPT085
Trường học Học viện công nghệ bưu chính viễn thông
Chuyên ngành Lập trình game cơ bản
Thể loại tiểu luận
Thành phố Hà Nội
Định dạng
Số trang 63
Dung lượng 9,76 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1 Hà Nội BÁO CÁO TIỂU LUẬN Trang 3 Hình ảnh 5: Cách cài unityHình ảnh 6: Cách cài unityHình ảnh 7: Cách cài unityHình ảnh 8: Cách cài unityHình ảnh 9: Cách cài unityHình ảnh 10:

Trang 1

Hà Nội

BÁO CÁO TIỂU LUẬN

Môn học: Lập trình game cơ bản

Đề tài: Tìm hiểu về 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

Trang 2

MỤC LỤCDANH MỤC HÌNH ẢNH

Trang 3

Hình ảnh 13: Scene trong unity

Hình ảnh 14: GameObject trong unity

Hình ảnh 15: Inspector trong Unity

Hình ảnh 16: Hierarchy trong unity

Hình ảnh 17: Project trong Unity

Hình ảnh 18: Console trong 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 1 C# script mới

Hình ảnh 22: Cách chọn IDE để làm việc trong Unity

Hình ảnh 23: Ví dụ về cây phân cấp Game Objects

Hình ảnh 24: Thuộc tính của 1 Game Object

Hình ảnh 25: Component được gắn vào Game Object

Hình ảnh 26: Xử lý logic và sự kiện cho 1 nút bấm

Hình ảnh 27: Quản lý tài nguyên trong Unity

Hình ảnh 28: Giao diện của Rigidbody

Hình ảnh 29: Giao diện của 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 về Raycast

Hình ảnh 33: Canvas trong Unity

Trang 4

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 trong 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 các 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 trong Project Settings

Hình ảnh 46: Giao diện phần Player trong Project Settings

Hình ảnh 47: Giao diện phần Player (Icon) trong Project Settings

Hình ảnh 48: Giao diện phần Player (Resolution and Presentation) trong Project SettingsHình ảnh 49: Giao diện phần Player (Splash Image) trong Project Settings

Hình ảnh 50: Giao diện của 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 cơ bản của một trò chơi

Hình ảnh 53: Profiler trong unity

Hình ảnh 54: Frame Debug trong unity

Hình ảnh 55: Cửa sổ console trong Unity

Trang 5

chơi đa nền tảng từ di động cho đến máy tính và kể cả thực tế ảo.

Trong phần này, nhóm sẽ khám phá các khía cạnh quan trọng của Unity và những khả năng

mà nó mang lại cho nhà phát triển trò chơi Nhóm sẽ xem xét các tính năng và công nghệ mạnh mẽ của Unity, cách nó hỗ trợ việc phát triển trò chơi đa nền tảng và cung cấp một môi trường sáng tạo cho các nhà phát triển

Đồng thời, nhóm sẽ xem xét các công cụ và tài nguyên hỗ trợ của Unity, bao gồm việc làm việc với đồ họa, âm thanh, vật lý và nhiều khía cạnh khác để tạo ra trò chơi chất lượng cao Nhóm cũng sẽ nghiên cứu về cách Unity hỗ trợ phát triển trò chơi trong môi trường đa ngôn ngữ và đa nền tảng

Cuối cùng, Nhóm sẽ đánh giá các lợi ích và hạn chế của việc sử dụng Unity trong phát triển trò chơi, cũng như những xu hướng và triển vọng trong tương lai của nền tảng này Mục tiêu của tiểu luận này là cung cấp một cái nhìn tổng quan về Unity và hiểu rõ hơn về sức mạnh vàtiềm năng của game engine này trong việc phát triển trò chơi đa nền tảng Nhóm hy vọngrằng thông qua nghiên cứu này, người đọc sẽ có cái nhìn sâu sắc và chi tiết hơn về Unity và

có thể áp dụng kiến thức này vào công việc thực tế trong lĩnh vực phát triển trò chơi

Trang 6

1 Tổng quan về Unity

• Unity là một game engine đa nền tảng được phát triển bởi Unity Technologies, mà chủ yếu

để phát triển video game cho máy tính, consoles và điện thoại Lần đầu tiên nó được công

bố chạy trên hệ điều hành OS X, tại Apple's Worldwide

• Developers Conference vào năm 2005, đến nay đã mở rộng 27 nền tảng

• Unity hỗ trợ đồ họa 2D và 3D, các chức năng được viết chủ yếu qua ngôn ngữ C# Trong 2D games, Unity cho phép nhập sprites và một renderer thế giới 2D tiên tiến Đối với 3D games, Unity cho phép thiết lập các đập điểm kỹ thuật của các kết cấu và độ phân giải mà công cụ trò chơi hỗ trợ, cung cấp các hỗ trợ cho bump mapping, reflection mapping, parallax mapping, cảnh không gian ambient occlusion (SSAO), hiệu ứng bóng đổ bằng cách sử dụng shadow maps, render thiết lập toàn cảnh đến hiệu ứng

• Unity nổi bật với khả năng xây dựng trò chơi chạy trên nhiều nền tảng Các nền tảng được

hỗ trợ hiện nay là 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, và Xbox One

bổ sung các tính năng nhờ đó các nhà phát triển có thể cộng tác dễ dàng hơn Nó bao gồm một Networking Layer để các nhà phát triển tạo game nhiều người chơi dựa trên User Datagram Protocol, cung cấp Network Address Translation, State Synchronization, và Remote Procedure Calls

• Unity 3.0 ra mắt tháng 9 năm 2010 với tính năng mở rộng các tính năng đồ họa của engine cho máy tính để bàn và video game consoles

• Tháng 11 năm 2012, Unity Technologies phát hành Unity 4.0 Phiên bản này bổ sung các

hỗ trợ cho DirectX 11 và Adobe Flash, các công cụ hoạt ảnh mới có tên Mecanim, và quyền truy cập vào bản xem trước Linux

• Unity Technologies ra mắt Unity 5 năm 2014, với nhiều cải tiến đáng kể trong đồ họa, đặc biệt là hỗ trợ vật lý toàn cầu

• Năm 2016 Unity Technologies công bố Unity 5.6 và giới thiệu mô hình kinh doanh mới bằng việc cung cấp phiên bản Personal (miễn phí) và phiên bản Professional (trả phí) của Unity

Trang 7

Lập trình

4

Làm thế nào để học lập trình Scratch m… Lập trình

4

Giao trinh he thong dieu khien lap trinh… Lập trình

144

Trang 8

Tìm hiểu về game engine Unity –

• Năm 2018 Unity mở cửa hàng tài nguyên Asset Store, nơi các nhà phát triển có thể mua và bán tài sản dự án và công cụ phát triển

Kiến thức cơ bản về Unity:

3.1 Cách tải và cài đặt Unity

Bước 1: Truy cập vào website chính thức của Unity https://unity.com/ và nhấp vào

“Download for Windows”

Hình ảnh : Download unity từ trang chủ

Bước 2: Khởi chạy tệp exe nhận được > nhấp vào “I agree.

về engine được dù… Lập trình

39

Trang 12

Hình ảnh

• Bước 9: Lúc này, bạn chỉ cần đồng ý với các điều khoản và bản quyền, sau đó nhấp vào

“Install” để hoàn tất cài đặt Unity

Hình ảnh

Trang 14

Hình ảnh : Tạo dự án Unity

3.3 Các thành phần cơ bản của unity

Scene: Cửa sổ Scene là nơi bạn tạo và chỉnh sửa các cảnh trong dự án của mình Cảnh là

nơi bạn sắp xếp và quản lý các Game Object và tài nguyên của dự án

Hình ảnh

Game Object: Game Object là các thành phần cơ bản của môi trường 3D trong Unity

Chúng có thể là các đối tượng như nhân vật, đối tượng tĩnh, ánh sáng, vật phẩm, vv Bạn

có thể tạo, di chuyển, xoay, và thay đổi các thuộc tính của Game Object trong cửa sổ Inspector

Trang 15

Hình ảnh

Inspector : Cửa sổ Inspector hiển thị thông tin chi tiết về Game Object được chọn Bạn có

thể thay đổi các thuộc tính của Game Object và gán các thành phần và kịch bản vào đó Nó cũng hiển thị thông tin về tài nguyên, vật liệu, và các thành phần khác liên quan đến đối tượng đang được chọn

Trang 16

Hình ảnh

Hierarchy (Danh sách đối tượng): Cửa sổ Hierarchy hiển thị danh sách tất cả các Game

Object trong cảnh hiện tại Nó thể hiện cấu trúc cây của các đối tượng, cho phép bạn dễ dàng tìm và chọn chúng Bạn cũng có thể sắp xếp và nhóm các đối tượng trong cửa sổ này

Trang 17

Hình ảnh

Project : Cửa sổ Project là nơi bạn quản lý tất cả các tài nguyên của dự án, bao gồm tệp

hình ảnh, âm thanh, mô hình 3D, tệp văn bản và nhiều tài nguyên khác Bạn có thể tạo, kéo

và thả, và sắp xếp các tài nguyên trong cửa sổ này

Hình ảnh

Console: Cửa sổ Console hiển thị thông báo và lỗi từ mã nguồn và chạy của ứng dụng

Điều này rất hữu ích để theo dõi lỗi và thông tin gỡ lỗi trong quá trình phát triển

Trang 18

Hình ảnh

Lập trình trong Unity:

4.1 Ngôn ngữ lập

• C# (C Sharp) là ngôn ngữ lập trình phổ biến được sử dụng trong Unity để viết các scripts

để điều khiển hành vi và tương tác của các đối tượng trong game

Hình ảnh : C# Script để quản lý nhân vật

• Tích hợp Unity và C#: Unity hỗ trợ C# như một trong những ngôn ngữ lập trình chính để phát triển ứng dụng

Trang 19

Hình ảnh : Nơi chứa C# Scripts

Hình ảnh : Tạo 1 C# script mới

• Phát triển ứng dụng đa nền tảng: Một ưu điểm lớn của việc sử dụng C# trong Unity là khả năng phát triển ứng dụng đa nền tảng C# hỗ trợ cho việc viết một lần và triển khai trên nhiều nền tảng khác nhau như iOS, Android, PC, Mac, các thiết bị game console, VR, và AR

• Khả năng kết hợp với Unity API: C# có thể tương tác chặt chẽ với các API và tính năng của Unity Có thể sử dụng C# để thao tác với các đối tượng Unity, quản lý tài nguyên, xử

lý sự kiện và tạo logic cho game

• Dễ thao tác: C# được thiết kế để có cú pháp dễ đọc và dễ hiểu, điều này giúp cho việc dễ quản lý và bảo trì C# cũng cung cấp nhiều tính năng như quản lý bộ nhớ tự động (garbage collection) và nhiều thư viện hỗ trợ mạnh mẽ khác

• Debugging: Unity cung cấp môi trường phát triển tích hợp cho việc debug C# Người lập trình có thể theo dõi biến, xem xét lỗi, và kiểm tra hành vi của ứng dụng trong thời gian thực

Trang 20

• Cộng đồng lớn: Cộng đồng Unity rộng lớn và nhiều nguồn tài liệu học tập trực tuyến dành riêng cho lập trình C# Điều này rất hữu ích cho việc sửa lỗi hoặc nhu cầu nâng cao kiến thức.

• Unity cho phép linh hoạt sử dụng nhiều External IDE cho việc lập trình C# Chúng ta có thể chọn IDE muốn dùng bằng cách chọn Edit -> Preferences -> External Tools -> External Script Editor

Hình ảnh : Cách chọn IDE để làm việc trong Unity

• Một số IDE phổ biến được sử dụng là Visual Studio (recommended) VS Code, Jetbrains Rider,

• Game Object là gì?

○ Game Object trong Unity là một đối tượng cơ bản trong thế giới 3D hoặc 2D của trò chơi hoặc ứng dụng Chúng có thể biểu diễn bất kỳ thứ gì, từ nhân vật và vật phẩm đến ánh sáng, camera, và môi trường

• Tạo Game Objects:

○ Chúng ta có thể tạo Game Objects bằng cách nhấp chuột phải trong cửa sổ Scene hoặc Hierarchy trong Unity và chọn "Create Empty" hoặc "Create 3D Object" (hoặc "Create 2D Object" nếu Chúng ta làm việc trong không gian 2D)

Trang 21

Hình ảnh : Ví dụ về cây phân cấp Game Objects

• Thiết lập thuộc tính Game Object:

○ Mỗi Game Object có các thuộc tính riêng, bao gồm vị trí, quay, tỷ lệ, hình dạng, vật lý

và nhiều thuộc tính khác Chúng ta có thể chỉnh sửa các thuộc tính này trong cửa sổ Inspector

Trang 22

Hình ảnh : Thuộc tính của 1 Game Object

• Gắn các Component (bộ phận):

○ Game Objects có thể có các Component gắn vào chúng để cung cấp chức năng và logic

Ví dụ, Chúng ta có thể gắn Component như Collider (để xác định va chạm), Rigidbody (để xử lý vật lý), hoặc các Component tự tạo bằng cách viết code bằng C#

Trang 23

Hình ảnh : Component được gắn vào Game Object

• Xử lý Logic và Sự kiện:

○ Chúng ta có thể viết Code bằng C# để xử lý logic và sự kiện của Game Objects Ví dụ, Chúng ta có thể lập trình cho Game Object di chuyển, tương tác với người chơi, hoặc thực hiện hành động cụ thể

Trang 24

Hình ảnh : Xử lý logic và sự kiện cho 1 nút bấm

• Tạo Prefabs:

○ Prefabs là mẫu Game Objects có thể được tái sử dụng trong toàn bộ dự án Chúng ta có thể tạo Prefabs bằng cách kéo và thả Game Objects từ cửa sổ Hierarchy vào thư mục Prefabs trong Project

• Quản lý tài nguyên:

○ Unity cho phép Chúng ta quản lý tài nguyên như hình ảnh, âm thanh và mô hình 3D, và sau đó gắn chúng vào Game Objects

Hình ảnh Quản lý tài nguyên trong Unity

• Kịch bản hóa và Animation:

○ Chúng ta có thể kịch bản hóa Game Objects bằng cách tạo các trạng thái và hành vi sử dụng các Animation Clips và Animator Controllers Điều này cho phép Chúng ta tạo hoạt hình và tương tác phức tạp cho Game Objects

Trang 25

• Scripting:

○ Để xử lý logic và sự kiện, Chúng ta sẽ code bằng C# Code này được gắn vào các Game Objects dưới dạng các Component gọi là "scripts." Chúng ta có thể sử dụng các IDE như Visual Studio hoặc Visual Studio Code để viết Code C#

• Xử lý Logic và Sự kiện Bằng C#:

○ Chúng ta có thể xử lý logic và sự kiện bằng cách viết Code trong các scripts gắn vào Game Objects Ví dụ, Chúng ta có thể lập trình Game Object để di chuyển khi người chơi nhấn phím, thay đổi màu sắc khi có va chạm, hoặc thực hiện hành động cụ thể khi một trạng thái được kích hoạt

• Phát tín hiệu (Emit Events):

○ Trong C#, Chúng ta có thể sử dụng delegate và event để phát tín hiệu và lắng nghe sự kiện Chúng ta có thể tạo các sự kiện tùy chỉnh trong script và sau đó gán các phương thức xử lý sự kiện cho chúng

• Unity Event System:

○ Unity cung cấp một hệ thống sự kiện tích hợp (Unity Event System) cho việc xử lý sự kiện trong giao diện người dùng Chúng ta có thể sử dụng nó để xử lý sự kiện như nhấn nút, kéo và thả, và tương tác người dùng khác

• Coroutine:

○ Unity cung cấp khái niệm Coroutine để xử lý các tác vụ gần như đồng thời mà không cản trở luồng chính của ứng dụng Coroutine thường được sử dụng để tạo các hiệu ứng,

độ trễ, và tác vụ không đồng bộ

• Truyền tin giữa Game Objects:

○ Unity cho phép Game Objects gửi và lắng nghe thông điệp bằng cách sử dụng các hàm như SendMessage, BroadcastMessage, và SendMessageUpwards Điều này cho phép Game Objects tương tác với nhau và truyền thông dữ liệu hoặc thực hiện hành động

• Điều khiển Animator (Animator Controller):

○ Trong trường hợp Chúng ta làm việc với hoạt hình, Chúng ta có thể tạo trình điều khiển Animator để xử lý các trạng thái và chuyển đổi hoạt hình dựa trên sự kiện và logic cụ thể

NavMesh và Điều khiển Di chuyển:

Trang 26

○ Unity cung cấp hệ thống điều khiển di chuyển dựa trên NavMesh để xác định vùng mà các đối tượng có thể di chuyển Chúng ta có thể tạo NavMeshes trên cảnh và sử dụng các hàm như NavMeshAgent để kiểm soát việc di chuyển của các đối tượng AI.

• Điều khiển AI bằng C#:

○ Chúng ta sẽ viết Code bằng C# để điều khiển hành vi của các đối tượng AI Chúng ta có thể lập trình AI để di chuyển, tìm đường, tránh va chạm, tấn công, và thực hiện các hành động khác dựa trên logic và sự kiện trong trò chơi

• Lập trình Trạng thái và Hành vi:

○ Một phương pháp phổ biến để lập trình AI là sử dụng trạng thái và hành vi Chúng ta có thể xác định các trạng thái như "tấn công," "đuổi theo," "bình thường," và chuyển đổi giữa chúng dựa trên tình huống trong trò chơi Điều này cho phép AI phản ứng linh hoạt và tự động

• Lập trình bằng Cơ sở Luật (Rule-Based Programming):

○ Chúng ta có thể sử dụng lập trình cơ sở luật để xác định quy tắc cho AI Ví dụ, nếu thấy người chơi ở gần, AI sẽ tấn công Nếu có nguy cơ va chạm với đối tượng khác, AI sẽ tránh

• Học máy (Machine Learning):

○ Unity cũng hỗ trợ tích hợp các mô hình học máy và dự án như Unity ML-Agents Điều này cho phép Chúng ta lập trình AI để học từ dữ liệu và cải thiện theo thời gian

• Sử dụng Sensor và Perception:

○ AI có thể sử dụng các cảm biến như cảm biến gần, cảm biến thị giác, hoặc cảm biến nhiệt để cảm nhận môi trường xung quanh và ra quyết định dựa trên thông tin này

• Thư viện AI bên ngoài:

○ Chúng ta có thể sử dụng các thư viện AI bên ngoài và tích hợp chúng vào Unity để tạo

AI phức tạp hơn Ví dụ, Chúng ta có thể sử dụng thư viện TensorFlow để tạo mô hình học máy

• Kiểm thử và Tối ưu hóa AI:

○ Sau khi lập trình AI, Chúng ta cần kiểm tra và tối ưu hóa để đảm bảo rằng AI hoạt động hiệu quả và đáp ứng đúng các yêu cầu của trò chơi hoặc ứng dụng

4.6 Kết nối cơ sở dữ liệu và mạng

• Kết nối Cơ sở dữ liệu:

○ Trong Unity, Code có thể sử dụng các thư viện và API để kết nối với cơ sở dữ liệu Phổ biến nhất là kết nối với cơ sở dữ liệu SQL hoặc NoSQL bằng cách sử dụng C# và các thư viện tương thích

○ Cơ sở dữ liệu thường được sử dụng để lưu trữ thông tin như thông tin người dùng, điểm

số, trạng thái trò chơi, và dữ liệu liên quan Unity hỗ trợ việc tạo kết nối với các cơ sở

dữ liệu phổ biến như MySQL, SQLite, MongoDB, và nhiều hệ thống cơ sở dữ liệu khác

Trang 27

○ Để phát triển trò chơi đa người chơi, Code cần hiểu về các giao thức mạng như TCP và UDP, và sử dụng các thư viện như Mirror, Photon, UNET (cũ) hoặc các giải pháp mạng tùy chỉnh.

○ Code phải quản lý kết nối, đồng bộ hóa dữ liệu giữa các máy chơi và xử lý sự kiện trong trò chơi Điều này bao gồm việc quản lý độ trễ mạng và xử lý hành vi của các người chơi khác

4.7 Kiểm thử và tối ưu hóa (Testing and Optimizing)

4.7.1 Kiểm thử:

• Kiểm thử Đơn vị (Unit Testing):

○ Sử dụng các framework kiểm thử đơn vị như NUnit hoặc Unity Test Runner để kiểm tra các phần cơ bản của code của Chúng ta để đảm bảo rằng chúng hoạt động đúng cách

• Kiểm thử Tự động (Automated Testing):

○ Tự động hóa các cuộc kiểm tra để đảm bảo rằng các tính năng và hành vi của trò chơi hoạt động as expected sau mỗi thay đổi trong code

• Kiểm thử Tương tác (Integration Testing):

○ Kiểm tra các phần của trò chơi hoạt động cùng nhau một cách hợp lý, bao gồm kiểm tra tích hợp giữa các đối tượng và hệ thống

• Kiểm thử Beta (Beta Testing):

○ Phát hành phiên bản beta cho một nhóm người dùng thử nghiệm để thu thập phản hồi

và dữ liệu hiệu suất từ họ

• Kiểm thử Hiệu năng (Performance Testing):

○ Kiểm tra hiệu năng của trò chơi để đảm bảo rằng nó chạy mượt mà và không gây tắc nghẽn trên các nền tảng và thiết bị khác nhau

• Kiểm thử Tương tác Mạng (Network Testing):

○ Đối với trò chơi đa người chơi, thực hiện kiểm tra mạng để đảm bảo rằng kết nối và đồng bộ hóa hoạt động chính xác

4.7.2 Tối ưu hóa:

• Tối ưu hóa Hiệu năng (Performance Optimization):

○ Tối ưu hóa code và tài nguyên để đảm bảo trò chơi chạy mượt mà trên nhiều thiết bị Sử dụng công cụ như Profiler để phát hiện và giải quyết vấn đề hiệu suất

Tối ưu hóa Thời gian Khởi động (Startup Time Optimization):

Trang 28

○ Giảm thời gian khởi động của trò chơi hoặc ứng dụng để cải thiện trải nghiệm người dùng.

• Tối ưu hóa Bộ nhớ (Memory Optimization):

○ Quản lý tài nguyên và bộ nhớ cẩn thận để tránh rò rỉ bộ nhớ và giảm thiểu việc cấp phát

và giải phóng bộ nhớ

• Tối ưu hóa Kích thước Tệp (File Size Optimization):

○ Nén tài nguyên và kích thước tệp để giảm dung lượng của ứng dụng, đặc biệt đối với trò chơi di động

• Tối ưu hóa Đồ họa (Graphics Optimization):

○ Cài đặt chất lượng đồ họa dựa trên nền tảng và cấu hình của thiết bị để đảm bảo hiệu suất tốt nhất

• Tối ưu hóa Mạng (Network Optimization):

○ Tối ưu hóa kết nối mạng và đồng bộ hóa dữ liệu để giảm độ trễ và tải trạng thái của mạng

• Tối ưu hóa Năng lượng (Battery Optimization):

○ Giảm tiêu thụ năng lượng của thiết bị di động để kéo dài thời gian sử dụng pin

Kiểm soát Phiên bản: Source control giúp theo dõi tất cả các phiên bản của mã nguồn và

tài liệu liên quan Chúng ta có thể xem lịch sử thay đổi, so sánh phiên bản cũ và phiên bản mới, và lấy lại các phiên bản trước đó nếu cần

Làm việc Nhóm: Trong các dự án phức tạp, nhiều người tham gia phát triển Source

control cho phép nhiều nhà phát triển làm việc trên cùng một dự án mà không gây xung đột Họ có thể làm việc độc lập trên các nhánh (branches) riêng biệt và sau đó hợp nhất (merge) các thay đổi lại với nhau

Bảo mật và Quyền Truy cập: Chúng ta có thể xác định quyền truy cập cho từng thành

viên trong nhóm Một số thành viên có quyền đọc và ghi vào mã nguồn, trong khi các thành viên khác chỉ có quyền đọc Điều này đảm bảo bảo mật mã nguồn và tránh sự can thiệp không cần thiết

Sao lưu và Khôi phục: Source control làm cho việc sao lưu và khôi phục mã nguồn dễ

dàng Nếu có sự cố hoặc lỗi, chúng ta có thể quay trở lại phiên bản trước đó một cách nhanh chóng

Phát triển Đa nền tảng: Nếu chúng ta phát triển trò chơi hoặc ứng dụng cho nhiều nền

tảng như iOS, Android, và máy tính, source control giúp quản lý mã nguồn và tài nguyên cho mỗi nền tảng một cách hiệu quả

Hỗ trợ hợp nhất (Merge Support): Source control cung cấp các công cụ hỗ trợ hợp nhất

(merge) để giải quyết xung đột khi nhiều người làm việc trên cùng một tệp

Trang 29

Thiết kế game trong Unity:

Tạo và quản lý assets

Tổng quan về Asset trong unity

○ Trong Unity, asset là thuật ngữ được sử dụng để chỉ các tài nguyên (resources) trong game như hình ảnh, âm thanh, video, văn bản, 3D models, animations, v.v Một asset có thể là bất cứ tệp tin nào trong dự án Unity của Chúng ta, được sử dụng để xây dựng, thiết kế và tạo ra trải nghiệm của game

○ Các asset trong Unity có thể được tạo bằng cách tạo mới từ các công cụ trong Unity, nhưng thường thì chúng được tạo bên ngoài Unity bằng các phần mềm đồ họa, âm thanh hoặc video chuyên dụng và sau đó nhập khẩu vào dự án

○ Quá trình tạo và quản lý các asset trong Unity rất quan trọng để xây dựng các thành phần và trải nghiệm trong game của Chúng ta Các asset được sử dụng trong các đối tượng, kịch bản (script), vật liệu (material) và các thành phần khác của game, giúp tạo

ra hình ảnh, âm thanh và tương tác trong game

○ Unity cung cấp công cụ như Project window để hiển thị và quản lý các asset trong dự

án, cho phép Chúng ta sắp xếp vào các thư mục, tùy chỉnh các thiết lập và tối ưu hóa kích thước và hiệu suất của chúng

Tạo và quản lý assets trong unity

○ Quản lý assets:

- Project window: Project window trong Unity hiển thị tất cả các assets có trong dự

án Chúng ta có thể tạo thư mục và tổ chức các assets vào các thư mục khác nhau để quản lý tốt hơn

- Import settings: Unity cho phép Chúng ta tùy chỉnh các thiết lập khi nhập khẩu

assets Bằng cách chọn một asset trong Project window, Chúng ta có thể điều chỉnh các thiết lập như kích thước, định dạng, nén, màu sắc, v.v

Trang 30

- Prefabs: Prefab là một cách để tạo ra các asset có thể tái sử dụng Chúng ta có thể

tạo Prefab từ một GameObject hoặc một nhóm các GameObject Prefab cho phép Chúng ta duy trì cấu trúc và thuộc tính của asset trong nhiều scene khác nhau

○ Sử dụng assets:

- Trong Scene: Chúng ta có thể kéo và thả assets từ Project window vào Scene để sử dụng chúng Ví dụ, kéo một Sprite vào một GameObject để hiển thị hình ảnh trên màn hình

- Trong Script: Chúng ta có thể sử dụng assets trong Code Script của mình bằng cách truy cập và tham chiếu đến chúng Ví dụ, Chúng ta có thể sử dụng một Texture để đặt làm hình nền cho một đối tượng hoặc sử dụng một AudioClip để phát âm thanh trong game

○ Tối ưu hóa assets:

- Compression: Unity cho phép Chúng ta nén và tối ưu hóa kích thước của các assets, đặc biệt là hình ảnh và âm thanh, để giảm dung lượng của dự án và tăng hiệu suất chạy game

- LOD (Level of Detail): Với các assets 3D, Chúng ta có thể tạo các mức độ chi tiết khác nhau (LOD) để tăng hiệu suất LOD cho phép Chúng ta thay thế các phiên bản đơn giản hơn của một mesh khi xa khỏi người chơi

- Asset Bundles: Unity cho phép Chúng ta tạo Asset Bundles, là các gói assets riêng

lẻ, để tải xuống và quản lý assets theo yêu cầu, giúp giảm thời gian tải và tiết kiệm tài nguyên

○ Các nguồn assets

- Unity Asset Store: Unity Asset Store là một nền tảng trực tuyến cung cấp hàng ngàn

asset sẵn có để mua hoặc tải về miễn phí Chúng ta có thể tìm kiếm các asset như 3D models, textures, animations, audio, plugins và nhiều hơn nữa từ các nhà phát triển

và nghệ sĩ độc lập trên toàn thế giới

- Unity Community: Cộng đồng Unity rất phong phú và sáng tạo Chúng ta có thể

tìm kiếm các trang web, diễn đàn, nhóm Facebook hoặc subreddit liên quan đến Unity để tìm kiếm và chia sẻ các asset miễn phí hoặc được chia sẻ bởi cộng đồng Có nhiều nghệ sĩ và nhà phát triển sẵn lòng chia sẻ các asset mà họ đã tạo ra

- Tự thiết kế: Chúng ta có thể tạo các asset của riêng mình bằng cách sử dụng các

công cụ và phần mềm đồ họa như Blender, Maya, Photoshop, Audacity, v.v Bằng cách tạo và chỉnh sửa các asset từ đầu, Chúng ta có thể tạo ra nội dung độc đáo và phù hợp với yêu cầu của dự án của mình

- Open source: Có nhiều nguồn mở (open source) mà Chúng ta có thể tìm thấy các

asset miễn phí, chẳng hạn như các thư viện Code nguồn mở, các trang web chia sẻ miễn phí, hoặc dự án Code nguồn mở trên GitHub Chúng ta có thể tìm thấy các asset như scripts, shaders, models, textures và nhiều hơn nữa

- Khi sử dụng các asset từ các nguồn khác nhau, hãy đảm bảo kiểm tra và tuân thủ các điều khoản sử dụng và giấy phép của từng asset

Trang 31

- Mở Unity và tạo dự án mới hoặc mở dự án hiện tại.

- Tìm hiểu về cấu trúc thư mục của dự án Unity: Hiểu cách các tệp tin và thư mục

được tổ chức trong dự án Unity để biết chính xác nơi muốn import assets

- Chọn "Assets" trong trình đơn Unity và chọn "Import New Asset" hoặc kéo và thả tệp tin vào cửa sổ dự án Unity Đảm bảo chọn vị trí đúng trong dự án để import tệp tin

- Chờ Unity xử lý tệp tin: Unity sẽ xử lý và import tệp tin vào dự án Thời gian xử lý

tùy thuộc vào kích thước và loại tệp tin

- Kiểm tra: Kiểm tra trong cửa sổ Dự án Unity để xem assets đã được import thành

công Chúng ta có thể kéo và thả tài sản vào cảnh (scene) hoặc sử dụng chúng trong các thành phần khác như vật thể 3D, vật thể 2D, v.v

Sử dụng Unity's Physics để xử lý vật lý trong game.

Tổng quan về Unity’s Physics

○ Unity Physics là một hệ thống vật lý tích hợp sẵn trong Unity, giúp Chúng ta mô phỏng

và xử lý các hiệu ứng vật lý trong game của mình Nó cung cấp các công cụ và tính năng để mô phỏng va chạm, vật lý vật thể, và tương tác giữa các đối tượng trong môi trường 3D hoặc 2D

Một số khái niệm và tính năng chính của Unity Physics:

○ Rigidbodies: Rigidbody là một thành phần của GameObject trong Unity Physics, cho

phép vật thể di chuyển và tương tác với lực và va chạm trong môi trường vật lý Bằng cách gắn Rigidbody vào một GameObject, Chúng ta có thể áp dụng các lực như trọng lực, lực đẩy và lực kéo, và vật thể sẽ tự động thích ứng và di chuyển theo các nguyên tắc vật lý

Ngày đăng: 28/12/2023, 18:59

HÌNH ẢNH LIÊN QUAN

Hình ảnh  : Download unity từ trang chủ - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh : Download unity từ trang chủ (Trang 8)
Hình ảnh  : Cài đặt unity - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh : Cài đặt unity (Trang 9)
Hình ảnh  : Cài đặt unity - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh : Cài đặt unity (Trang 10)
Hình ảnh - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh (Trang 11)
Hình ảnh - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh (Trang 12)
Hình ảnh  : Tạo dự án Unity - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh : Tạo dự án Unity (Trang 14)
Hình ảnh - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh (Trang 14)
Hình ảnh - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh (Trang 15)
Hình ảnh  : Nơi chứa C# Scripts - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh : Nơi chứa C# Scripts (Trang 19)
Hình ảnh  : Cách chọn IDE để làm việc trong Unity - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh : Cách chọn IDE để làm việc trong Unity (Trang 20)
Hình ảnh  : Component được gắn vào Game Object - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh : Component được gắn vào Game Object (Trang 23)
Hình ảnh  : Minh họa về Raycast - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh : Minh họa về Raycast (Trang 35)
Hình ảnh  : Giao diện của phần Build Settings, nút Build and Run - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh : Giao diện của phần Build Settings, nút Build and Run (Trang 50)
Hình ảnh - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh (Trang 54)
Hình ảnh - (Tiểu luận) tiểu luận 3 tìm hiểu unity tìm hiểu về game engine unity
nh ảnh (Trang 55)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w