Xây dựng game engine đa nền tảng quản lý khung cảnh

47 448 0
Xây dựng game engine đa nền tảng quản lý khung cảnh

Đ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

Tài liệu tham khảo công nghệ thông tin Xây dựng game engine đa nền tảng quản lý khung cảnh

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trương Đức Phương XÂY DỰNG GAME ENGINE ĐA NỀN TẢNG QUẢN LÝ KHUNG CẢNH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin HÀ NỘI - 2009 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trương Đức Phương XÂY DỰNG GAME ENGINE ĐA NỀN TẢNG QUẢN LÝ KHUNG CẢNH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thông tin Cán hướng dẫn: TS Nguyễn Việt Hà Cán đồng hướng dẫn : ThS Vũ Quang Dũng HÀ NỘI - 2009 Lời cảm ơn Tôi xin chân thành cảm ơn Tiến sĩ Nguyễn Việt Hà, Thạc sĩ Vũ Quang Dũng người trực tiếp, nhiệt tình hướng dẫn tơi hồn thành khóa luận tốt nghiệp Tơi xin gửi lời cảm ơn phịng thí nghiệm Toshiba-Coltech tạo mơi trường làm việc để nhóm chúng tơi tập trung nghiên cứu Tôi xin gửi lời cảm ơn tới tồn thể thầy giáo, giáo Trường Đại học Công Nghệ - Đai học Quốc gia Hà Nội người hết lịng dạy cho tơi kiến thức bổ ích năm học qua Xin cảm ơn gia đình người bạn dành cho tơi tình thương u hỗ trợ tốt Hà nội, ngày 22 tháng 05 năm 2009 Sinh viên Trương Đức Phương Tóm tắt nội dung Khái niệm Game Engine xuất thập kỉ 90 ngày trở thành thành phần quan trọng quy trình phát triển trị chơi điện tử Sự đời phát triển Game Engine mang đến cho game đại bước tiến nhảy vọt mặt : đồ họa, khả tương tác, độ chân thực… Khóa luận đề cập đến phương pháp triển khai module “Quản lý khung cảnh” dự án “Xây dựng Game Engine đa tảng” Cụ thể, chương chương mang đến cho người đọc nhìn tổng thể kiến trúc hệ thống Game Engine Sau đó, chương trình bày chi tiết module “Quản lý khung cảnh”, sâu vào cách tổ chức khung cảnh giai đoạn trình render khung cảnh Cuối thông tin kiểm thử thực nghiệm hiệu kỹ thuật triển khai hướng phát triển tương lai Mục lục Tóm tắt nội dung Bảng thuật ngữ Danh mục hình vẽ Chương Đặt vấn đề 1.1 Bối cảnh nghiên cứu 1.2 Mục tiêu 1.3 Giới thiệu chung Chương Kiến trúc tổng thể .4 2.1 Thành phần Các kiểu liệu 2.2 Thành phần Giao tiếp với hệ điều hành .7 2.3 Thành phần Render Engine .8 2.4 Các thành phần lại .10 Chương Quản lý khung cảnh 11 3.1 Khái niệm khung cảnh cách tổ chức khung cảnh 11 3.2 Thiết kế cấu trúc 13 3.3 Thiết kế chức 21 Chương Tổng kết 34 4.1 Kết 34 4.2 Hướng phát triển 37 Bảng thuật ngữ Thuật ngữ Ý nghĩa Axis aligned bounding box Là loại bounding volume có dạng hình hộp, cạnh dọc theo trục xyz Bounding Sphere Là loại bounding volume có dạng hình cầu Bounding Volume Là danh từ chung loại hình học đơn giản sử dụng để mơ tả khơng gian bao bọc hồn tồn vật thể Event Đơn vị truyền thơng liên tiến trình gửi đến Hệ điều hành Game Engine Middleware cung cấp giao diện đơn giản để phát triển game Mesh Là mạng lưới đa giác dùng để mơ tả hình dạng vật thể không gian chiều OpenGL Một chuẩn 3d graphic API Render Là việc từ liệu khung cảnh, đối tượng 3D, ta thực phép biến đổi, tính tốn để đưa hình ảnh 2D thu vị trí nhìn ( giống trình mắt người hay camera thu hình ảnh 2D từ mơi trường ) Texture Là một loạt ảnh dùng để tăng độ chi tiết cho đối tượng View Frustum Hình chóp cụt xác định khung nhìn camera Danh mục hình vẽ Hình 1: Kiến trúc phân tầng GEM Hình 2: Kiến trúc tổng thể Hình 3: Biểu đồ lớp thành phần Các kiểu liệu .5 Hình 4: Quá trình điều phối event .7 Hình 5: Kiến trúc phân tầng Render Engine Hình 6: Biểu đồ gói Render Engine Hình 7: Axis Aligned Bounding Box Bounding Sphere GEM 12 Hình 8: Ví dụ khung cảnh BHVs tương ứng 12 Hình 9: Biều đồ lớp module Quản lý khung cảnh .13 Hình 10: Lớp SceneNode 14 Hình 11: Lớp SolidMeshSceneNode 16 Hình 12: Hình ảnh Bàn cờ quân cờ dùng SolidMeshNode 17 Hình 13: Lớp CameraSceneNode 18 Hình 14: Lớp SkyboxSceneNode 19 Hình 15: Skybox .20 Hình 16: Lớp SceneGraphManager 20 Hình 17: Lớp RenderList RenderContext .21 Hình 18: Biều đồ hoạt động giai đoạn prepare-render 23 Hình 19: Biều đồ hoạt động giai đoạn Tính lại BVHs 25 Hình 20: Ví dụ minh họa khung hình 27 Hình 21: Biều đồ hoạt động giai đoạn view frustum culling .28 Hình 22: Ví dụ Bounding Sphere có d > R 29 Hình 23: Biều đồ hoạt động giai đoạn render render-list 32 Hình 24: Ví dụ minh họa vật thể bị chắn hồn toàn 33 Chương Đặt vấn đề 1.1 Bối cảnh nghiên cứu Ngành công nghiệp phát triển game giới phát triển vũ bão Cách 20 năm, game đơn giản cần người nhóm nhỏ người phát triển ngày nay, game đại với đồ họa khả tương tác ấn tượng thường phát triển đội ngũ đông đảo người thiết kế game, lập trình viên, nghệ sĩ… thời gian rịng rã từ đến ba năm Chính việc game ngày trở nên phức tạp nên nay, game thương mại khơng cịn phát triển từ nguyên thủy mà phát triển lên từ game engine Game engine hỗ trợ việc xây dựng game cách nhanh chóng, đơn giản đồng thời cung cấp khả tái sử dụng code cao phát triển nhiều game từ game engine Ở Việt Nam, Game online thực thâm nhập vào thị trường cách năm khoảng thời gian ỏi đó, có số lượng nhà phát hành game lên tới số hàng chục, số game phát hành tương ứng với số lượng Nhưng theo chúng tơi biết, gần tất game online phát hành Việt Nam nhập từ nước ngoài, chủ yếu Trung Quốc Hàn Quốc ( trừ số game nhỏ chơi web đánh bài, đánh cờ ) Một câu hỏi mà có lẽ tất người chơi game trăn trở “bao chơi game Việt Nam?” Chúng tơi chọn đề tài làm khóa luận tốt nghiệp với tham vọng lớn, muốn bước chân chập chững vào giới phát triển game rộng lớn, để thu lượm kiến thức lĩnh vực khó khăn đầy thú vị hi vọng tương lai khơng xa, chúng tơi góp phần sức lực giái đáp trăn trở cộng đồng người chơi game Việt Nam 1.2 Mục tiêu Xây dựng Game Engine đa chạy nhiều hệ điều hành khác nhau, hướng đến phân khúc phát triên game nhập vai trực tuyến (MMORPG) Game Engine đặt tên GEM Đây mục tiêu dài hạn, tại, thời gian làm luận văn khoảng tháng nên nhóm chúng tơi tập trung hồn thiện thành phần Render Engine Game Engine ( Xem chi tiết chương 2) 1.3 Giới thiệu chung Như giới thiệu trên, Game Engine lớp trung gian game tảng bên dưới, thư viện lập trình cấp thấp GEM game engine nên dĩ nhiên tuân thủ theo nguyên tắc Hình 1: Kiến trúc phân tầng GEM Đặt điểm GEM khả chạy đa nền.Để đặt điều đó, GEM sử dụng build tảng khác ( sử dụng thông dịch ) Các đoạn code phụ thuộc tảng phân chia việc sử dụng cờ tiền biên dịch, hạn chế tối đa việc sử dụng lớp abstract – việc làm giảm hiệu suất chương trình đáng kể [1] Cũng lí đo chạy đa nên chúng tơi lựa chọn openGL làm giao diện lập trình đồ họa 3D cấp thấp cho GEM, chuẩn openGL chuẩn mở không bị phụ thuộc vào hệ điều hành GEM thiết kế hướng đối tượng yêu cầu hiệu chạy cao nên sử dụng ngôn ngữ C++ - ngôn ngữ đáp ứng hoàn hảo điều kiện Đa số Game Engine giới phát triển ngôn ngữ C++ Chúng thiết kế GEM nhắm đến phân khúc phát triển game nhập vai trực tuyến, nên khả tương thích với phạm vi rộng cấu hình phần cứng điều kiện quan trọng, dự kiến support card đồ họa hỗ trợ openGL 1.4 shader 1.0 trở lên Bảng cấu hình tối thiểu dự kiến : Hãng sãn xuất Dịng card hỗ trợ nVidia Từ GeForce4 Ti trở lên ATI Từ Radeon 9500 trở lên Intel ( card tích hợp ) Từ Intel® GMA 3100 ( chipset G31,Q33) trở lên ... ? ?Quản lý khung cảnh? ?? dự án ? ?Xây dựng Game Engine đa tảng? ?? Cụ thể, chương chương mang đến cho người đọc nhìn tổng thể kiến trúc hệ thống Game Engine Sau đó, chương trình bày chi tiết module ? ?Quản. .. Quản lý tài nguyên module quản lý tài nguyên cần thiết để xây dựng khung cảnh 3D mesh, animated mesh, texture 2D, cubemap…Module bạn Hồng Tuấn Hưng trình bày khóa luận ? ?Xây dựng Game Engine đa. ..ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Trương Đức Phương XÂY DỰNG GAME ENGINE ĐA NỀN TẢNG QUẢN LÝ KHUNG CẢNH KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin

Ngày đăng: 23/11/2012, 15:04

Hình ảnh liên quan

Bảng các thuật ngữ - Xây dựng game engine đa nền tảng quản lý khung cảnh

Bảng c.

ác thuật ngữ Xem tại trang 6 của tài liệu.
Hình 1: Kiến trúc phân tầng của GEM. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 1.

Kiến trúc phân tầng của GEM Xem tại trang 9 của tài liệu.
Bảng cấu hình tối thiểu dự kiế n: - Xây dựng game engine đa nền tảng quản lý khung cảnh

Bảng c.

ấu hình tối thiểu dự kiế n: Xem tại trang 10 của tài liệu.
Hình 2: Kiến trúc tổng thể. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 2.

Kiến trúc tổng thể Xem tại trang 11 của tài liệu.
Hình 3: Biểu đồ lớp của thành phần Các kiểu dữ liệu cơ bản. Các kiểu dữ liệu này có thể chia thành 2 nhóm chính : - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 3.

Biểu đồ lớp của thành phần Các kiểu dữ liệu cơ bản. Các kiểu dữ liệu này có thể chia thành 2 nhóm chính : Xem tại trang 12 của tài liệu.
Hình 4: Quá trình điều phối event. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 4.

Quá trình điều phối event Xem tại trang 14 của tài liệu.
Hình 5: Kiến trúc phân tầng của Render Engine. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 5.

Kiến trúc phân tầng của Render Engine Xem tại trang 15 của tài liệu.
Hình 6: Biểu đồ gói của Render Engine. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 6.

Biểu đồ gói của Render Engine Xem tại trang 16 của tài liệu.
Hình 8: Ví dụ cây khung cảnh và BHVs tương ứng. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 8.

Ví dụ cây khung cảnh và BHVs tương ứng Xem tại trang 19 của tài liệu.
Hình 7: Axis Aligned BoundingBox và BoundingSphere trong GEM. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 7.

Axis Aligned BoundingBox và BoundingSphere trong GEM Xem tại trang 19 của tài liệu.
Hình 9: Biều đồ lớp của module Quản lý khung cảnh. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 9.

Biều đồ lớp của module Quản lý khung cảnh Xem tại trang 20 của tài liệu.
Hình 10: Lớp SceneNode. Các thuộc tính chính : - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 10.

Lớp SceneNode. Các thuộc tính chính : Xem tại trang 21 của tài liệu.
SolidMeshSceneNode loại node dành cho các đối tượng có mô hình cố định (thường là các đồ vật ) - Xây dựng game engine đa nền tảng quản lý khung cảnh

olid.

MeshSceneNode loại node dành cho các đối tượng có mô hình cố định (thường là các đồ vật ) Xem tại trang 23 của tài liệu.
Hình 12: Hình ảnh Bàn cờ và các quân cờ dùng SolidMeshNode. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 12.

Hình ảnh Bàn cờ và các quân cờ dùng SolidMeshNode Xem tại trang 24 của tài liệu.
Hình 13: Lớp CameraSceneNode. Các thuộc tính chính :  - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 13.

Lớp CameraSceneNode. Các thuộc tính chính : Xem tại trang 25 của tài liệu.
Hình 14: Lớp SkyboxSceneNode. Các thuộc tính chính :  - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 14.

Lớp SkyboxSceneNode. Các thuộc tính chính : Xem tại trang 26 của tài liệu.
Hình 15: Skybox. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 15.

Skybox Xem tại trang 27 của tài liệu.
Hình 17: Lớp RenderList và RenderContext. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 17.

Lớp RenderList và RenderContext Xem tại trang 28 của tài liệu.
Hình 18: Biều đồ hoạt động của giai đoạn prepare-render. Quá trình prepare-render trải qua các bước như sau : - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 18.

Biều đồ hoạt động của giai đoạn prepare-render. Quá trình prepare-render trải qua các bước như sau : Xem tại trang 30 của tài liệu.
Hình 19: Biều đồ hoạt động của giai đoạn Tính lại BVHs. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 19.

Biều đồ hoạt động của giai đoạn Tính lại BVHs Xem tại trang 32 của tài liệu.
Hình 20: Ví dụ minh họa khung hình. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 20.

Ví dụ minh họa khung hình Xem tại trang 34 của tài liệu.
Hình 21: Biều đồ hoạt động giai đoạn view frustum culling. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 21.

Biều đồ hoạt động giai đoạn view frustum culling Xem tại trang 35 của tài liệu.
Hình 22: Ví dụ một BoundingSphere có d > R. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 22.

Ví dụ một BoundingSphere có d > R Xem tại trang 37 của tài liệu.
Hình 23: Biều đồ hoạt động của giai đoạn render từng render-list. Quá trình render các render list như sau : - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 23.

Biều đồ hoạt động của giai đoạn render từng render-list. Quá trình render các render list như sau : Xem tại trang 39 của tài liệu.
Hình 24: Ví dụ minh họa một vật thể bị chắn hoàn toàn. - Xây dựng game engine đa nền tảng quản lý khung cảnh

Hình 24.

Ví dụ minh họa một vật thể bị chắn hoàn toàn Xem tại trang 40 của tài liệu.
Cấu hình máy thử nghiệm : CPU : T7100 (1.8GHz x 2) RAM : 2 GB - Xây dựng game engine đa nền tảng quản lý khung cảnh

u.

hình máy thử nghiệm : CPU : T7100 (1.8GHz x 2) RAM : 2 GB Xem tại trang 41 của tài liệu.
Bảng đánh giá thời gian thực thi giai đoạn View frustum culling : - Xây dựng game engine đa nền tảng quản lý khung cảnh

ng.

đánh giá thời gian thực thi giai đoạn View frustum culling : Xem tại trang 42 của tài liệu.
Hình ảnh một khung cảnh trong nhà : - Xây dựng game engine đa nền tảng quản lý khung cảnh

nh.

ảnh một khung cảnh trong nhà : Xem tại trang 43 của tài liệu.
Bảng các kí hiệu UML - Xây dựng game engine đa nền tảng quản lý khung cảnh

Bảng c.

ác kí hiệu UML Xem tại trang 45 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan