Trò chơi engine là một khung phần mềm software framework chuyên dụng để phát triển trò chơi trên các nền tảng khác nhau.. Bằng việc sử dụng đặc dụng cho lập trình trò chơi, các trò chơi
Trang 1KHOA TIN HỌC
BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
TÊN ĐỀ TÀI XÂY DỰNG GAME HỖ TRỢ HỌC
TIẾNG NHẬT
Giảng viên hướng dẫn: ThS HỒ NGỌC TÚ
Sinh viên thực hiện: LÊ THỊ PHƯƠNG THẢO - 14CNTT
ĐÀ NẴNG, 04/2018
Trang 2LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn quý thầy cô trong khoa Tin học cũng như các quý thầy cô đang giảng dạy và công tác tại trường Đại học Sư Phạm - Đại học Đà Nẵng đã truyền đạt những kiến thức quý báu cho em trong những năm học vừa qua
Đặc biệt, em xin chân thành cảm ơn thầy ThS Hồ Ngọc Tú và các thầy cô giáo của Khoa Tin học - Trường Đại học Sư Phạm Đà Nẵng và xin cảm ơn quý thầy cô đã tận tình dạy bảo, giúp đỡ em trong suốt thời gian em thực hiện đề tài
Xin trân trọng cảm ơn!
Đà Nẵng, ngày tháng năm Sinh viên thực hiện
Lê Thị PhươngThảo
Trang 3LỜI CAM ĐOAN
Em xin cam đoan:
1 Những nội dung trong báo cáo này là do em thực hiện dưới sự hướng dẫn trực tiếp của ThS Hồ Ngọc Tú
2 Mọi tham khảo dùng trong báo cáo này đều được trích dẫn rõ ràng tên tác giả, tên công trình, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, em xin chịu hoàn toàn trách nhiệm
Đà Nẵng, ngày tháng năm
Sinh viên thực hiện
Lê Thị PhươngThảo
Trang 4NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN
Đà Nẵng, ngày tháng năm
Cán bộ hướng dẫn
Trang 5NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN
Đà Nẵng, ngày tháng năm
Hội đồng phản biện
Trang 6MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
1 GIỚI THIỆU 8
1.1 L Ý DO CHỌN ĐỀ TÀI 8
1.2 K HÁCH THỂ VÀ ĐỐI TƯỢNG NGHIÊN CỨU 8
1.3 G IỚI HẠN VÀ PHẠM VI NGHIÊN CỨU 8
1.4 M ỤC ĐÍCH NGHIÊN CỨU 8
1.5 N HIỆM VỤ NGHIÊN CỨU 8
1.6 P HƯƠNG PHÁP NGHIÊN CỨU 9
1.7 B Ố CỤC ĐỀ TÀI 9
2 CƠ SỞ LÝ THUYẾT 10
2.1 T RÒ CHƠI VÀ CÁC THÀNH PHẦN CƠ BẢN 10
2.2 T RÒ CHƠI E NGINE U NITY 12
2.2.1 Cài đặt trò chơi engine Unity 12
2.2.2 Giao diện trò chơi engine Unity 13
2.2.3 Các đối tượng cơ bản 14
2.2.4 Hệ thống đồ họa 17
2.2.5 Hệ thống vật lý 18
2.3 L ẬP TRÌNH 18
2.4 G IAO DIỆN NGƯỜI DÙNG 19
2.4.1 Canvas 19
2.4.2 Layout 20
2.4.3 Các đối tượng UI cơ bản Unity cung cấp 20
2.5 T HỦ THUẬT TỐI ƯU VÀ XUẤT BẢN TRÒ CHƠI LÊN A NDROID 21
2.5.1 Hình ảnh 21
2.5.2 Âm thanh 22
2.5.3 Mã 22
2.5.4 Xuất bản trên nền tảng Android 22
3 PHÂN TÍCH THIẾT KẾ 24
3.1 M ỤC TIÊU ĐỀ TÀI 24
3.2 Y ÊU CẦU CHỨC NĂNG 24
3.3 Y ÊU CẦU PHI CHỨC NĂNG 24
3.4 P HÂN TÍCH THIẾT KẾ HỆ THỐNG 24
3.4.1 Đối tượng người chơi 24
3.4.2 Cốt truyện 25
3.4.3 Cách thức chơi 25
3.4.4 Hệ thống nhân vật 26
3.5 S Ơ ĐỒ CA SỬ DỤNG CỦA TRÒ CHƠI (U SECASE DIAGRAM ) 33
3.6 C ÁC THÀNH PHẦN CỦA CÁC ĐỐI TƯỢNG TRONG TRÒ CHƠI 33
4 TRIỂN KHAI VÀ KẾT QUẢ ĐẠT ĐƯỢC 36
4.1 M ÔI TRƯỜNG TRIỂN KHAI 36
4.2 S ẢN PHẨM ĐẠT ĐƯỢC 36
4.2.1 Màn hình chọn nhân vật 36
4.2.2 Màn hình menu 37
Trang 74.2.5 Màn hình luyện tập kỹ năng nghe 38
4.2.6 Màn hình luyện tập kỹ năng nói 39
4.2.7 Màn hình ôn tập các Hán tự Kanji 39
4.2.1 Màn hình xem danh sách xếp hạng 40
5 KẾT LUẬN VÀ KIẾN NGHỊ 41
5.1 Ư U ĐIỂM 41
5.2 H ẠN CHẾ 41
5.3 H ƯỚNG PHÁT TRIỂN 41
6 TÀI LIỆU THAM KHẢO 42
Trang 8DANH MỤC HÌNH ẢNH
Hình 1 : Giao diện chính của Unity _ 13 Hình 2 :Các Sence trong trò chơi _ 14 Hình 3: Một số Trò chơi Object 15 Hình 4: Các thành phần của Camera 16 Hình 5: Prefabs 17 Hình 6: Vòng đời cơ bản của một Trò chơiObject 18 Hình 7: Một UI đơn giản trong Unity _ 19 Hình 8: Các thông số của một Layout _ 20 Hình 9: Các đối tượng UI cơ bản _ 21 Hình 10: Một phần spritesheet chưa hình động của nhân vật _ 21 Hình 11: Giao diện export ra Android _ 22 Hình 12: Sơ đồ vòng đời một lượt chơi 25 Hình 13: Nhân vật chính _ 26 Hình 14: Các nhân vật trong trò chơi _ 26 Hình 15: Màn hình Menu _ 27 Hình 16: Màn hình chọn cấp độ 27 Hình 17: Màn hình chọn kỹ năng _ 28 Hình 18: Màn hình luyện tập nói _ 29 Hình 19: Hộp thoại GameOver 30 Hình 20: Hộp thoại GameOver 30 Hình 21: Màn hình luyện tập nói _ 31 Hình 22: Màn hình ôn tập các Hán tự Kanji 32 Hình 23: Màn hình danh sách xếp hạng 32 Hình 24: Sơ đồ ca sử dụng 33 Hình 25: Màn hình chọn nhân vật 36 Hình 26: Màn hình menu _ 37 Hình 27: Màn hình chọn kỹ năng _ 37 Hình 28: Màn hình luyện tập kỹ năng đọc 38 Hình 29: Màn hình luyện tập kỹ năng nghe _ 38 Hình 30: Màn hình luyện tập kỹ năng nói 39 Hình 31: Màn hình ôn tập các Hán tự Kanji 39 Hình 32: Màn hình xem danh sách xếp hạng 40
Trang 91 GIỚI THIỆU
1.1 Lý do chọn đề tài
Ngày nay xu hướng học tiếng Nhật càng tăng, do nhu cầu du học sinh nước ngoài, cơ hội nghề nghiệp liên quan đến tiếng Nhật ở Đà Nẵng rất nhiều Yếu tố khó chinh phục và cần thiết nhất trong tiếng Nhật đó là chữ hán Kanji Nhằm giúp các bạn sinh viên học sinh, người muốn chinh phục Kanji một cách hiệu quả, giao lưu với các bạn học khác để tranh tài trí nhớ Kanji, tạo động lực học tiếng Nhật, em đã hình thành ý tưởng: Xây dựng một game trên điện thoại, giúp các bạn mới bắt đầu hoặc đã học tiếng Nhật có thể vừa học Kanji vừa chơi thách đấu trí nhớ với bạn học khác trực tuyến
1.2 Khách thể và đối tượng nghiên cứu
- Phương pháp học Kanji của người mới bắt đầu hoặc đã học tiếng Nhật
- Bộ chữ hán kanji từ N5 đến N1
1.3 Giới hạn và phạm vi nghiên cứu
Đề tài được nghiên cứu trong phạm vi dành cho những người muốn học chữ Kanji trong tiếng Nhật từ N5 lên N1
1.4 Mục đích nghiên cứu
Xây dựng một game, giúp học Kanji, thi trí nhớ kanji cùng bạn chơi, với 3
kỹ năng đọc, nghe, nói
1.5 Nhiệm vụ nghiên cứu
- Tìm hiểu về bộ chữ hán Kanji từ trình độ N5 đến N1, và phương pháp học Kanji của mọi người
Xampp, Php
- Demo game
Trang 101.6 Phương pháp nghiên cứu
- Phương pháp nghiên cứu tài liệu
- Tổng quan về công nghệ trò chơi
- Công cụ làm trò chơi Unity
- Mô tả ý tưởng trò chơi
Trang 112 CƠ SỞ LÝ THUYẾT
2.1 Trò chơi và các thành phần cơ bản
hiển thị
Trò chơi engine là một thành phần cơ bản không thể thiếu trong quá trình hoàn thành một tựa trò chơi Trò chơi engine là một khung phần mềm (software framework) chuyên dụng để phát triển trò chơi trên các nền tảng khác nhau Đứng vai trò giữa nền tảng ứng dụng và các mã logic và tài nguyên để xây dựng nên thế giới trò chơi phức tạp Thông thường, một trò chơi engine hoàn chỉnh phải đảm bảo các phương thức, tác vụ để xây dựng nên một môi trường đồ họa 2D hoặc 3D Ngày nay, các trò chơi engine nổi tiếng đều có thể tích hợp cả hai môi trường này vào một engine
Bằng việc sử dụng đặc dụng cho lập trình trò chơi, các trò chơi engine sẽ mang nhiều thành phần hữu dụng khi làm trò chơi mà các framework ứng dụng khác thường không chú trọng tới Như thay vì có các đối tượng xây dựng nên các cửa sổ, thanh sổ, menu, trò chơi engine được tối ưu hóa để hiển thị các giao diện pop-up trên môi trường đồ họa cập nhật liên tục hay xử lý
âm thanh sao cho giống thật nhất trong không gian 3D.Sau đây là danh sách các thành phần cơ bản thường gặp ở các phần mềm trò chơi:
- Bộ xử lý đầu vào: phần mềm trò chơi đặc thù khác biệt so với các phần
mềm máy tính khác ở tính yêu cầu người chơi tương tác cao, liên tục với trò chơi Và trong nhiều trò chơi, khả năng xử lý tình huống nhanh nhạy của người chơi chính là chìa khóa để đạt được mục tiêu của trò chơi đó Vì vậy việc đảm bảo các thao tác của người chơi được nhận chính xác và xử lý nhanh nhất luôn là một yếu tố cơ bản bắt buộc đối với trò chơi engine Các xử lý đầu vào này có thể là từ nhiều thiết bị khác nhau như phím, chuột, bàn điều khiển trò chơi, tay cầm điều khiển,v.v nhưng mô hình chung đều được mapping với các chức năng trong trò chơi sao cho hợp lý và đồng bộ giữa các nền tảng
Trang 12- Đồ họa: đồ họa chính là điểm hấp dẫn người chơi ngay khi nhìn vào
một tựa trò chơi Dù trò chơi được định hình phong cách đồ họa 2D hay 3D phức tạp thì việc xử lý đồ họa là cuộc việc đòi hỏi xảy ra thường xuyên và cập nhật liên tục từng mili giây trong quá trình ứng dụng trò chơi khởi chạy Bộ xử lý đồ họa chịu trách nhiệm render các thành phần đồ họa đồng thời tiết kiệm tài nguyên máy tính nhất có thể để đảm bảo một trải nghiệm tốt nhất cho người chơi
- Âm thanh: bên cạnh đồ họa đẹp thì âm thanh hấp dẫn chính là điều tạo
nên cảm xúc cho người chơi Bộ xử lý âm thanh đảm nhận tái tạo những âm thanh chính xác, đặc biệt là ở môi trường 3D Bằng các kỹ thuật xử lý âm thanh, như tăng giảm âm lượng xa gần, hòa âm, nhiễu âm… và chất lượng các bài nhạc nền, hiệu ứng tốt có thể làm cho người chơi như đang hòa vào thế giới thật
- Bộ xử lý mạng: rất nhiều trò chơi ngày nay có tính năng đa người chơi,
tức là nhiều người chơi có thể kết nối với nhau và tận hưởng trò chơi cùng lúc Bộ xử mạng đóng vai trò quan trọng kết nối người chơi với server và đảm bảo trải nghiệm cho mọi người chơi trên hệ thống là như nhau Giảm thiểu độ trễ, tiết kiệm dữ liệu, đồng bộ hóa dữ liệu giữa các client là những công việc chính mà bộ xử lý mạng đảm nhận trong một trò chơi engine
- Mô phỏng vật lý: vật lý luôn là yếu tốt rút ngắn khoảng cách giữa đời
thực và trò chơi Mô phỏng các thông số môi trường vật lý như trọng lực, lực ma sát, phản lực, va chạm, cân nặng, v.v là tính năng chính của bộ mô phỏng vật lý Hiện có hai bộ mô phỏng vật lý phổ biến là Hovak (3D), PhysX(3D) và Box2D (2D), ngoài ra có hàng trăm, hàng nghìn các bộ mô phỏng khác được xây dựng tùy chỉnh tùy theo yêu cầu của tựa trò chơi
- Giao diện người dùng: giao diện người dùng là thành phần không thể
thiếu trong các trò chơi, dù từ đơn giản đến phức tạp, 2D hay 3D Được
sử dụng để xây dựng các thành phần bổ trợ tương tác cung như cung cấp thông tin cho người chơi Và tương tự như bộ xử lý đồ họa, giao diện người dùng được cập nhật mỗi khung hình và việc một trò chơi engine có bộ xử lý tối ưu đem lại lợi ích lớn về hiệu suất cho trò chơi
- Mã: ngoài các thành phần trên cấu tạo nên một thế giới ảo hoàn hảo
nhưng để phối hợp chúng hoạt động cùng với các tài nguyên tạo nên một trò chơi sinh động thì phải có các đoạn mã logic xây dựng nên trò chơiplay cho trò chơi Đây là thành phần cơ bản của một trò chơi
Trang 13engine mà lập trình viên thường hay tiếp xúc nhất để xây dựng nên một trò chơi đúng theo thiết kế và tối ưu hiệu năng cho trò chơi
Phần lớn các nhà sản xuất lớn để sở hữu các trò chơi engine tự xây dựng mạnh mẽ Bên cạnh đó, còn có rất nhiều trò chơi engine miễn được các nhà làm trò chơi ưa chuộng để đưa những ý tưởng trở thành sự thật mà Unity là một trong số đó
2.2 Trò chơi Engine Unity
Unity là một trò chơi engine rất phổ biến và thân thiện, được nhiều trung tâm trò chơi trên toàn thế giới sử dụng Unity còn được bình chọn là một trong những trò chơi Engine tốt nhất hiện nay nhờ các điểm mạnh sau:
- Hỗ trợ làm trò chơi 2D lẫn 3D
- Lập trình bằng nhiều ngôn ngữ gồm : C#, Javascript, Boo
- Unity tích hợp nhiều công cụ, công nghệ về graphic rendering (DirectX, OpenGL), physic (NVIDIA PhysX), audio (OpenAL) giúp quá trình phát triển trò chơi trở nên nhanh và đơn giản hơn
- Hỗ trợ đa nền tảng, chỉ cần viết code 1 lần mà có thể chạy trên
Windows, Android, IOS, WindowsPhone,PS3, XBOX360, Wii… thậm chí là trên Web
- Ngoài ra Unity còn hỗ trợ Networking để phát triển trò chơi MMO vô cùng đơn giản
- Kho thư viện Asset Store khổng lồ miễn phí lẫn có phí được toàn thế giới cung cấp công nghệ làm trò chơi nhanh và chuyên nghiệp hơn
2.2.1 Cài đặt trò chơi engine Unity
https://unity3d.com/get-unity/download/archive Hiện tại, Unity đã ra đến bản Unity 2017.1.1, ta có thể tải bản mới nhất để sử dụng hết các chức năng mới nhất của Unity
Sau khi cài đặt thành công, Unity sẽ yêu cầu người dùng đăng nhập Nếu người dùng chưa có tài khoản có thể tạo tài khoản để dùng
Trang 14Hình 1 : Giao diện chính của Unity
2.2.2 Giao diện trò chơi engine Unity
Unity cung cấp một giao diện trực quan, dễ tiếp cận cho nhà phát triển trò chơi Các thành phần giao diện được chia thành các thẻ cho các mục đích sử dụng chuyên biệt
- Cửa sổ dự án (Project Window): Hiển thị thư mục chứa các tài nguyên cho dự án Người dùng có thể tạo mới thư mục và tài nguyên tại đây
- Khung xem cảnh: là khu vực mô phỏng đồ họa trong trò chơi Người dùng có thể quan sát các thay đổi của các đối tượng trong trò chơi Có thể thao tác di chuyển, phóng to, thu nhỏ, xoay các đối tượng, v.v
- Thanh đối tượng: chưa danh sách các đối tượng có trong scene theo dạng cây Khi click vào một đối tượng, đối tượng sẽ được bôi sáng trong Khung xem cảnh và hiển thị chi tiết thuộc tính ở Thanh thuộc tính
- Thanh thuộc tính: liệt kê thành phần (thành phần) của đối tượng được chọn Bên trong mỗi thành phần liệt kê chi tiết các thuộc tính của thành phần đó Người dung có thể dung Unity Editor API để tạo nên cao giao diện trực quan cho các Thành phần tự thực hiện
- Thanh công cụ: chứa các phím công cụ hữu ích để người dùng lựa chọn cũng như nhận biết nhanh các thiết lập hiện tại của Editor
Trang 152.2.3 Các đối tượng cơ bản
2.2.3.1 Asset
Asset là tài nguyên xây dựng nên một dự án trên Unity Những tài nguyên có thể là hình ảnh, âm thanh, mô hình 3D, chất liệu (material), texture,… hoặc cả một project hoàn chỉnh
Asset là một trong những tính năng rất hay của Unity Ngoài việc lưu trữ, Asset còn giúp ta tái sử dụng để giảm thiểu rất thời gian trong việc thiết
kế và lập trình trò chơi
Đặc biệt hơn nữa, Unity còn cung cấp AssetStore hội tụ các Asset trên toàn thế giới của các nhà phát triển trò chơi giúp ta tận dụng sức mạnh của cộng đồng
2.2.3.2 Scene
Hình 2 :Các Sence trong trò chơi
Trong Unity, một cảnh chơi (hoặc một phân đoạn) là những màn chơi riêng biệt, một khu vực trong trò chơi hoặc thành phần có trong nội dung của trò chơi (các menu) Các thành phần này được gọi là Scene Bằng cách tạo ra nhiều Scene, chúng ta có thể phân phối thời gian và tối ưu tài nguyên, kiểm tra các phân đoạn trong trò chơi một cách độc lập
Ví dụ ở trò chơi này đã phân các phân cảnh Home, Menu, SelectMap, Bản đồ một, Bản đồ hai, Bản đồ ba Nếu phân như vậy thì người lập trình sẽ
dễ quản lý hơn, ta gọi đây là các Scene
2.2.3.3 Trò chơiObject
Ở trên, ta đã có khái niệm Scene để lưu trữ cảnh chơi Vậy Scene lưu cảnh chơi là lưu cái gì, đó chính là lưu các Trò chơi Object, một Scene chứa
Trang 16nhiều Trò chơi Object, chính các Trò chơi Object kết hợp lại sẽ tạo ra cảnh chơi
Ví dụ trong trò chơi đá banh thì ta sẽ có Player, Goal, Ball, Stadium,
và ta cần lưu ý rằng luôn phải có Camera, Camera quay cái gì thì người nhìn thấy cái đó
Hình 3: Một số Trò chơi Object
2.2.3.4 Thành phần
Các trò chơi Object đóng vai trò là các đối tượng trong trò chơi, mỗi trò chơi Object sẽ chứa các thành phần thể hiện thuộc tính của nó như vị trí, góc xoay, tỷ lệ, xử lý chức năng… Các thành phần chứa trong trò chơi Object chính là các thành phần
Ví dụ trong trò chơi Object Camera có Thành phần Transform lưu thông tin về Position, Rotation, Scale, có Thành phần Camera xử lý các chức năng của Camera, có Thành phần Audio Listener xử lý lắng nghe âm thanh,…
Trang 17Để tạo ra một prefab, ta đơn giản chỉ cần kéo một trò chơi Object vào cửa sổ Project
Trang 18Hình 5: Prefabs
2.2.3.6 Script
Script được Unity xem như một thành phần Đây là thành phần thiết yếu trong quá trình phát triển trò chơi Bất kỳ một trò chơi nào, dù đơn giản nhất đều cần đến Scripts để tương tác với các thao tác của người chơi, hoặc quản lý các sự kiện để thay đổi chiều hướng của trò chơi tương ứng với kịch bản trò chơi
Unity cung cấp cho lập trình viên khả năng viết Script bằng các ngôn ngữ: JavaScript, C#
Để viết Script, chúng ta có thể biên tập Script trên Mono Developer được tích hợp mặc định vào Unity hoặc có thể cài một trình biên tập riêng như Visual Studio, Visual Code
Ở ví dụ trên của trò chơi Object Camera ta có thể thấy có một thành phần là CameraShake, đó chính là Script được viết bằng C#
2.2.4 Hệ thống đồ họa
Sprite là đối tượng đồ họa 2D trong Unity được sử dụng để tạo hình ảnh cho các Trò chơiObject Unity hỗ trợ rất nhiều các công cụ đi kèm để tinh
Trang 19- Sprite Creator: Tạo một số hình dạng cơ bản kích thước 4x4 pixel
- Sprite Renderer: Là một thành phần để render Sprite lên các đối tượng
- Sprite Packer: Tối ưu hóa sử dụng và bộ nhớ khi dùng nhiều sprite
2.2.5 Hệ thống vật lý
Hệ thống vật lý trong Unity là PhysX Là một hệ thống mô phỏng vật lý ưu việt nhất hiện nay Bên cạnh xử lý mô phỏng không gian 3D, hệ thống này cũng giúp Unity hoàn thành tốt vai trò tạo nên môi trường giả lập vật lý tuyệt hảo trên chế độ đồ họa 2D
2.3 Lập trình
Hình 6: Vòng đời cơ bản của một Trò chơiObject
Các đoạn mã lập trình là phần tối quan trọng giúp kết nối các tài nguyên của trò chơi để tạo nên một trò chơi play hấp dẫn thú vị người chơi Đồng thời, việc tối ưu và sử dụng hợp lý các thành phần của Unity đem lại hiệu suất cao cho Trò chơi
Unity phiên bản thiện tại hỗ trợ hai ngôn ngữ lập trình là C# và Javascript.C# hiện tại được hỗ trợ là C# 4.0 trên nền tảng Net 2.0 trong bộ
mã nguồn mở Mono Trình IDE mặc định là MonoDevelop, người sử dụng có thể sử dụng Visual Studio lẫn Visual Studio Code như trình IDE bên thứ ba.Về cơ bản, việc lập trình trong Unity là xoay quanh việc định nghĩa cá lớp
Trang 20kế thừa từ lớp MonoBehaviour và kết hợp sử dụng các thành phần của Unity
để tạo nên trò chơi
2.4 Giao diện người dùng
Unity cung cấp cho người sử dụng công cụ để xây dựng hệ thống giao diện người dùng hoàn chỉnh và có thể chạy đa nền tảng Đó chính là Canvas
và các thành phần con của nó
2.4.1 Canvas
Canvas là đối tượng biểu tượng cho một vùng trên màn hình mà tất cả các đối tượng UI được xây dựng trên đó Thứ tự các đối tượng được thực hiện lệnh vẽ (draw) theo thứ tự của nó trên Thanh đối tượng
Hình 7: Một UI đơn giản trong Unity
Render Mode: Có hai chế độ render khác nhau mà tùy vào tình huốn sử
dụng của Canvas mà lựa chọn
- Screen Space - Overlay: Các thành phần UI được render trên cùng của
màn hình chơi, vì vậy khi có sự thay đổi về độ phân giải, hay kích thước thì các thành phần cũng thay đổi tương tự
Trang 21- Screen Space - Camera: Gần như tương tự như Overlay tuy nhiên việc
render phụ thuộc vào chế độ của Camera đang xử dụng
- World Space: Canvas được đối xử như một Trò chơi Object trên scene
2.4.2 Layout
Tất cả các thành phần UI đều được biểu diễn như một hình chữ nhật trên các Layout Người dùng sử dụng Rect Tool để tác động thay đổi như thay đổi kích thước, di chyển, xoay các UI
Hình 8: Các thông số của một Layout
- Rect Transform là thành phần cơ bản của mỗi đối tượng UI lưu dữ
thông tin về UI ấy trên Layout
- Pivot đóng vai trò điểm tựa để cho các thao tác như xoay, phóng thu
hình dựa theo thực hiện
- Anchors đóng vai trò là con neo vị trí tương đối của đối tượng UI với
Layout, đảm bảo khi layout thay đổi, các UI cũng thay đổi theo một cách hợp lý
2.4.3 Các đối tượng UI cơ bản Unity cung cấp
- Text: Biểu diễn chuỗi ký tự dưới định dạng rich text
- Image: biểu diễn một hình ảnh được chọn, có thể tùy chỉnh màu sắc, vật liệu
- Raw image: Image được đối xử như một Sprite còn raw image được xem như là texture trong Unity Hiếm khi xử dụng
- Mark: Mark được sử dụng để tùy chỉnh hiện thị ở các đối tượng UI con
so với đối tượng UI cha
- Effect: đây là một thành phần thêm các hiệu ứng vào các đối tượng UI