ĐẠI HC QUC GIA HÀ NI
TRƯỜNG ĐẠI HC CÔNG NGH
Hoàng Tuấn ng
XÂY DỰNG GAME ENGINE ĐA NỀN TNG
QUN LÝ TÀI NGUYÊN VÀ CHUYỂN ĐỘNG CA
CÁC ĐỐI TƯỢNG
KHOÁ LUN TT NGHIỆP ĐẠI HC H CHÍNH QUY
Ngành: Công ngh thông tin
HÀ NI - 2009
1
ĐẠI HC QUC GIA HÀ NI
TRƯỜNG ĐẠI HC CÔNG NGH
Hoàng Tuấn ng
XÂY DỰNG GAME ENGINE ĐA NỀN TNG
QUN LÝ TÀI NGUYÊN VÀ CHUYỂN ĐỘNG CA
CÁC ĐỐI TƯỢNG
KHOÁ LUN TT NGHIỆP ĐẠI HC H CHÍNH QUY
Ngành: Công ngh thông tin
n bộ hướng dn: TS. Nguyn Vit Hà
n bộ đồng hướng dn: ThS. Vũ Quang Dũng
HÀ NI - 2009
i
Li cm ơn
Tôi xin gi li cm ơn ti các thy trong khoa Công nghThông tin trường
Đại hc Công Nghệ, Đại hc Quc Gia Hà Nội, đặc bit là các thy cô B môn Công
ngh Phn mm đã giúp đỡ tôi trưởng thành trong những năm học tp rèn luyn
môi trường đại hc.
Xin chân thành cảm ơn thy Nguyn Vit Hà, thy Vũ Quang Dũng và phòng thí
nghim TOSHIBA-COLTECH đã tạo điều kin cho tôi m hiu, nghiên cu và hc
hi nhng kinh nghim trong quá trình nghiên cu và làm khoá lun.
Tôi xin gi li cm ơn ti các bn trong lp K50CD, K50CNPM đã ng h,
khuyến khích tôi trong sut quá trình hc tp tại trường.
li cui cùng, tôi xin bày t lòng chân thành và biết ơn vô hạn ti cha m,
người thân, những người luôn bên cnh tôi nhng lúc tôi k khăn nhất, giúp tôi
t qua khó khăn trong học tp cũng như trong cuộc sng.
Hà Ni, ngày 10 tháng 05 năm 2009
Sinh viên
Hoàng Tuấn Hưng
ii
TÓM TT
Ngày nay, ngành công nghiệp Game đang trên đà phát trin nhanh chóng song
song vi vic phát trin phn cng. Game engine s mt công c hu ích cho vic
phát trin Game, nếu như các nphát triển mi khi bt tay vào làm một Game nào đó
tđầu thì s rt vt v mt nhiu công sc. Vi mt Game engine thì công việc đó
trnên đơn giản nhanh hơn nhiều, s cung cấp các API cho người phát trin
Game có th s dng và to ra nhng hiu ng mt cách nhanh chóng.
Khóa lun s trình bày tng quan kiến trúc v Game engine chúng tôi đang
xây dựng đi chi tiết vào hai thành phn qun tài nguyên trong Game c
chuyển động của đối tượng.
Phần đầu s gii thiu mt cách tng quan nht v h thng, các thành phn s
trong Game engine, và thiết kế cho các thành phần đó.
Phn th hai khóa luận dành để gii thiu v các tài nguyên s trong Game
engine, tm quan trng ca vic qun tài nguyên cho mt h thống. Đặc bit khóa
lun s trình bày cách t chc và qun lí tài nguyên mt cách hiu qu nht.
Phn th ba ca khóa lun s gii thiu v các chuyển động của các đối tượng
trong Game, các k thut để th tạo ra được các loi chuyển động cho đối tượng
cách trin khai các k thut vào trong Game engine.
Phn cui cùng s tng kết nhng kết quđã đạt được ca khóa lun, nhng
vấn đề còn tn tại và hướng phát trin tiếp theo của đề tài.
iii
MC LC
MỞ ĐẦU...................................................................................................................1
Chương 1.ĐẶT VẤN ĐỀ ........................................................................................3
1.1.Bi cnh nghiên cu............................................................................................................. 3
1.2.Mc tiêu................................................................................................................................ 3
1.3.Gii thiu chung................................................................................................................... 3
Chương 2.KIN TRÚC TNG TH.....................................................................6
2.1.Các d liu cơ bn................................................................................................................ 7
2.2.Giao tiếp vi 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 ca Render Engine ........................................................................................10
2.4. Các thành phn còn li.......................................................................................................11
Chương 3.QUN LÝ TÀI NGUYÊN...................................................................12
3.1.Gii thiu .............................................................................................................................12
3.2. Qun lý tài nguyên trong GEM ........................................................................................12
3.3. Liên kết gia các thành phn............................................................................................13
3.4. Các thành phn trong Resource Manager........................................................................14
3.5. Biểu đồ lp ..........................................................................................................................15
3.5.1.Qun Mesh.................................................................................................................16
3.5.2.Qun lý Texture .............................................................................................................17
3.5.3.Qun lý Effect.................................................................................................................19
3.5.4.Qun lý AnimatedMesh................................................................................................20
3.5.5.Qun Material............................................................................................................21
Chương 4.CHUYN ĐỘNG CỦA CÁC ĐỐI TƯỢNG ....................................23
4.1.Gii thiu .............................................................................................................................23
4.2.Khái quát v animation ......................................................................................................23
4.3.K thut to chuyển động nhân vt ..................................................................................23
4.3.1.K thut ni suy Key-Frame.........................................................................................23
4.3.1.1. Gii thiu..................................................................................................................24
4.3.1.2. Ni suy bc 1 ............................................................................................................24
4.3.1.3. Ni suy bc 2 ............................................................................................................25
4.3.1.4.Trin khai k thut key-frame ....................................................................................25
4.3.2.K thut skinning ..........................................................................................................27
4.3.2.1.Gii thiu...................................................................................................................28
4.3.2.2. K thut Skeletal Subspace Deformation...................................................................29
4.3.2.3. K thut Animation Space........................................................................................31