Đề tài Tìm hiểu về Game và cách xây dựng game đa nền tảng với Unity Engine

MỤC LỤC  
Lời mở đầu.......................................................................................................2  
Chương 1. Giới thiệu chung ...........................................................................3  
1.1. Giới thiệu về Unity ........................................................................3  
1.2. Tính năng của Unity ......................................................................3  
1.3. Các khái niệm cơ bản trong Unity................................................4-6  
Chương 2. Làm quen với môi trường Unity .................................................7  
2.1. Tìm hiểu khởi tạo các đối tượng cơ bản trong Unit...............7-29  
2.2. Thành phần vật lý và xử lý va chạm ............................................29-31  
2.3. Xử lý Text, hiệu ứng trong game và chuyển màn chơi...............32-35  
2.4. Một số cơ sở dữ liệu trong game Unity ........................................36-40  
Chương 3. Làm game với Unity Engine........................................................41  
3.1. Giới thiệu game đang thực hiện....................................................41-43  
3.2. Mục tiêu đề i................................................................................44  
3.3. Tài liệu tham khảo .........................................................................44  
Kết Luận...........................................................................................................45  
~ 1 ~  
Lời mở đầu  
Ngày nay, Công nghệ thông tin đang là nghành được đầu tư phát triển rộng  
rãi nhất, ta có thể thấy máy tính, laptop xuất hiện ở khắp nơi như tại doanh nghiệp,  
công ty, nhà trường. Công nghệ thông tin không chỉ giúp ta hoàn thành công việc  
1 cách nhanh chóng, chính xác mà còn là thứ thể đáp ứng nhu cầu giải trí cho  
mọi người sau một ngày làm việc mệt mỏi.  
Chỉ với một cái laptop hay 1 cái máy tính để bàn ta có thể sử dụng để xem  
phim, nghe nhạc chơi game. Hơn nữa sự bùng nổ của CNTT cũng kéo theo  
những chiếc PC, laptop, điện thoại cấu hình khủng giúp chúng ta có thể làm mọi  
việc trên 1 chiếc máy tính. Đặc biệt  
Chính vì vậy, nội dung luận văn mà em sẽ thực hiện là tìm hiểu về Game và  
cách xây dựng game đa nền tảng với Unity Engine.  
~ 2 ~  
Chương 1. Giới thiệu chung  
1.1. Giới thiệu về Unity.  
- Unity3D là một môi trường phát triển tích hợp, mạnh mẽ, hỗ trợ thao tác kéo thả,  
tuỳ biến giao diện nhanh chóng, trực quan.  
- Cung cấp các công cụ xử đồ hoạ, tích hợp sẵn thư viện vật lý, tính toán va  
chạm...  
- Hỗ trợ phát triển cả game 2D và 3D.  
- Hỗ trợ nhiều nền tảng thông dụng như OSX, Linux, Window, Web, iOS, Window  
Phone 8, Android, PS3, BB…  
- Cộng đồng người dùng, hỗ trợ rộng lớn.  
- Có phiên bản miễn phí có thể chạy được trên Window và Mac OSX  
1.2. Tính năng của Unity.  
Unity3D hướng tới người sử dụng chuyên nghiệp cả nghiệp dư, nên khá  
dễ để sử dụng. Với ngôn ngữ lập trình bằng C#, JavaScript hoặc BOO.  
Ngày nay rất nhiều nhà phát triển game lựa chọn Unity3D để phát triển bởi  
khả năng hỗ trợ đa nền tảng sự mạnh mẽ tiện dụng của Unity3D.  
Đến với Unity, các bạn sẽ không cần phải băng khoăn về các vấn đề xlý,  
các khái niệm đồ hoạ phức tạp... tất cả đều trở nên dễ dàng và nhanh chóng  
với Unity.  
~ 3 ~  
1.3. Các khái niệm cơ bản trong Unity  
1.3.1. GameObject  
- Một đối tượng cụ thể trong game gọi một game object, có thể là nhân vật, đồ  
vật nào đó.  
dụ: cây cối, xe cộ, nhà cửa, người...  
1.3.2. Component  
- Một GameObject sẽ nhiều thành phần cấu tạo nên nó như là hình ảnh (sprite  
render), tập hợp các hành động (animator), thành phần xử lý va chạm (collision),  
tính toán vật lý (physical), mã điều khiển (script), các thành phần khác... mỗi thứ  
như vậy gọi một component của GameObject.  
1.3.3. Sprite  
- Là một hình ảnh 2D của một game object có thể là hình ảnh đầy đủ, hoặc thể  
một bộ phận nào đó.  
1.3.4. Animation  
- Là tập một hình ảnh động dựa trên sự thay đổi liên tục của nhiều sprite khác  
nhau.  
~ 4 ~  
1.3.5. Key Frame  
- Key Frame hay Frame là một trạng thái của một animation. Có thể được tạo nên  
từ 1 sprite hay nhiều sprite khác nhau.  
1.3.6. Prefabs  
- Là một khái niệm trong Unity, dùng để sử dụng lại các đối tượng giống nhau có  
trong game mà chỉ cần khởi tạo lại các giá trị vị trí, tỉ lệ biến dạng và góc quay từ  
môt đối tượng ban đầu.  
dụ: Các đối tượng đồng tiên trong game Mario đều xử giống nhau, nên  
ta chỉ việc tạo ra một đối tượng ban đầu, các đồng tiền còn lại sẽ sử dụng prefabs.  
Hoặc khi ta lát gạch cho một cái nền nhà, các viên gạch cũng được sử dụng là  
prefabs.  
1.3.7. Sounds  
-Âm thanh trong game.  
1.3.8. Script  
- Script là tập tin chứa các đoạn nguồn, dùng để khởi tạo xử lý các đối tượng  
trong game.  
- Trong Unity thể dung ngôn ngữ lập trình C#, Java Script, BOO để lập trình  
Script.  
- Unity có hỗ trợ sẵn phần mềm MonoDeveloper dùng để lập trình.  
~ 5 ~  
1.3.9. Scenes  
- Quản tất cả các đối tượng trong một màn chơi của game.  
Ảnh minh họa scene game  
1.3.10. Assets  
- Bao gồm tất cả những phục vụ cho dự án game như sprite, animation, sound,  
script, scenes…  
1.3.11. Camera  
- Là một game object đặc biệt trong scene, dùng để xác định tầm nhìn, quan sát các  
đối tượng khác trong game.  
1.3.12. Transform  
- Là 3 phép biến đổi tịnh tiến, quay theo các trục, và phóng to thu nhỏ một đối  
tượng  
~ 6 ~  
Chương 2. Làm quen với môi trường Unity  
2.1. Tìm hiểu khởi tạo các đối tượng cơ bản trong Unity  
Ảnh minh họa bố trí của Unity  
2.1.1. Các thành phần bố trí  
a. Scene  
- Phần màu đỏ số 1.  
- Phần này phần hiển thị các đối tượng trong scenes một cách trực quan, có thể lựa  
chọn các đối tượng, kéo thả, phóng to, thu nhỏ, xoay các đối tượng ...  
- Phần này có để thiết lập một số thông số như hiển thị ánh sáng, âm anh, cách nhìn  
2D hay 3D .  
b. Game  
- Phần màu đỏ số 1  
- Phần này cho phép ta xem trước hiển thị từ scene ra game, bên cạnh tab scene.  
c. Inspector  
- Phần số 2 màu vàng  
- Phần này hiển thị các component của một Game Object và các thông số của các  
~ 7 ~  
component.  
d. Project  
- Phần số 3 màu xanh lá cây  
- Phần này hiển thị thư mục Assets, chứa tất ccác tài nguyên của dự án game.  
- Ở phần này, bên cạnh tab khác, có phần Console để hiển thcác log trong quá  
trình debug.  
e. Hierarchy  
- Phần đóng khung màu tím  
- Phần này quản tất cả các đối tượng trong scenes, có thể chọn lựa, đổi tên, xoá  
các đối tượng ra khỏi game.  
f. Top bar  
- Phần đóng khung màu đà  
- Phần này chứa các nút chuyên dụng:  
+ Bốn nút bên trái: (1) tuỳ chọn cho phép dùng chuột kéo toàn bộ scenes, phóng to,  
thu nhỏ, lựa chọn các đối tượng trong scenes... (2) cho phép dùng chuột di chuyển  
các đối tượng trong scenes, (3) cho phép dùng chuột quay các đối tượng (4) cho  
phép dùng chuột phóng to, thu nhỏ các đối tượng  
+ Ba nút ở giữa: (1) cho phép chạy demo game, (2) cho phép dừng game tại một  
frame nào đó, (3) cho phép chạy từng frame.  
+ Hai drop list bên phải: (1) cho phép tuỳ chọn hiển thị các layer, (2) cho phép  
chọn lưu các bố trí do người dùng thiết lập.  
Ngoài ra còn có các cửa sổ khác của Unity, như Sprite Editor, Animation,  
Animator, Console... và các bạn thể tự tuỳ biến cho mình một bố cục sao cho  
thuận tiện với mình nhất...  
~ 8 ~  
2.1.2. Tạo cấu hình với dự án 2D  
- Bật Unity lên, vào menu File/New Project  
Ảnh minh họa  
Chọn loại project là 2D sau đó gõ tên project xong nhấn Create Project. Kết quả  
như sau:  
ảnh minh họa  
~ 9 ~  
Sau khi tạo dự án xong, Hierarchy sẽ một đối tượng là Main Camera.  
Chúng ta cần điều chỉnh kiểu hiển thị Scene là 2D  
Ở cửa sHierarchy chọn Main Camera. Ở cửa sổ Inspector sẽ hiển thcác thông số  
của camera, ta sẽ chọn lại giá trị Projection hay phép chiếu là phép chiếu vuông  
góc thay cho phép chiếu phối cảnh  
Chọn phép chiếu vuông góc  
Tiếp theo, ở cửa sổ Project, ta sẽ tạo sẵn các thư mục để chứa tất cả các tài nguyên  
sử dụng trong game sau này lần lượt là: Animations, Prefabs, Scripts, Sprites,  
Sounds, Scenes.  
Right-Click vào thư mục Assets ở cửa sổ Project, ta chọn Create, chọn Folder.  
~ 10 ~  
Kết quả như hình sau:  
2.1.3. Khởi tạo các đối tượng cơ bản  
a. GameObject  
a1. Empty Object  
- menu ta chọn GameObject, chọn Create Empty.  
~ 11 ~  
- Hoặc click chuột phải ở phần Hierarchy => Create Empty  
Ta có thể đổi tên, sao chép hay xoá các đối tượng thông qua cửa sổ này.  
- Empty game object là một đối tượng đơn giản nhất, khi mới tạo ra, chỉ chứa các  
thông số biến đổi (transform) ngoài ra nó sẽ không chứa bất kỳ một component nào  
cả.  
Chúng ta có thể thêm các component hoặc để nhóm các đối tượng khác lại với  
nhau thành một nhóm, hoặc sử dụng các empty object cho các mục đích khác ...  
a2. Parent object và Child object  
Parent object : là một đối tượng chứa các đối tượng con khác, gắn liền với nhau.  
Child object: là một đối tượng nằm trong một đối tượng khác, gắn liền với nhau.  
- Để tạo các đối tượng parent và child, ta chỉ việc kéo thả một đối tượng sẵn vào  
trong đối tượng đã có trong cửa sổ Hierarchy. Khi thay đổi các đối tượng con thì  
~ 12 ~  
chỉ có tác động trên đối tượng con đó.  
- Khi thay đổi đối tượng cha thì các đối tượng con sẽ thay đổi theo.  
Đối tượng Girl có các đối tượng con là Bag, Hat  
a3. Tag  
- Tag là một thuộc tính của của một game object. Ta sử dụng thuộc tính này mục  
đích xác định và phân biệt các đối tượng với nhau, khi xử sự kiện hay bất kể vấn  
đề cần.  
Tag  
Thêm tag mới  
~ 13 ~  
Danh sách tag  
b. Sprite  
- Có 2 loại sprite là Single sprite và Multiple sprite.  
Single sprite  
Multiple sprite  
~ 14 ~  
b1. Single sprite  
Ở cửa sProject, chọn thư mục Assets, Right-Click vào thư mục Sprites,  
chọn Import New Assets, sau đó tìm đến một hình ảnh nào đó.  
Ở cửa sInspector, chọn Texture Type là Sprite, Sprite Model là single, sau đó  
nhấn Apply.  
~ 15 ~  
b2. Multiple sprite  
- Tiến hành tương tự, Import New Assets, chọn đến một tập tin ảnh chứa nhiều  
Sprite như ở dụ trên, sau đó ở cửa sInspector chọn Texture Type là Sprite,  
Sprite Model là Multiple. Xong nhấn Apply.  
Tiếp theo ta cần xác định các vùng bao, để xác định các sprite con thuộc Multiple  
sprite vừa import vào đó bằng cách ở bảng Inspector chọn Sprite Editor.  
Ở cửa sSprite Editor, ta chọn Slice, sau đó để mặc định các thông số, chọn nút  
Slice, Unity sẽ tự động xác định vùng bao nhỏ nhất cho các sprite cho chúng ta.  
Hoặc chúng ta có thể tự dùng chuột để xác định các vùng bao này.  
~ 16 ~  
Sau đó nhấn nút Apply ở cửa sổ Sprite Editor để áp dụng.  
Vậy là ta đã tạo xong hai loại sprite bằng Unity.  
b3. Thêm Sprite render cho Empty GameObject  
- Tạo một Empty GameObject, đặt tên là Ground. Sau đó chọn đối tượng này, ở  
cửa sổ Inspector ta chọn Add Component sau đó chọn Rendering, chọn Sprite  
Render.  
~ 17 ~  
Tiếp theo, ở mục Sprite Render ở cửa sổ Inspector, ta chọn Sprite để hiển thị (Nút  
khoan tròn đỏ)  
c. Animation  
Một animation là một hình ảnh động tả một đối tượng nào đó trong game.  
dụ: thể một chiếc xe đang chạy, hay một nhân vật đang đi....  
Một animation trong Unity có thể bao gồm nhiều hành động, một hành động như  
vậy gọi một clip.  
dụ: một nhân vật thể có các hành động đi, đứng, nhảy....  
Có hai kỹ thuật để tạo animation (cả 2D và 3D): đó kỹ thuật key frame và kỹ  
thuật skeletal hay spine.  
c1. Kỹ thuật tạo animation  
*Kỹ thuật tạo key frame  
~ 18 ~  
Đối với kỹ thuật key frame, người ta sử dụng một sprite cho một key frame của  
hành động.  
Mỗi sprite là 1 key frame  
Để tạo ra chuyển động, ta sẽ vẽ một key frame tại thời điểm đầu và thay đổi tuần tự  
các key frame sau, chúng ta sẽ được một animation.  
Đây phương pháp đơn giản nhất để tạo chuyển động, nhưng lại tốn kém về bộ  
nhớ, vì ta phải tốn nhiều sprite cho nhiều chuyển động khác nhau.  
*Kỹ thuật skeletal hay spine hay bộ xương  
Đối với kỹ thuật này, người ta chia đối tượng ra thành nhiều sprite, mỗi  
sprite là một bộ phận của đối tượng (giống như 1 khúc xương của bộ xương). Để  
tạo ra một key frame mới, ta sẽ thay đổi các sprite về vị trí, độ lớn, xoay của các  
sprite thành phần có liên quan đến chuyển động. Sau đó kết hợp các key frame lại  
với nhau như kỹ thuật key frame để tạo thành các animation.  
Chúng ta có thể xem các sprite cấu tạo nên một key frame ở ảnh dưới.  
~ 19 ~  
Cách này có vẻ tốn thời gian hơn, nhưng lại rất hiệu quả, đặc biệt tiết kiệm  
được nhiều bộ nhớ.  
c3. Điều khiển các hành động nhân vật – Animator  
Ở phần trên chúng ta đã tìm hiểu cách tạo các clip hay các hành động của một  
animation. Với một animation như vậy ta sẽ một Controller.  
Phần này sẽ biểu diễn cách chuyển qua lại giữa các hành động bằng máy trạng thái.  
Ở cửa sHierarchy chọn đối tượng MainCharacter, chọn Menu, chọn Window,  
chọn Animator, cửa sổ Animator sẽ xuất hiện nsau:  
~ 20 ~  
Tải về để xem bản đầy đủ
docx 52 trang yennguyen 30/03/2022 5560
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài Tìm hiểu về Game và cách xây dựng game đa nền tảng với Unity Engine", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docxde_tai_tim_hieu_ve_game_va_cach_xay_dung_game_da_nen_tang_vo.docx