Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 69 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
69
Dung lượng
0,94 MB
Nội dung
Mͧÿ̯u ĈҤI HӐ&Ĉ¬1 ҸNG 75Ѭ Ӡ1*Ĉ ҤI HӐ&6Ѭ3+ ҤM KHOA TIN -[ \ - LÊ THӎNGӐC ANH KIӂN THӬC CҪN THIӂ7Ĉ ӆTҤO GAME 3D TRÊN HAI NӄN TҦNG HӊĈ, ӄU HÀNH LÀ ANDROID VÀ WINDOWS KHÓA LUҰN TӔT NGHIӊP *9+'7K6/r9ăQ0 ӻ SVTH: Lê ThӏNgӑc Anh Trang Mͧÿ̯u 0ӢĈҪ8 *LӟLWKLӋX YjOêGRFKӑQ ÿӅWjL Khi mӝ t công nghӋmӟLUDÿ ӡi kéo theo sӵUDÿ ӡi cӫa mӝt sҧ n phҭ m mӟi Và tiӃ SWKHRÿyOjNK ӣLÿ ҫ u cho dӏ ch vөhӛtrӧ VӟLÿjSKiWWUL Ӈ n cӫa thông tin di ÿ ӝ QJQKѭKL Ӌ n nay, thiӃ t bӏdi dӝng trӣthành mӝt thiӃ t bӏkhông thӇthiӃ u cӫ a ÿDV ӕmӑLJѭ ӡL&iFWUzFKѫLJL ҧ LWUtWUrQGLÿ ӝng ngày FjQJÿDG ҥ QJKѫQSKR SK~KѫQĈ һ c biӋ t vӟi sӵUDÿ ӡi cӫa hӋÿL Ӆ u hành Android tҥ RUDEѭ ӟc phát triӇ n mӟi cho ӭng dөQJWUrQGLÿ ӝng Công nghӋgame ngày phát triӇ Q7X\QKLrQÿDV ӕJDPHÿ Ӆ u ӣdҥ ng 2D Thӡi gian gҫ Q ÿk\ ӝW [X Pӟng game Kѭ mӟL Oj JDPH ӧF ' ѭD ӝ ÿDQJ ng.FKX ÿ *DPH ' ӧc xâyÿѭ dӵng hӋthӕ QJ ӗhoҥ ÿ máy tính chiӅ u hiӋ Q ҥ iÿ (3 Dimentional), hӋthӕQJÿ ӗhoҥnày khai thác chiӅ u không gian chiӅ u ngang ± dӑ c ±sâu tҥ o nên mӝ t thӃgiӟi hình khӕi khác hҷ n thӃgiӟi hình phҷ ng cӫD'Ĉ ӗ hoҥ3D khai thác tӕ LÿDFiFKL Ӌ u ӭng chiӅ XQKѭÿ әbóng, chiӅ u ánh sáng, sӵphҧ n chiӃ u Ĉһ FWUѭQJF ӫ a 3D hұ u cҧ nh lӗ i lõm không bҵ ng phҷ ng Do khai thác hӋ thӕng chiӅ u nên game 3D hҫ u hӃ Wÿ Ӆ X[RD\JyFQKuQÿѭ ӧc trӯmӝt vài game GRêÿ ӗcӫa nhà sҧ n xuҩ WQrQNK{QJFKRSKpSQJѭ ӡLFKѫL[RD\JyFQK һ FWUѭQJ cӫ a game 3D sӱdөng chi tiӃ t hoàn toàn 3D hұ u cҧ nh, vұ t thӇtrӯtiӅ n cҧ nh mӝ t sӕchi tiӃ t phөnhӓbҳ t buӝ c phҧ i dùng 2D cho phù hӧp (có thӇÿ Ӈ giҧ m nhҽcҩ u hình) Mӝ Wÿ һ FÿL Ӈ PNKiFOjÿ ӕi vӟi 3D hұ u cҧ nh kӃ t hӧp mһ Wÿ ҩ t vòm trӡi thiӃ t kӃkhơng gian cӫa game 3D theo hình mái nhà vịm Vì vұ y, em chӑQÿ Ӆtài nhҵ m muӕn nghiên cӭu vӅkӻthuұ t làm game 3D hӋÿL Ӆ XKjQK$QGURLG%ѭ ӟFÿ ҫ u xây dӵng Demo mӝ WFKѭѫQJWUuQK giҧ n phө c vөcho trình nghiên cӭu công viӋ FWѭѫQJODLVDXQj *9+'7K6/r9ăQ0 ӻ SVTH: Lê ThӏNgӑc Anh Trang Mͧÿ̯u MөFÿtFKYjêQJKƭDF ӫDÿ Ӆtài - &NJQJ ӕnhӳ F ng kiӃ n thӭF ÿm ӑ c K nghiên cӭu, tìm hiӇ u hӋÿ iӅ u hành Android, nghiên cӭu công nghӋlàm game 3D - Nghiên cӭu xây dӵng mӝW JDPH Ӆ n tҧ ÿD ng, Q trình chuyӇ n tӯ Windows sang hӋÿL Ӆ u hành Android - Xây dӵQJWUzFKѫL%RPE,QWHUQVKLSWUrQK ӋÿL Ӆ u hành Android, Windows Ĉӕ LWѭ ӧng phҥm vi nghiên cӭu - Ĉӕ LWѭ ӧng: KiӃ n thӭc cҫ n thiӃ Wÿ Ӈtҥ o game 3D hai nӅ n tҧ ng hӋÿL Ӆ u hành Android Windows - Phҥm vi nghiên cӭu: Quá trình nghiên cӭu thӵFWKLFKѭѫQJW game 3D BombInternship gӗm mӝ t ³WHDP´ QJѭ ӡiWURQJÿySK ҥ m vi nghiên cӭu cӫ a em cKѭѫQJWUuQKEDRJ ӗm: &KѭѫQJ WUuQK ҩ t nhiӅ JDPH u Model,Qj\ viӋ c tìm Fy kiӃ m U Model Free ORDGFiF0RGHOOrQÿ ӇkiӇ m tra sӵphù hӧp cӫa Model vӟi game ÿL Ӆ Xÿ ҫ u tiên viӋ c làm game Thӵc hiӋ n viӃ t Class game: x Class LoadData: Thӵc hiӋ n viӋ c load tҩ t cҧdӳliӋ X WURQJ JDPH load tҩ t cҧcác Level, Model Texture cӫa Model 3D x ViӃ t Class cӫ Dÿ ӕLWѭ ӧng Apple x &ODVVÿ ӕ i vӟLÿ ӕLWѭ ӧng Bom: Khӣi tҥ o giá trӏEDQÿ ҫ u, thӡi gian tӗ n tҥ i nәthì phҧ i cho lӱa hiӋ n theo Kѭ ӟng x Thӵc hiӋ n viӋ c AI Game x Tìm hiӇ u vӅâm Windows *9+'7K6/r9ăQ0 ӻ SVTH: Lê ThӏNgӑc Anh Trang Mͧÿ̯u TiӃ Q KjQK 7HVW JDPH ҧ Q KRjQ VDX WKjQK NKL Fѫ [RQJ ӇE F kiӇ m tra lӛ i 3KѭѫQJiQSKiWWUL Ӈ Qÿ Ӆtài Quá trình nghiên cӭu phát triӇ Qÿ Ӆtài gӗ PFiFEѭ ӟFFѫE ҧ QVDXÿk y: - Lұ p kӃhoҥ ch thӵc hiӋ Qÿ Ӆtài - ThiӃ t kӃhӋthӕ ng tәchӭc dӳliӋ u cho phù hӧp - Xây dӵQJFKѭѫQJWUuQKFKLDQK ӓcác chӭFQăQJWKjQKW ӯng phҫ QULrQJÿ Ӈ giҧ i quyӃ t vҩ Qÿ Ӆ ) - &NJQJF ӕkӃ t quҧÿ ҥ Wÿѭ ӧc bao gӗm: kiӇ m tra lӛi, kiӇ m thӱcác chӭFQăQJ cӫ a hӋthӕng, kiӇ m tra FiFÿ ӕ LWѭ ӧng game - Trong suӕt q trình nghiên cӭu sӁkhơng ngӯng hӑc hӓ i, tích góp tài liӋ u, kinh nghiӋ POjPJDPHÿ Ӈphөc vөcho sau Cҩ u trúc cӫa luұQYăQ &K˱˯QJ,&˯V ͧlý thuy͇ t cͯDÿ ͉tài Mô tҧchi tiӃ t nhӳng lý thuyӃ t cҫ n thiӃ t sӁÿѭ ӧc QyLÿ Ӄ n sӱdөng trình làm game 3D Bao gӗm nhӳng lý thuyӃ t vӅOpenGL hӛtrӧcho viӋ c thiӃ t kӃ ÿ ӗhӑa 3D Open GL ES 2.0 hӛtrӧÿӗhӑa 3D phӭc tҥ p thiӃ t bӏcҫ m tay YjQK~QJ1yFKtQKOjWKѭYL Ӌ Qÿ ӗhoҥcho thiӃ t bӏcҫ m tay nhúng vӟi lұ p trình 3D phҫ n cӭng Các công cөcҫ n thiӃ W WURQJ TXi WUuQK Oj nhӳQJѭXNKX\ Ӄ WÿL Ӈ m cӫ a lý thuyӃ t sӁáp dө ng &K˱˯QJ Phân tích thi͇ t k͇WUzFK˯L TӯnhӳQJ ӣ FѫV lý thuyӃ t ӣtrên sӁhӛtrӧnӅ n tҧ ng lý thuyӃ t trình phân tích cҩ u trúc mӝ t game 3D vӇvịng lһ SWUzFKѫLÿ ӇWUzFKѫLFyWK Ӈchҥ y liên *9+'7K6/r9ăQ0 ӻ SVTH: Lê ThӏNgӑc Anh Trang Mͧÿ̯u tiӃ p, nӝ L GXQJ FKtQK ӗhӑaWURQJ 3D OpenGL JDPH ES âmÿthanh hӋÿL Ӆ XKjQK6DXÿyV ӁtiӃ n hành thiӃ t kӃGame 3D bombInternship dӵa vào q trình ohaan tích &K˱˯QJ Quy trình chuy͋ QWUzFK˯LOrQ$QGURLG Game hồn chӍ nh Windows sӁtiӃ QKjQKÿѭDOrQÿL Ӌ n thoҥ i Phҫ n sӁtrình bày cơng cөhӛtrӧcho viӋ c post game lên Android *9+'7K6/r9ăQ0 ӻ SVTH: Lê ThӏNgӑc Anh Trang &K˱˯QJ&˯V ͧlý thuy͇ t &+ѬѪ1* &Ѫ6Ӣ/é7+8 phҧ i quay sang phҧ L WUrQ ӟi mӟi cóGѭ thӇdi chuyӇ n tiӃ p x 7ѭѫQJW ӵQKѭY ұ \WUѭ ӡng hӧp va chҥ m bên phҧ i, va chҥ m phía trên, phía Gѭ ӟi phҧ LTXD\VDQJFiFKѭ ӟng cịn lҥ i mӟi di chuyӇ Qÿѭ ӧc - NӃ u va chҥ m vӟi lӱa thì: x Character: sӁbӏtrӯÿLP ӝt mҥ ng x Monster: sӁbӏchӃ t x Boss: sӁbӏtrӯÿLPiX 2.1.3.4 ĈӗKӑD Chúng ta sӱdөng bӝWKѭYL Ӌ Q2SHQ*/(67DFjLÿ һ t mӝt sӕSKѭѫQJWK ӭc ÿ ӇvӁmӝt ÿӕ LWѭ ӧng 3D vӁ2D Vͅd͙ LW˱ ͫng 3D - Mӝ W ӕL ÿӧng Wѭ 3D bao gӗP ӏ QK ÿ QJKƭD Ӆtӑ D ӝÿ mӝ Y W ӕL ÿӧng, Wѭtexture ÿѭ ӧFOѭXULrQJO ҿrӗ LVDXÿyÿѭ ӧFiSOrQÿ ӕLWѭ ӧQJÿy - DӳliӋ u vӅtӑ Dÿ ӝWURQJWUzFKѫLÿѭ ӧc tҥ o bҵ ng phҫ n mӅ m 3D Max Studio YjVDXÿyÿѭ ӧc xuҩ t tұ SWLQYăQE ҧ n kiӇ XREMZDYHIURQWRE dӳliӋ u bao gӗm thôQJWLQFѫE ҧ n: TӑDÿ ӝ(vertex position) UV (textcoord) 9HFWRUQRUPDOÿ Ӈtính tốn ánh sáng - Ĉӕ LӧQJ Wѭ ' WURQJ ӗm: WUz Character, FKѫL Monster, EDR Boss, Apple, J heart, fire, box, house, tree, shield, bom *9+'7K6/r9ăQ0 ӻ SVTH: Lê ThӏNgӑc Anh Trang 43 &K˱˯QJ3KkQWtFKYjWKL ͇ t k͇WUzFK˯L Hình 2-5: Bi͋ u di͍ n m͡t s͙ÿ͙ LW˱ ͫng 3D VӁÿ ӕLWѭ ӧng 2D - Giao diӋ n 2D mӝt phҫ n không thӇthiӃ X WURQJ WUz FKѫL Y quan trӑ QJÿ ӇthӇhiӋ n thông tin tӟLQJѭ ӡLFKѫL - ĈӇvӁ2D OpenGL ES 2.0 ta tҥ o mӝt texture rӗi tiӃ n hành vӁtӯQJÿ{L mӝt hình Ví dөÿ ӇvӁKuQKErQGѭ ӟLFK~QJWDFKLDWDPJLiFQ : Hình 2-6: Bi͋ u di͍ n giao di͏ n 2D *9+'7K6/r9ăQ0 ӻ SVTH: Lê ThӏNgӑc Anh Trang 44 &K˱˯QJ3KkQWtFKYjWKL ͇ t k͇WUzFK˯L 27KL͇WN͇WUzFK˯L 27KLӃWNӃFKѭѫQJWUuQK Dӵa vào phân tích ta có thӇthiӃ t kӃmӝWNKXQJFKѭѫQJWUuQK Application Pause() Resume() Satrt() Update() Render() PointerEvent() Filse System Video Driver Open Files OpenGL ES 2.0 Read Filse Content Sprite 2D Manager Sprite 3D Manager Hinh 2-.KXQJFK˱˯QJWUuQK - Lӟp Application: bӝgiao tiӃ p giӳa ӭng dөng vӟi nӅ n tҧ ng - Lӟp Filse System: lӟSGQJÿ Ӈthөc hiӋ QFiFKjQKÿ ӝQJÿ ӑc/ghi têp tin *9+'7K6/r9ăQ0 ӻ SVTH: Lê ThӏNgӑc Anh Trang 45 &K˱˯QJ3KkQWtFKYjWKL ͇ t k͇WUzFK˯L - Lӟp Video Driver: Là lӟS FjL һ W SKѭѫQJ ÿ ӭc vӁKuQK WK OLrQ Ӄ n TX OpenGL ES 2.0 - Lӟp Sprite 2D Manager Sprite 3D manager: chӏ u trách nhiӋ m tҧ i ÿ ӕ i Wѭ ӧQJ'FNJQJQKѭJLDRGL Ӌ n 2D vӁlên hình 29zQJOһSWUzFKѫL Chúng ta thӵc hiӋ n vòng lһ SWUzFKѫLTXDKDLSKѭѫQJW ӭc Update Render: - 3KѭѫQJWK ӭc Update: cұ p nhұ t lҥ i trҥ ng thái cӫ DWUzFKѫL - 3KѭѫQJWK ӭc Render: Render nӝi dung hình thiӃ t bӏ 'R WUz FKѫL Ӆ u trҥ QJ FyWKiL QKL QKѭ 0DLQ0HQX6W GameOverState, WinState Nên sӁkhai báo mӝt biӃ n trҥ QJWKiLÿ ӇOѭX trӳtrҥ ng thái hiӋ n tҥ i cӫDWUzFKѫL mӛi lҫ n Update Render sӁ dӵa vào biӃ n trҥ QJWKiLQj\Pjÿ Ӈcұ p nhұ t lҥ LWUzFKѫL BiӃ Q³FXUUHQW6WDWH´FKtQKOjEL Ӄ n trҥ ng thái cӫa game Ӭng vӟi mӛ i trҥ ng thái sӁcó chӍthӏlà 3DLQWKD\5HQGHU9jÿ ӕi vӟi trҥ ng thái phҧ i hӫy bӓFiFÿ ӕLWѭ ӧng DESTROY Exit sate CONSTRUCTOR UPDATE Next Frame PAINT Hinh 2-8: Bi͋ u di͍ n vòng l̿SWUzFK˯L *9+'7K6/r9ăQ0 ӻ SVTH: Lê ThӏNgӑc Anh Trang 46 ... ng thái game Chúng có liên quan chһ t chӁvӟi Thơng WKѭ ӡng mӝ t game có trҥ ng thái sau: mainmenu, gamestart, gamewin, gameover, about - Trong game BomInternship có trҥ ng thái sau: x GameLoadingSate:... ӧng: KiӃ n thӭc cҫ n thiӃ Wÿ Ӈtҥ o game 3D hai nӅ n tҧ ng hӋÿL Ӆ u hành Android Windows - Phҥm vi nghiên cӭu: Quá trình nghiên cӭu thӵFWKLFKѭѫQJW game 3D BombInternship gӗm mӝ t ³WHDP´ QJѭ... PNKiFOjÿ ӕi vӟi 3D hұ u cҧ nh kӃ t hӧp mһ Wÿ ҩ t vòm trӡi thiӃ t kӃkhơng gian cӫa game 3D theo hình mái nhà vịm Vì vұ y, em chӑQÿ Ӆtài nhҵ m muӕn nghiên cӭu vӅkӻthuұ t làm game 3D hӋÿL Ӆ XKjQK$QGURLG%ѭ