
ĐẠ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
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

1
ĐẠ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
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS. Nguyễn Việt Hà
Cán bộ đồng hướng dẫn: ThS. Vũ Quang Dũng
HÀ NỘI - 2009

i
Lời cảm ơn
Tôi xin gửi lời cảm ơn tới các thầy cô trong 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 là các thầy cô ở Bộ môn Công
nghệ Phần mềm đã giúp đỡ tôi trưởng thành trong những năm học tập và 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 và phòng thí
nghiệm TOSHIBA-COLTECH đã tạo điều kiện cho tôi tìm hiểu, nghiên cứu và học
hỏi những kinh nghiệm trong quá trình nghiên cứu và làm khoá luận.
Tôi xin gửi lời cảm ơn tới các bạn trong lớp K50CD, K50CNPM đã ủng hộ,
khuyến khích tôi trong suốt quá trình học tập tại trường.
Và lời cuối cùng, tôi xin bày tỏ lòng chân thành và biết ơn vô hạn tới cha mẹ, và
người thân, những người luôn ở bên cạnh tôi những lúc tôi khó khăn nhất, giúp tôi
vượt qua khó khăn trong học tập cũng như trong cuộc sống.
Hà Nội, ngày 10 tháng 05 năm 2009
Sinh viên
Hoàng Tuấn Hưng

ii
TÓM TẮT
Ngày nay, ngành công nghiệp Game đang trên đà phát triển nhanh chóng song
song với việc phát triển phần cứng. Game engine sẽ là một công cụ hữu ích cho việc
phát triển Game, nếu như các nhà phát triển mỗi khi bắt tay vào làm một Game nào đó
từ đầu thì sẽ rất vất vả và mất nhiều công sức. Với một Game engine thì công việc đó
trở nên đơn giản và nhanh hơn nhiều, nó sẽ cung cấp các API cho người phát triển
Game có thể sử dụng và tạo ra những hiệu ứng một cách nhanh chóng.
Khóa luận sẽ trình bày tổng quan kiến trúc về Game engine mà chúng tôi đang
xây dựng và đi chi tiết vào hai thành phần là quản lí tài nguyên trong Game và các
chuyển động của đối tượng.
Phần đầu sẽ giới thiệu một cách tổng quan nhất về hệ thống, các thành phần sẽ có
trong Game engine, và thiết kế cho các thành phần đó.
Phần thứ hai khóa luận dành để giới thiệu về các tài nguyên sẽ có trong Game
engine, tầm quan trọng của việc quản lí tài nguyên cho một hệ thống. Đặc biệt khóa
luận sẽ trình bày cách tổ chức và quản lí tài nguyên một cách hiệu quả nhất.
Phần thứ ba của khóa luận sẽ giới thiệu về các chuyển động của các đối tượng
trong Game, các kỹ thuật để có thể tạo ra được các loại chuyển động cho đối tượng và
cách triển khai các kỹ thuật vào trong Game engine.
Phần cuối cùng sẽ là tổng kết những kết quả đã đạt được của khóa luận, những
vấn đề còn tồn tại và hướng phát triển tiếp theo của đề tài.

iii
MỤC LỤC
MỞ ĐẦU...................................................................................................................1
Chương 1.ĐẶT VẤN ĐỀ ........................................................................................3
1.1.Bối cảnh nghiên cứu............................................................................................................. 3
1.2.Mục tiêu................................................................................................................................ 3
1.3.Giới thiệu chung................................................................................................................... 3
Chương 2.KIẾN TRÚC TỔNG THỂ.....................................................................6
2.1.Các dữ liệu cơ bản................................................................................................................ 7
2.2.Giao tiếp với hệ điều hành.................................................................................................. 8
2.3.Render Engine....................................................................................................................... 9
2.3.1.Khái quát về Render Engine .......................................................................................... 9
2.3.2.Kiến trúc của Render Engine ........................................................................................10
2.4. Các thành phần cò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 trong GEM ........................................................................................12
3.3. Liên kết giữa các thành phần............................................................................................13
3.4. Các thành phần trong Resource Manager........................................................................14
3.5. Biểu đồ lớp ..........................................................................................................................15
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 về animation ......................................................................................................23
4.3.Kỹ thuật tạo chuyển động nhân vật ..................................................................................23
4.3.1.Kỹ thuật nội suy Key-Frame.........................................................................................23
4.3.1.1. Giới thiệu..................................................................................................................24
4.3.1.2. Nội suy bậc 1 ............................................................................................................24
4.3.1.3. Nội suy bậc 2 ............................................................................................................25
4.3.1.4.Triển khai kỹ thuật key-frame ....................................................................................25
4.3.2.Kỹ thuật skinning ..........................................................................................................27
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

