Hướng đi cho xây dựng game đa nền tảng
- 11 trang
- file .docx
Họ - tên: Lê Ngọc Hảo.
MSSV:
Môn học: Văn phong kỹ thuật.
Unity3D: Hướng đi cho xây dựng Game đa nền tảng
I. Tổng Quan
Trong thời đại công nghệ thông tin như hiện nay, sản phẩm công nghệ ngày càng
chịu sự đánh giá khắt khe của người dung, đặc biệt là sản phẩm Game được nhận
rất nhiều đánh giá từ các Game thủ, hay các người dung bình thường. Điều đó đưa
đến yêu cầu đối với một Game được phát hành, đội ngũ phát triển Game ngày càng
cao.
Lập trình Game là một trong những mảng khó khăn nhất trong lập trình máy tính –
bạn cần phải nắm vững chuyển động, đồ họa lập trình, cấu trúc dữ liệu, lập trình
hướng đối tượng… và còn nhiều thứ nữa. Nhưng với công cụ thích hợp, chiến lược
đúng đắn, bạn sẽ ngạc nhiên vì những thứ bạn có thể làm.
Unity3D là mảnh ghép mới của công nghệ, có thể giúp bạn phát triển Game dễ
dàng và đơn giản hơn. Unity là công cụ sản xuất trò chơi hoặc là một phần mềm
được viết để thiết kế và xây dựng các trò chơi điện tử (Game Engine).
II. Giới Thiệu
1. Sơ lược về Game Engine
Một Game Engine là một phần mềm được viết với mục đích thiết và xây dựng
Game. Chức năng cốt lõi phần lớn nằm trong hệ thống dựng hình (Rendering
System) cho các hình ảnh 2D, 3D, hệ thống vật lý (Physics System), hệ thống giao
diện người dung (UI System) và một số bộ phận khác [1]. Quá trình làm Game được
tiết kiệm rất nhiều kinh phí và thời gian khi có thể tái sử dụng, thích ứng một
Game Engine để tạo ra nhiều Game khác nhau.
Game Engine cung cấp các bộ công cụ trực quan và có thể tái sử dụng từng thành
phần đó. Nói chung các bộ công cụ này cung cấp một môi trường phát triển được
tích hợp đơn giản hóa. Những Game Engine này đôi khi còn được gọi là các phần
mềm trung gian cho Game (Game Middleware), như ý nghĩa của thuật ngữ, nó
cung cấp một nền tảng dễ sử dụng lại với mọi chức năng cốt lõi cần thiết ngay
trong nó để phát triển một Game hoàn chỉnh, đồng thời giảm giá thành, độ phức
tạp và thời gian phát triển – tất cả các yếu tố quan trọng trong nền công nghiệp
Game đầy cạnh tranh.
Một số Game nổi tiếng và Game Engine để phát hành nó như [2]:
Games: Dota 2, Half Life 2 series, Counter-Strike: Source, Counter-Strike: Global
Offensive, Left4Dead, Left4Dead 2, Portal 1 and 2
Game Engine: Source Engine
Game: Hitman Absolution
Game Engine: Glacier 2
Game: Battlefield: Bad Company 2, Battlefield 3, Need for Speed: The Run
Game Engine: FrostBite
Games: Mass Effect Series, Dishonored, Bioshock Infinite, Batman: Arkham
Asylum and City and hundreds more
Game Engine: Unreal Engine
Game: Crysis 2 and 3
Game Engine: CryEngine
Game: Liên Quân Mobile, Osiris: New Dawn
Game Engine: Unity3D
2. Sơ lược về Unity
Hình II.1 Logo Unity
Unity Technologies được thành lập vào ngày 2 tháng 8 năm 2004 bởi David
Helgason (CEO), Nicholas Francis (CCO) và Joachim Ante (CTO)
tại Copenhagen , Đan Mạch. Unity Technologies đã nhận được tài trợ từ
những người như Sequoia Capital , WestSummit Capital và
iGlobe Partners. [3]
Phiên bản mới nhất: Unity 2018.3.11 và Unity 2019.2.0 Alpha 9.
Ngôn ngữ sử dụng: C#.
Phát triển Game đa nền tảng: Windows, Mac OS X, Android, IOS, WebGL,
Xbox 360, PS3…
Website: www.Unity3D.com
Unity là một Game Engine rất mạnh, hỗ trợ phát triển đa nền tảng như Web,
Andoid, IOS… Đồng thời Unity không yêu cầu cấu hình máy quá cao và có hỗ trợ
các nhà phát triển với phiên bản Free.
Với lượng người dung lớn nên tài liệu Unity3D cũng rất nhiều trên mạng, với
nhiều tutorials, sách hướng dẫn được cung cấp bởi đội phát triển của Unity3D và
các người dùng Unity. Dễ dàng cho người mới bắt đầu.
Unity3D là phần mềm làm Game trực tiếp chạy theo thời gian thực mà không cần
render, cho phép người dùng có thể thiết kế các Interface Graphics, Character hay
Map từ các phần mềm thứ 2 (thường là các phần mềm thiết kế đồ họa như:
Photoshop CS6, 3DsMax, Blender, Cinema4D, Maya…) sau đó chỉ cần import vào
Unity dưới định dạng như *.FBX, *.PNG, *.3DS tùy vào loại cần đưa vào.
Một thế mạnh nữa của Unity là bạn có thể chạy demo Game ngay trên Editor
(Sence, Game Editor) mà không cần phải build ra để chạy trên các device hoặc
máy ảo. Điều đó làm cho việc phát triển và testing thuận lợi hơn rất nhiều.
III. Một số đặc điểm và tính năng của Unity
1. Rendering và Lighting
Unity hỗ trợ Windows đồ họa DirectX 11 API nhằm cải thiện hiệu suất tính toán
Shaders (bóng của vật thể), trong đó cung cấp khả năng sử dụng CPU và GPU
song song và thêm chi tiết phong phú hơn với các mô hình, thế giới, vật thể trong
Game.
Để tạo độ hoang dã cho Game, Unity sử dụng kỹ thuật vượt trước ánh sáng để cho
ánh sáng cao hơn và độ trung thực của bóng tối của vật thể.
Các đối tượng được render qua Camera theo các Layer giúp người dùng dễ sắp
xếp, tùy chỉnh.
Ánh sáng là một yếu tố thiết yếu giúp môi trường đẹp hơn, thực tế hơn. Unity cung
cấp hỗ trợ các dạng Lighting đa dạng như Point Light (điểm sáng), Direction Light
(Nguồn sáng có hướng) ... Một số công cụ và kỹ thuật ánh sáng mà Unity hỗ trợ
như: LightMapping, Realtime Shadows, Lens Flares.
Một số hỗ trợ:
Unity cung cấp sẵn hơn 100 Shaders với đầy đủ các loại phổ biến nhất.
Hỗ trợ Surface Shaders, Occlusion Culling, GLSL Optimizer.
Hỗ trợ LOD.
2. Physics
PhysX là một Engine cực mạnh về xử lý vật lý và va chạm được phát triển bởi nhà
phát triển Card đồ họa hàng đầu thế giới NVIDIA. Unity tích hợp Engine này
nhằm đảm nhiệm mọi vấn đề về vật lý và va chạm. Một số tính năng vật lý được
hỗ trợ bởi Unity như: Rigidbody, Ragdolls, Collider, Cloths, Joint...
3. Terrains
Terrains gọi chung là địa hình, bao gồm nền đất, núi sông... trong mỗi trường trò
chơi mà trên đó các đối tượng như cây cỏ được dựng lên.
Unity cung cấp một bộ công cụ giúp tùy chỉnh một cách tinh tế như nâng hạ địa
hình, kéo dãn địa hình. Bên cạnh đó công cụ còn cung cấp chổi vẽ với các kích
thước khác nhau, có nhiều thông số để tùy chỉnh các kết cấu địa hình.
Cùng Terrains Tools và Tree Creator là một công cụ giúp xây dựng cây cỏ trên địa
hình một cách tuyệt vời với đủ loại hình, kích thước.
MSSV:
Môn học: Văn phong kỹ thuật.
Unity3D: Hướng đi cho xây dựng Game đa nền tảng
I. Tổng Quan
Trong thời đại công nghệ thông tin như hiện nay, sản phẩm công nghệ ngày càng
chịu sự đánh giá khắt khe của người dung, đặc biệt là sản phẩm Game được nhận
rất nhiều đánh giá từ các Game thủ, hay các người dung bình thường. Điều đó đưa
đến yêu cầu đối với một Game được phát hành, đội ngũ phát triển Game ngày càng
cao.
Lập trình Game là một trong những mảng khó khăn nhất trong lập trình máy tính –
bạn cần phải nắm vững chuyển động, đồ họa lập trình, cấu trúc dữ liệu, lập trình
hướng đối tượng… và còn nhiều thứ nữa. Nhưng với công cụ thích hợp, chiến lược
đúng đắn, bạn sẽ ngạc nhiên vì những thứ bạn có thể làm.
Unity3D là mảnh ghép mới của công nghệ, có thể giúp bạn phát triển Game dễ
dàng và đơn giản hơn. Unity là công cụ sản xuất trò chơi hoặc là một phần mềm
được viết để thiết kế và xây dựng các trò chơi điện tử (Game Engine).
II. Giới Thiệu
1. Sơ lược về Game Engine
Một Game Engine là một phần mềm được viết với mục đích thiết và xây dựng
Game. Chức năng cốt lõi phần lớn nằm trong hệ thống dựng hình (Rendering
System) cho các hình ảnh 2D, 3D, hệ thống vật lý (Physics System), hệ thống giao
diện người dung (UI System) và một số bộ phận khác [1]. Quá trình làm Game được
tiết kiệm rất nhiều kinh phí và thời gian khi có thể tái sử dụng, thích ứng một
Game Engine để tạo ra nhiều Game khác nhau.
Game Engine cung cấp các bộ công cụ trực quan và có thể tái sử dụng từng thành
phần đó. Nói chung các bộ công cụ này cung cấp một môi trường phát triển được
tích hợp đơn giản hóa. Những Game Engine này đôi khi còn được gọi là các phần
mềm trung gian cho Game (Game Middleware), như ý nghĩa của thuật ngữ, nó
cung cấp một nền tảng dễ sử dụng lại với mọi chức năng cốt lõi cần thiết ngay
trong nó để phát triển một Game hoàn chỉnh, đồng thời giảm giá thành, độ phức
tạp và thời gian phát triển – tất cả các yếu tố quan trọng trong nền công nghiệp
Game đầy cạnh tranh.
Một số Game nổi tiếng và Game Engine để phát hành nó như [2]:
Games: Dota 2, Half Life 2 series, Counter-Strike: Source, Counter-Strike: Global
Offensive, Left4Dead, Left4Dead 2, Portal 1 and 2
Game Engine: Source Engine
Game: Hitman Absolution
Game Engine: Glacier 2
Game: Battlefield: Bad Company 2, Battlefield 3, Need for Speed: The Run
Game Engine: FrostBite
Games: Mass Effect Series, Dishonored, Bioshock Infinite, Batman: Arkham
Asylum and City and hundreds more
Game Engine: Unreal Engine
Game: Crysis 2 and 3
Game Engine: CryEngine
Game: Liên Quân Mobile, Osiris: New Dawn
Game Engine: Unity3D
2. Sơ lược về Unity
Hình II.1 Logo Unity
Unity Technologies được thành lập vào ngày 2 tháng 8 năm 2004 bởi David
Helgason (CEO), Nicholas Francis (CCO) và Joachim Ante (CTO)
tại Copenhagen , Đan Mạch. Unity Technologies đã nhận được tài trợ từ
những người như Sequoia Capital , WestSummit Capital và
iGlobe Partners. [3]
Phiên bản mới nhất: Unity 2018.3.11 và Unity 2019.2.0 Alpha 9.
Ngôn ngữ sử dụng: C#.
Phát triển Game đa nền tảng: Windows, Mac OS X, Android, IOS, WebGL,
Xbox 360, PS3…
Website: www.Unity3D.com
Unity là một Game Engine rất mạnh, hỗ trợ phát triển đa nền tảng như Web,
Andoid, IOS… Đồng thời Unity không yêu cầu cấu hình máy quá cao và có hỗ trợ
các nhà phát triển với phiên bản Free.
Với lượng người dung lớn nên tài liệu Unity3D cũng rất nhiều trên mạng, với
nhiều tutorials, sách hướng dẫn được cung cấp bởi đội phát triển của Unity3D và
các người dùng Unity. Dễ dàng cho người mới bắt đầu.
Unity3D là phần mềm làm Game trực tiếp chạy theo thời gian thực mà không cần
render, cho phép người dùng có thể thiết kế các Interface Graphics, Character hay
Map từ các phần mềm thứ 2 (thường là các phần mềm thiết kế đồ họa như:
Photoshop CS6, 3DsMax, Blender, Cinema4D, Maya…) sau đó chỉ cần import vào
Unity dưới định dạng như *.FBX, *.PNG, *.3DS tùy vào loại cần đưa vào.
Một thế mạnh nữa của Unity là bạn có thể chạy demo Game ngay trên Editor
(Sence, Game Editor) mà không cần phải build ra để chạy trên các device hoặc
máy ảo. Điều đó làm cho việc phát triển và testing thuận lợi hơn rất nhiều.
III. Một số đặc điểm và tính năng của Unity
1. Rendering và Lighting
Unity hỗ trợ Windows đồ họa DirectX 11 API nhằm cải thiện hiệu suất tính toán
Shaders (bóng của vật thể), trong đó cung cấp khả năng sử dụng CPU và GPU
song song và thêm chi tiết phong phú hơn với các mô hình, thế giới, vật thể trong
Game.
Để tạo độ hoang dã cho Game, Unity sử dụng kỹ thuật vượt trước ánh sáng để cho
ánh sáng cao hơn và độ trung thực của bóng tối của vật thể.
Các đối tượng được render qua Camera theo các Layer giúp người dùng dễ sắp
xếp, tùy chỉnh.
Ánh sáng là một yếu tố thiết yếu giúp môi trường đẹp hơn, thực tế hơn. Unity cung
cấp hỗ trợ các dạng Lighting đa dạng như Point Light (điểm sáng), Direction Light
(Nguồn sáng có hướng) ... Một số công cụ và kỹ thuật ánh sáng mà Unity hỗ trợ
như: LightMapping, Realtime Shadows, Lens Flares.
Một số hỗ trợ:
Unity cung cấp sẵn hơn 100 Shaders với đầy đủ các loại phổ biến nhất.
Hỗ trợ Surface Shaders, Occlusion Culling, GLSL Optimizer.
Hỗ trợ LOD.
2. Physics
PhysX là một Engine cực mạnh về xử lý vật lý và va chạm được phát triển bởi nhà
phát triển Card đồ họa hàng đầu thế giới NVIDIA. Unity tích hợp Engine này
nhằm đảm nhiệm mọi vấn đề về vật lý và va chạm. Một số tính năng vật lý được
hỗ trợ bởi Unity như: Rigidbody, Ragdolls, Collider, Cloths, Joint...
3. Terrains
Terrains gọi chung là địa hình, bao gồm nền đất, núi sông... trong mỗi trường trò
chơi mà trên đó các đối tượng như cây cỏ được dựng lên.
Unity cung cấp một bộ công cụ giúp tùy chỉnh một cách tinh tế như nâng hạ địa
hình, kéo dãn địa hình. Bên cạnh đó công cụ còn cung cấp chổi vẽ với các kích
thước khác nhau, có nhiều thông số để tùy chỉnh các kết cấu địa hình.
Cùng Terrains Tools và Tree Creator là một công cụ giúp xây dựng cây cỏ trên địa
hình một cách tuyệt vời với đủ loại hình, kích thước.