1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

52 4 0

Đ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

Nội dung

ĐẠ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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CƠNG NGHỆ Hồ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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 q 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 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 ln bên cạnh tơi 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 đề cịn tồn hướng phát triển đề tài ii LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC MỞ ĐẦU Chương 1.ĐẶ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 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 13 3.4 Các thành phần 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 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 24 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 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 iii LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 37 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 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 .11 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 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 khơng phải 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 nguyên chuyển động đối tượng Trong phần mềm, việc quản lí tài nguyên 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 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ngồi phần mở đầu kết cấu khóa luận bao gồm chương:  Chương 1, 2: Đặt vấn đề tổng quan hệ thống Game engine nhóm  Chương 3: Giới thiệu quản lí tài nguyên cách tổ chức tài nguyên hệ thống  Chương 4: Giới thiệu chuyển động cho đối tượng, vào kỹ thuật tạo chuyển động  Chương 5: Thực nghiệm kỹ thuật nêu chương  Chương 6: Kết luận, thực đánh giá kết đạt được, hướng phát triển tới LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com - n: số bone tác động lên đỉnh - wi: trọng số bone thứ i - Ti: ma trận biến đổi cho bone i - Bi: ma trận biến đổi cho bone i trước thay đổi - v: vị trí đỉnh trước thay đổi n đó: w 1 i i 1 Theo kỹ thuật SSD khơng thực với nhân vật thiết kế khung xương có khớp nối theo kiểu xoay quanh trục Trong việc tính tốn vị trí đỉnh cho tư mới, ma trận biến đổi cho bone nội suy theo kiểu tuyến tính, mà nội suy tuyến tính cho ma trận lại khơng tương đương với việc nội suy tuyến tính ma trận cho việc xoay Hình 22 Hạn chế kỹ thuật SSD Mặc dù vậy, SSD phổ biến tính đơn giản hiệu Đã có nhiều nghiên cứu quan trọng để cải tiến thuật tốn SSD Một phương pháp tập hợp lại liệu kỹ thuật nội suy khác mà phổ biến để sửa lỗi cho vị trí đỉnh sai SSD Lỗi đỉnh tính lại theo mesh ví dụ sau ghép vào mesh tạo kỹ thuật SSD, sử dụng nhiều mesh ví dụ đem lại độ xác cao, nhiên tốn tài nguyên để lưu trữ Vì 30 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com cần xem xét mục đích để sử dụng số lượng mesh ví dụ cho hợp lý Một phương pháp khác sử dụng kỹ thuật Spherical Blend Skinning (SBS) [7,11] Hình 23 Sử dụng kỹ thuật SSD Hình 24 Sử dụng kỹ thuật SBS 4.3.2.3 Kỹ thuật Animation Space Animation Space (AS) [13] cung cấp cách mềm dẻo SSD việc thay đổi vị trí cịn lại đỉnh Đặt Pi=wiBi-1v cơng thức SSD trở thành: n v   Ti Pi (2) i 1 31 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 25 Sơ đồ chuyển trục tọa độ Cơng thức (2) triển khai sau:  P1     P2    v  (T1T2 Tn )   Tp       P   n (3) Ta coi véc tơ p tọa độ v’ không gian đa chiều, gọi không gian animation (animation space) Không gian 4n chiều Ta chuyển ma trận từ khơng gian animation sang khơng gian model Trong (3) T coi animation matrix 4.3.2.4 Kỹ thuật Multi-Weight Enveloping Kỹ thuật Multi-Weight Enveloping (MWE) thay đổi trọng số từ công thức (1) Ma trận biến đổi bone kết hợp với ma trận biến đổi nghịch đảo lại để tạo ma trận trọng số cho đỉnh, mười hai trọng số cho đỉnh liên quan Đặt Mi= TiBi-1 công thức (1) viết lại sau: 32 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com  mi ,11 mi ,12  n n mi , 22 m v   wi M i v   wi  i , 21 m mi ,32 i 1 i 1  i ,31  0  mi ,13 mi ,23 mi ,33 mi ,14   mi , 24  v mi ,34    (4) Nhân trọng số bao phủ gán trọng số cho thành phần ma trận M ta được:  wi ,11mi ,11  n  wi , 21mi , 21 v    w m i , 31 i , 31 i 1     wi ,12 mi ,12 wi ,13mi ,13 wi , 22 mi , 22 wi , 23mi ,23 wi ,32 mi ,32 wi ,33mi ,33 0 wi ,14 mi ,14   wi , 24 mi , 24  wi ,34 mi ,34 v    b  (5) Trọng số thêm cho phép thành phần v bị phụ thuộc độc lập với bone di chuyển Chiều chuyển động bone liên quan đến model giới hạn số trường hợp cụ thể MWE linh hoạt Animation Space, u cầu nhiều thơng tin để thiết lập số lượng lớn trọng số cho bone Số lượng trọng số tăng lên nghĩa khả số trọng số xác định rõ ràng so với Animation Space hay SSD 4.3.2.5.Triển khai skinning Để triển khai kỹ thuật skinning, mesh ta phải quản lí thơng tin sau: - Một mesh điển hình - Một khung xương (hệ thống bone, joint) Một mesh ta cần lưu thông tin về:  Danh sách đỉnh  Danh sách normal để tính tốn phản xạ ánh sáng  Danh sách texcoordinate đỉnh để gắn texture lên mesh  Số lượng đỉnh, normal, textcoord 33 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com  Chiều đỉnh, normal, textcoord Ta quản lý khung xương theo dạng hình dưới: Hình 26 Mơ hình tổ chức khung xương Các node là: bone, joint Việc quản lí khung xương dựa theo cấu tạo nhân vật, ta từ đầu xuống, tới cổ, vai, tay, … Như theo cách triển khai kỹ thuật skinning giảm nhiều tài nguyên cho việc lưu trữ nhân vật Ở kỹ thuật Key-frame ta phải lưu trữ nhiều key-frame, key-frame tương ứng với mesh skinning Nhân vật nhiều chuyển động số lượng key-frame tăng lên làm tốn nhiều tài nguyên Với kỹ thuật skinning ta phải lưu mesh điển hình khung xương Các mesh khác tính tốn trình chuyển động dựa vào khung xương, đỉnh mesh chuyển động thay đổi theo khung xương 34 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương 5.THỰC NGHIỆM Để minh họa cho sở lý thuyết trên, khóa luận trình bày demo cho hai kỹ thuật tạo chuyển động cho nhân vật Dưới demo thành phần khóa luận này, nhóm có demo chung ghép thành phần với 5.1 Demo key-frame Như trình bày phần triển khai, để quản lí đối tượng có chuyển động, ta phải quản lí tất key-frame Mỗi key-frame có thơng tin về: vị trí đỉnh, véc tơ normal, textcoord Và tất key-frame số đỉnh, véc tơ normal, textcoord nhau, khác vị trí Hiện hỗ trợ loại file chứa đối tượng có chuyển động dạng MD2 Trong dạng MD2, đối tượng xét ln có loại animation như: RUN, STAND, JUMP… loại animation xác định thành phần: - Key-frame bắt đầu - Key-frame kết thúc - Số lượng fps cho 1s (số lượng khung hình) Số lượng fps tính trường hợp lý tưởng để tính tốn nội suy Tuy nhiên, khóa luận khơng tính tốn nội suy dựa vào số fps // first, last, fps { { { { { { { { { { { { { { { { { { { { { 0, 40, 46, 54, 58, 62, 66, 72, 84, 95, 112, 123, 135, 154, 160, 196, 173, 178, 184, 190, 198, 39, 45, 53, 57, 61, 65, 71, 83, 94, 111, 122, 134, 153, 159, 168, 172, 177, 183, 189, 197, 198, 10 10 7 7 7 10 10 10 7 7 }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, }, // // // // // // // // // // // // // // // // // // // // // STAND RUN ATTACK PAIN_A PAIN_B PAIN_C JUMP FLIP SALUTE FALLBACK WAVE POINT CROUCH_STAND CROUCH_WALK CROUCH_ATTACK CROUCH_PAIN CROUCH_DEATH DEATH_FALLBACK DEATH_FALLFORWARD DEATH_FALLBACKSLOW BOOM 35 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Các model theo chuẩn MD2 có 21 loại animation định nghĩa danh sách Cách tính nội suy sau (dùng nội suy bậc 1): Phương thức setAnimation(type,duration) xét loại animation cho model Từ bảng ta xác định vị trí key-frame bắt đầu vị trí key-frame kết thúc loại animation Biến duration khoảng thời gian để chạy hết loại animation xét Đặt: - first: vị trí key-frame bắt đầu - last: vị trí key-frame kết thúc - time: thời gian chạy key-frame liên tiếp - old_time: thời điểm key-frame thứ n render - curr_time: thời điểm Từ số lượng key-frame cho animation (xác định first last) thời gian chạy cho animtion (duration) ta tính thời gian để chạy key-frame time= duration/(last-first+1) Tại thời điểm ta xét (curr_time-old_time)>= time khơng? Nếu ta chuyển đến key-frame thứ n+1 (key-frame tiếp theo) gán lại old_time=curr_time, ngược lại tức thời gian cho key-frame chưa hết ta tính tốn nội suy frame dựa vào key-frame thứ n n+1 curr_time Như với cách tính nội suy kỹ thuật key-frame triển khai Kết thực nghiệm: Cấu hình máy chạy demo:  CPU: T7250 (2*2.0GHZ)  RAM: 2GB  HDH: Windows Vista  Card đồ họa: card tích hợp Intel(R) 965 Số khung hình /1s đạt được: ~70 36 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 27 Demo key-frame 5.2 Demo Skinning 37 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hình 28 Demo Skinning Để tạo animation kỹ thuật skinning thơng tin model quản lí khung xương mesh phủ bên ngồi Các nhà thiết kế thiết kế sẵn animation xuất định dạng chương trình như: Maya, 3d Max… animation tạo việc thay đổi khung xương – tức thay đổi trọng số kết với với ma trận biến đổi bone Các tham số thay đổi theo thời gian, thời điểm trọng số khác nhau, từ dùng kỹ thuật nhân trọng số với ma trận biến đổi bone kết hợp với mesh cho model tạo frame khác tạo thành animation Kết thực nghiệm: Cấu hình máy chạy demo: Số khung hình /1s đạt được: ~30 38 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương 6.KẾT LUẬN 6.1.Kết đạt Khóa luận tốt nghiệp nêu phần rõ ràng: - Phần đầu: Chương 1, 2, trình bày tổng quan hệ thống nhóm, phát triển cộng cụ giúp phát triển game cách dễ dàng nhanh chóng - Phần thứ 2: Chương khóa luận nêu giải pháp để quản lí tài nguyên game engine, thành phần tài nguyên có game engine, cách sử dụng tài nguyên - Phần 3: Chương khóa luận trình bày kỹ thuật để tạo chuyển động cho đối tượng game Trong trình thực khóa luận, chúng tơi thực xây dựng hệ thống phát triển game đến thời điểm tạo khung cảnh 3D, bên có vật thể như: bàn, ghế, tường, nồi, bếp, … hiệu ứng như: ánh sáng, đổ bóng, hiệu ứng mặt nước, lửa, chuyển động Đề tài có tính thực tiễn cao đặc biệt tính thương mại Ở Việt Nam, việc phát triển game engine bắt đầu hứa hẹn tương lai tươi sáng cho ngành công nghiệp game 6.2.Định hướng tương lai Hiện thị trường game phát triển.Tuy nhiên việc tạo game engine Việt Nam cịn bỏ ngỏ, nhóm mong muốn phát triển game engine Việt Nam với giá thành rẻ nhiều so với game engine nước ngồi Chúng tơi tiếp tục hồn thiện cấp tính cho hiệu ứng chuyển động cho nhân vật mình, để đem lại cho người chơi trải nghiệm thú vị Sắp tới nhóm phát triển theo tính cao cấp khác như: âm thanh, xử lý va chạm vật lí, … đưa hiệu ứng chuyển động cho nhân vật vào cho GPU để tính tốn, giảm tải cho CPU GPU chun dụng cho việc tính tốn đồ họa Do điều kiện thời gian nghiên cứu cịn nhiều hạn chế nên khóa luận chắn khơng tránh khỏi thiếu sót Rất mong nhận đóng góp ý kiến thầy giáo, bạn bè người quan tâm Xin cảm ơn! 39 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC A Bảng thuật ngữ Thuật ngữ Ý nghĩa Ambient Tính chất phản xạ ánh sáng ánh sáng đến từ hướng AnimatedMesh Giống mesh thay mô tả đối tượng tĩnh không biến đổi, animated mesh mô tả đối tượng biến đổi với nhiều hoạt động khác animation Các loại chuyển động bank Là nơi lưu trữ tài nguyên bone Là đoạn xương liên kết với khớp nối Camera Đối tượng mơ khung nhìn Diffuse Tính chất phản xạ khuếch tán Game Engine Middleware cung cấp giao diện đơn giản để phát triển game Height map Ảnh bitmap lưu thông tin độ cao pixel Dùng để tính vector pháp tuyến cho pixel dựa vào độ cao pixel xung quanh Joint Khớp nối xương khung xương Key-frame Khung hình sở để xây dựng animation Material Định nghĩa nguyên liệu làm nên đối tượng, quy định tính chất phản xạ ánh sáng bề mặt đối tượng Material gồm ba thành phần ambient, diffuse specular 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 40 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com mipmap Là tập hợp ảnh tính tốn trước tối ưu hóa texture chính, làm tăng tốc độ render Mỗi ảnh bitmap tập mipmap phiên texture sử dụng khung nhìn đủ để render trạng thái chi tiết đầy đủ, render chuyển sang ảnh mipmap thích hợp texture nhìn tứ khoảng cách với kích thước nhỏ Model Các mơ hình đối tượng dựng nên từ mạng lưới đa giác model Những dạng hình học đối tượng Normal Vectơ vng góc với tiết diện mặt bề mặt điểm P, dùng để tính tốn yếu tố phản xạ ánh sáng bề mặt Normal map Ảnh bitmap lưu thông tin vector pháp tuyến pixel openGL Một chuẩn 3d graphic API pixel Điểm ảnh 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 q trình mắt người hay camera thu hình ảnh 2D từ mơi trường ) Scene graph Một cấu trúc liệu phân tầng bao gồm miêu tả cảnh vật render sketelon Khung xương nhân vật, đối tượng Specular Tính chất phản xạ gương Texture Là một loạt ảnh dùng để tăng độ chi tiết cho đối tượng Vertex Điểm không gian chiều 41 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com B Bảng biểu tượng Biểu tượng Tên Ý nghĩa Package Đặc tả gói Class Đặc tả lớp Aggregation Composition Genaralization Dependency Import Access Merge Note Active Đặc tả hành động 42 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Initial state Đặc tả trạng thái bắt đầu Final state Đặc tả trạng thái kết thúc Đăc tả lựa chọn theo điều Choice kiện Fork Join 43 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÀI LIỆU THAM KHẢO [1] http://www.unrealtechnology.com/features.php?ref=terms [2] http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter01.html [3] http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter06.html [4] http://tfc.duke.free.fr/coding/md2-specs-en.html [5] http://en.wikipedia.org [6] A.Mohr and M Gleicher Deformation sensitive deformation Technical Report 4/7/2003, University of Wisconsin, Madison, 2003 [7] BLOOMENTHAL, J 2002 Medial-based vertex deformation [8] J P Lewis, M Cordner, and N Fong Pose space deformation: a unified approach to shape interpolationand skeleton-driven deformation [9] Jonathan Kreuzer Object Space Normal Mapping with Skeletal Animation Tutorial [10] Karel Driesen and Urs Hölzle, The Direct Cost of Virtual Function Calls in C++, 1995 ACM [11] KAVAN, L., AND ˇZ ´ARA, J 2003 Real-time skin deformation with bones blending [12] Khronos Group OpenGL Specifcation Version 2.0 [13] Merry, P Marais, and J Gain Animation space: A truly linear framework for character animation [14] Mohr, L Tokheim, and M Gleicher Direct manipulation of interactive character skins [15] NVIDIA GPU Gems 1, 2, [16] P G Kry, D L James, and D K Pai Eigenskin: real time large deformation character skinning in hardware [17] P.-P J Sloan, C F Rose, III, and M F Cohen.Shape by example [18] Richard S Wright, Michael Sweet OpenGL Super Bible [19] X C Wang and C Phillips Multi-weight enveloping: least-squares approximation techniques for skin animation 44 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... 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... 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 nguyên xem xét... quan hệ thống Game engine nhóm  Chương 3: Giới thiệu quản lí tài nguyên cách tổ chức tài nguyên hệ thống  Chương 4: Giới thiệu chuyển động cho đối tượng, vào kỹ thuật tạo chuyển động  Chương

Ngày đăng: 01/11/2022, 20:28

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w