Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

53 453 0
Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Đ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ý tài nguyên và chuyển động của các đối tượng

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Hoàng Tuấn Hưng XÂY DỰNG GAME ENGINE ĐA NỀN TẢNG QUẢN LÝ TÀI NGUYÊN VÀ CHUYỂN ĐỘNG CỦA CÁC ĐỐI TƯỢNG KHỐ 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Ệ Hoàng Tuấn Hưng XÂY DỰNG GAME ENGINE ĐA NỀN TẢNG QUẢN LÝ TÀI NGUYÊN VÀ CHUYỂN ĐỘNG CỦA CÁC ĐỐI TƯỢNG KHỐ 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 gửi lời cảm ơn tới thầy cô khoa Công nghệ Thông tin trường Đại học Công Nghệ, Đại học Quốc Gia Hà Nội, đặc biệt thầy cô Bộ môn Công nghệ Phần mềm giúp đỡ trưởng thành năm học tập rèn luyện môi trường đại học Xin chân thành cảm ơn thầy Nguyễn Việt Hà, thầy Vũ Quang Dũng phịng thí nghiệm TOSHIBA-COLTECH tạo điều kiện cho tơi tìm hiểu, nghiên cứu học hỏi kinh nghiệm trình nghiên cứu làm khố luận Tơi xin gửi lời cảm ơn tới bạn lớp K50CD, K50CNPM ủng hộ, khuyến khích tơi suốt q trình học tập trường Và lời cuối cùng, tơi xin bày tỏ lịng chân thành biết ơn vô hạn tới cha mẹ, người thân, người bên cạnh lúc tơi khó khăn nhất, giúp tơi vượt qua khó khăn học tập sống Hà Nội, ngày 10 tháng 05 năm 2009 Sinh viên Hoàng Tuấn Hưng i TĨM TẮT Ngày nay, ngành cơng nghiệp Game đà phát triển nhanh chóng song song với việc phát triển phần cứng Game engine cơng cụ hữu ích cho việc phát triển Game, nhà phát triển bắt tay vào làm Game từ đầu vất vả nhiều công sức Với Game engine cơng việc trở nên đơn giản nhanh nhiều, cung cấp API cho người phát triển Game sử dụng tạo hiệu ứng cách nhanh chóng Khóa luận trình bày tổng quan kiến trúc Game engine mà xây dựng chi tiết vào hai thành phần quản lí tài nguyên Game chuyển động đối tượng Phần đầu giới thiệu cách tổng quan hệ thống, thành phần có Game engine, thiết kế cho thành phần Phần thứ hai khóa luận dành để giới thiệu tài nguyên có Game engine, tầm quan trọng việc quản lí tài nguyên cho hệ thống Đặc biệt khóa luận trình bày cách tổ chức quản lí tài nguyên cách hiệu Phần thứ ba khóa luận giới thiệu chuyển động đối tượng Game, kỹ thuật để tạo loại chuyển động cho đối tượng cách triển khai kỹ thuật vào Game engine Phần cuối tổng kết kết đạt khóa luận, vấn đề tồn hướng phát triển đề tài ii MỤC LỤC MỞ ĐẦU Chương 1.ĐẶT VẤN ĐỀ 1.1.Bối cảnh nghiên cứu .3 1.2.Mục tiêu 1.3.Giới thiệu chung .4 Chương 2.KIẾN TRÚC TỔNG THỂ .6 2.1.Các liệu 2.2.Giao tiếp với hệ điều hành 2.3.Render Engine 2.3.1.Khái quát Render Engine 2.3.2.Kiến trúc Render Engine 10 2.4 Các thành phần lại 11 Chương 3.QUẢN LÝ TÀI NGUYÊN 12 3.1.Giới thiệu .12 3.2 Quản lý tài nguyên GEM 12 3.3 Liên kết thành phần .14 3.4 Các thành phần Resource Manager 15 3.5 Biểu đồ lớp 16 3.5.1.Quản lý Mesh 16 3.5.2.Quản lý Texture 17 3.5.3.Quản lý Effect 19 3.5.4.Quản lý AnimatedMesh 20 3.5.5.Quản lý Material .21 Chương 4.CHUYỂN ĐỘNG CỦA CÁC ĐỐI TƯỢNG 23 4.1.Giới thiệu .23 4.2.Khái quát animation .23 4.3.Kỹ thuật tạo chuyển động nhân vật 24 4.3.1.Kỹ thuật nội suy Key-Frame 24 4.3.1.1 Giới thiệu 24 4.3.1.2 Nội suy bậc .25 4.3.1.3 Nội suy bậc .25 4.3.1.4.Triển khai kỹ thuật key-frame 25 4.3.2.Kỹ thuật skinning 28 4.3.2.1.Giới thiệu 28 4.3.2.2 Kỹ thuật Skeletal Subspace Deformation 29 4.3.2.3 Kỹ thuật Animation Space 31 iii 4.3.2.4 Kỹ thuật Multi-Weight Enveloping 32 4.3.2.5.Triển khai skinning 33 Chương 5.THỰC NGHIỆM 35 5.1 Demo key-frame 35 5.2 Demo Skinning 38 Chương 6.KẾT LUẬN 39 6.1.Kết đạt 39 6.2.Định hướng tương lai 39 PHỤ LỤC 40 TÀI LIỆU THAM KHẢO .44 iv BẢNG CÁC CHỮ VIẾT TẮT API Application Programming Interface CPU Central Processing Unit GPU graphics processing unit LBS Linear Blend Skinning MWE Multi-Weight Enveloping SBS Spherical Blend Skinning SSD Skeletal Subspace Deformation v DANH MỤC CÁC HÌNH VẼ BẢNG BIỂU Hình Kiến trúc phân tầng GEM Hình Kiến trúc tổng thể Hình Biểu đồ lớp thành phần kiểu liệu .7 Hình Quá trình điều phối event Hình Kiến trúc phân tầng Render Engine 10 Hình Biểu đồ gói Render Engine .10 Hình Mơ hình quan hệ với thành phần khác 12 Hình 8.Ví dụ Mesh Bank 13 Hình Mơ hình liên kết với thành phần khác .14 Hình 10 Các thành phần Resource manager 15 Hình 11 Biểu đồ lớp Mesh MeshBank 16 Hình 12 Biểu đồ lớp Texture TextureBank 17 Hình 13 Biểu đồ lớp Effect EffectBank .19 Hình 14 Biểu đồ lớp AnimatedMesh AnimatedMeshBank 20 Hình 15 Biểu đồ lớp Material 21 Hình 16 Ví dụ key-frame 24 Hình 17 Nội suy bậc bậc 25 Hình 18 Mơ hình tổ chức loại animation 26 Hình 19 Biểu đồ lớp KeyFrame 27 Hình 20.Ví dụ Skinning .28 Hình 21 Thành phần nhân vật 29 Hình 22 Hạn chế kỹ thuật SSD 30 Hình 23 Sử dụng kỹ thuật SSD 31 Hình 24 Sử dụng kỹ thuật SBS 31 Hình 25 Sơ đồ chuyển trục tọa độ .32 Hình 26 Mơ hình tổ chức khung xương 34 Hình 27 Demo key-frame 37 Hình 28 Demo Skinning 38 vi vii MỞ ĐẦU Trong thời đại công nghệ thông tin nay, sản phẩm công nghệ ngày chịu đánh giá khắt khe từ phía người dùng, đặc biệt sản phẩm Game nhận nhiều đánh giá từ phía game thủ, người chơi bình thường Ngành cơng nghiệp game nói bùng nổ, với tốc độ phát triển đến chóng mặt, nhiều game hay hấp dẫn đời thời gian qua Đằng sau Game phát triển tiếng có Game Engine Game engine công cụ hỗ trợ, middleware giúp người phát triển viết game cách nhanh chóng, đơn giản đồng thời cung cấp khả tái sử dụng mã nguồn cao phát triển nhiều game từ game engine Tại Việt Nam, ngành công nghiệp Game phát triển đa số phát hành Game chủ yếu, việc xây dựng Game Engine gần chưa có Đây lĩnh vực tiềm năng, hứa hẹn phát triển nhanh Việt Nam thời gian tới Từ xu hướng phát triển trên, khóa luận tập trung nghiên cứu xây dựng Game engine để phát triển Việt Nam Hiện Game engine tiếng nhiều, nhiên giá thành Game engine nhỏ, nhóm phát triển muốn xây dựng Game engine phục vụ cho người đam mê làm Game khơng đủ tài để mua Game engine thương mại Khóa luận tập trung sâu vào hai thành phần Game engine là: quản lí tài ngun chuyển động đối tượng Trong phần mềm, việc quản lí tài ngun ln xem xét cân nhắc cẩn thận để quản lí cách hiệu nhất, đặc biệt Game vấn đề cấp thiết hết Một Game muốn phát triển phải quản lí tài nguyên tốt, hạn chế tới mức tối đa sử dụng tài nguyên máy tính người chơi để tăng tốc cho chương trình Cần có chế cấp phát giải phóng nhớ cách hiệu Trong Game phải có đối tượng chuyển động, cần có cách thức phương pháp để quản lí tạo nhân vật có chuyển động Khóa luận tập trung vào nghiên cứu kỹ thuật để tạo chuyển động cho nhân vật chuyển động ngày giống với chuyển động người, tạo hiệu ứng tốt cho Game ... QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Hoàng Tuấn Hưng XÂY DỰNG GAME ENGINE ĐA NỀN TẢNG QUẢN LÝ TÀI NGUYÊN VÀ CHUYỂN ĐỘNG CỦA CÁC ĐỐI TƯỢNG KHỐ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công... ? ?Xây dựng Game Engine đa tảng –Mô tự nhiên” - Trần Thái Dương - Chuyển động đối tượng module mở rộng thành phần Quản lý khung cảnh, thực trình nội suy mơ hình chuyển động ( thường nhân vật game. .. nghiên cứu xây dựng Game engine để phát triển Việt Nam Hiện Game engine tiếng nhiều, nhiên giá thành Game engine nhỏ, nhóm phát triển muốn xây dựng Game engine phục vụ cho người đam mê làm Game khơng

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

Hình ảnh liên quan

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ý tài nguyên và chuyển động của các đối tượng

Hình 1..

Kiến trúc phân tầng của GEM Xem tại trang 14 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ý tài nguyên và chuyển động của các đối tượng

Bảng c.

ấu hình tối thiểu dự kiến Xem tại trang 15 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ý tài nguyên và chuyển động của các đối tượng

Hình 2..

Kiến trúc tổng thể Xem tại trang 16 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ý tài nguyên và chuyển động của các đối tượng

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 17 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ý tài nguyên và chuyển động của các đối tượng

Hình 4..

Quá trình điều phối event Xem tại trang 19 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ý tài nguyên và chuyển động của các đối tượng

Hình 6..

Biểu đồ gói của Render Engine Xem tại trang 20 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ý tài nguyên và chuyển động của các đối tượng

Hình 5..

Kiến trúc phân tầng của Render Engine Xem tại trang 20 của tài liệu.
Chương 3.QUẢN LÝ TÀI NGUYÊN - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

h.

ương 3.QUẢN LÝ TÀI NGUYÊN Xem tại trang 22 của tài liệu.
Hình 8.Ví dụ MeshBank - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 8..

Ví dụ MeshBank Xem tại trang 23 của tài liệu.
Hình 9. Mô hình liên kết với các thành phần khác - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 9..

Mô hình liên kết với các thành phần khác Xem tại trang 24 của tài liệu.
Hình 10. Các thành phần trong Resource manager - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 10..

Các thành phần trong Resource manager Xem tại trang 25 của tài liệu.
Hình 11. Biểu đồ lớp Mesh và MeshBank - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 11..

Biểu đồ lớp Mesh và MeshBank Xem tại trang 26 của tài liệu.
Hình 12. Biểu đồ lớp Texture và TextureBank - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 12..

Biểu đồ lớp Texture và TextureBank Xem tại trang 27 của tài liệu.
Hình 13. Biểu đồ lớp Effect và EffectBank - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 13..

Biểu đồ lớp Effect và EffectBank Xem tại trang 29 của tài liệu.
Hình 14. Biểu đồ lớp AnimatedMesh và AnimatedMeshBank - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 14..

Biểu đồ lớp AnimatedMesh và AnimatedMeshBank Xem tại trang 30 của tài liệu.
Hình 15. Biểu đồ lớp Material - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 15..

Biểu đồ lớp Material Xem tại trang 31 của tài liệu.
Hình 16. Ví dụ key-frame - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 16..

Ví dụ key-frame Xem tại trang 34 của tài liệu.
Hình 17. Nội suy bậc 1 và bậc 2 - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 17..

Nội suy bậc 1 và bậc 2 Xem tại trang 35 của tài liệu.
Hình 18. Mô hình tổ chức các loại animation - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 18..

Mô hình tổ chức các loại animation Xem tại trang 36 của tài liệu.
Mô hình lớp của các đối tượng sử dụng key-frame: - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

h.

ình lớp của các đối tượng sử dụng key-frame: Xem tại trang 37 của tài liệu.
Hình 20.Ví dụ Skinning - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 20..

Ví dụ Skinning Xem tại trang 38 của tài liệu.
Hình 22. Hạn chế kỹ thuật SSD - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 22..

Hạn chế kỹ thuật SSD Xem tại trang 40 của tài liệu.
Hình 25. Sơ đồ chuyển trục tọa độ - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 25..

Sơ đồ chuyển trục tọa độ Xem tại trang 42 của tài liệu.
Ta sẽ quản lý khung xương theo dạng cây như hình dưới: - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

a.

sẽ quản lý khung xương theo dạng cây như hình dưới: Xem tại trang 43 của tài liệu.
Hình 26. Mô hình tổ chức khung xương Các node có thể là: bone, joint. - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 26..

Mô hình tổ chức khung xương Các node có thể là: bone, joint Xem tại trang 44 của tài liệu.
- Số lượng fps cho 1s (số lượng khung hình) - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

l.

ượng fps cho 1s (số lượng khung hình) Xem tại trang 45 của tài liệu.
Hình 27. Demo key-frame - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 27..

Demo key-frame Xem tại trang 47 của tài liệu.
Hình 28. Demo Skinning - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

Hình 28..

Demo Skinning Xem tại trang 48 của tài liệu.
Key-frame Khung hình cơ sở để xây dựng animation - Xây dựng game engine đa nền tảng quản lý tài nguyên và chuyển động của các đối tượng

ey.

frame Khung hình cơ sở để xây dựng animation Xem tại trang 50 của tài liệu.

Từ khóa liên quan

Trích đoạn

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

Tài liệu liên quan