Khóa luận Nghiên cứu và xây dựng thử nghiệm 3D Engine - Phần 1
Chương 1 Tổng quan . 1
1.1. Game Engine và 3D Engine.2
1.2. Mối quan hệgiữa Game Engine và Game .3
1.3. Phân loại Game Engine.3
1.3.1. Isometric Engine .3
1.3.2. 3D FPS (First Person Shooter) Engine .4
1.3.3. MMOG (Massive Multiplayer Online Game) Engine.4
1.4. Một sốGame Engine hiện nay.5
1.5. Tóm tắt .8
5-6 Minh họa kết hợp chuyển động các phần trong khung xương ..................97 Hình 5-7 Sơ đồ lớp của hệ thống điễn hoạt...............................................................99 Hình 6-1 Ví dụ bao bọc đối tượng Game bằng đối tượng của NovodeX ...............108 Hình 6-2 Các lớp chính trong hệ thống vật lý.........................................................109 Hình 6-3 Điều khiển nhân vật với NovodeX ..........................................................113 Hình 8-1 Đặc điểm của 1 particle dạng smoke .......................................................124 Hình 8-2 Đặc điểm của 1 particle dạng spark.........................................................125 Hình 8-3 Một số hệ thống hạt được sử dụng trong Game ......................................126 Hình 8-4 Các thuộc tính biễu diễn cho hành vi của quái vật ..................................128 Hình 8-5 Sơ đồ trạng thái của quái vật ...................................................................129 Hình 9-1 Màn hình giới thiệu..................................................................................135 Hình 9-2 Màn hình tác giả ......................................................................................135 Hình 9-3 Màn hình chơi Game ...............................................................................136 Hình 9-4 Người chơi sẽ gặp nhiều quái vật trong quá trình chơi ...........................137 Hình 9-5 Các vật thể tương tác với nhau theo đúng các định luật vật lý................138 Hình 9-6 Cửa tự động mở khi người chơi đến gần .................................................138 Hình 9-7 Nhiều chi tiết được thiết kế cho khẩu súng .............................................139 Hình 9-8 Khi bắn trúng quái vật, máu sẽ phun ra ...................................................140 Hình 9-9 Lửa bốc lên từ người quái vật ..................................................................140 Hình 9-10 Hiệu ứng ánh sáng khi quái vật chết hay xuất hiện ...............................141 - x - DANH SÁCH CÁC BẢNG Bảng 1-1 So sánh một số Game Engine......................................................................7 Bảng 3-1 Các cờ của texture .....................................................................................44 Bảng 3-2 Các hằng mặc định cơ bản.........................................................................49 Bảng 3-3 Các tổ hợp nguồn sáng ..............................................................................52 Bảng 8-1 Các trạng thái của quái vật ......................................................................129 Bảng 8-2 Các hành động của quái vật.....................................................................130 Bảng 9-1 Các phím điều khiển toàn cục .................................................................133 Bảng 9-2 Các phím điều khiển nhân vật .................................................................133 Bảng 9-3 Các phím điều khiển camera ở chế độ đi theo người chơi ......................134 Bảng 9-4 Các phím điều khiển camera ở chế độ tự do ...........................................134 - xi - MỘT SỐ TỪ VIẾT TẮT 3D 3 Dimension 3 chiều AI Artificial Intelligence Trí tuệ nhân tạo ALU Arithmetic Logic Unit Đơn vị số học và luận lý API Application Program Interface Hệ giao tiếp lập trình ứng dụng GPU Graphic Processor Unit Đơn vị xử lý đồ hoạ HLSL High Level Shader Language Ngôn ngữ shader cấp cao PS Pixel Shader VS Vertex Shader Chương 1. Tổng quan - 1 - Chương 1 Tổng quan Game Engine và 3D Engine Mối quan hệ giữa Game Engine và Game Phân loại Game Engine Một số Game Engine hiện nay Tóm tắt Chương 1. Tổng quan - 2 - 1.1. Game Engine và 3D Engine Game Engine gồm một tập hợp các thành phần khác nhau làm nền tảng tạo nên một Game (trò chơi) trên máy tính. Các thành phần cơ bản bao gồm: Hệ thống toán học (Math system). Hệ thống xử lý tập tin dữ liệu (File system). Hệ thống hiển thị đồ hoạ (Render system). Hệ thống quản lý diễn hoạt (Animation system). Hệ thống xử lý nhập và xuất (Input and Output system). Hệ thống xử lý các tương tác vật lý (Physics system). Hệ thống xử lý trí tuệ nhân tạo (Artificial intelligence system). Hệ thống xử lý mạng (Network system). Hệ thống tạo hiệu ứng khác như khói lửa, âm thanh, …(Effect system). Trong các Game khác nhau thì vai trò của các thành phần trên sẽ khác nhau. Thông thường xây dựng Game ta chỉ cần một số trong các thành phần trên mà thôi. Việc xây dựng và quản lý tất cả các thành phần trên của một Game Engine đòi hỏi một lượng lớn thời gian cũng như công sức và đôi khi đòi hỏi nhiều kĩ thuật và kiến thức của nhiều lĩnh vực khác nhau. 3D Engine bao gồm một tập các hệ thống trong Game Engine nhằm giải quyết các vấn đề chính của đồ hoạ 3D là dựng hình 3D. Do đề tài tập trung nghiên cứu và xây dựng một 3D Engine nên chúng tôi tập trung vào xây dựng hệ thống hiển thị và hệ thống quản lý tập tin. Ngoài ra, do chúng tôi hướng đến sẽ xây dựng 3D Engine Nwfc của mình trở thành Game Engine thật sự và hiện tại cần các hệ thống khác để xây dựng Game demo hoàn chỉnh nên chúng tôi cũng đã tìm hiểu và xây dựng một số hệ thống khác của Game Engine (hiện tại chưa tích hợp vào Nwfc Engine). Do 3D Engine là một thành phần đặc trưng của Game Engine nên chúng ta sẽ tìm hiểu về 3D Engine thông qua việc tìm hiểu về Game Engine. Chương 1. Tổng quan - 3 - 1.2. Mối quan hệ giữa Game Engine và Game Hình 1-1 Vai trò của Game Engine Game Engine chính là thành phần cốt lõi làm nền móng xây dựng nên Game. Sự khác biệt giữa Game Engine và bản thân Game tương tự như sự khác biệt giữa động cơ và chiếc xe. Chúng ta có thể đem động cơ ra khỏi xe, chỉnh sửa và dùng lại. Một Game Engine có thể được xem như là một phần không phụ thuộc vào Game, nó cũng có thể được thay đổi độc lập với Game mà không làm thay đổi cấu trúc logic của Game. 1.3. Phân loại Game Engine 1.3.1. Isometric Engine Đây là Game Engine dùng trong các trò chơi 2D. Các Game Engine này hiện nay có một số phần là 2D nhưng một số phần là 3D và có thể trong thời gian sắp đến sẽ chuyển hẳn sang 3D. Lý do chính của việc chuyển đổi sang 3D là để tận dụng các tính năng về ánh sáng (light) và đổ bóng (shadow) lên các đối tượng 2D. Các Game Engine này thường được sử dụng trong các Game chiến lược (strategy) và trong các thể loại Game nhập vai (RPG: Role Game Play Genre). Một số Game được xây dựng trên Isometric Engine có thể kể đến như Baldur’s Gate 2, Diablo 2 và Warlords Battle Cry 2. Chương 1. Tổng quan - 4 - Isometric Engine không phải là một Game Engine tốt cho việc xây dựng các Game chuyên về đồ hoạ 3D và các ứng dụng thực tại ảo (Virtual Reality) vì nó không hoàn toàn là một 3D Engine mà chỉ có một số chức năng 3D. 1.3.2. 3D FPS (First Person Shooter) Engine Đây là Game Engine dùng nhiều nhất trong các 3D Game hiện nay. Với sự phát triển vược bật về công nghệ Game trong vài thập niên gần đây thì người dùng mong muốn có những Game bắt mắt nhất và loại Game Engine này đã đáp ứng được nhu cầu đó. Một số trong rất nhiều Game được xây dựng trên các 3D FPS Engine như: Doom, Quake, Half Life, Counter Strike, Unreal, Duke Nuke’m, DeusEx, Halo, Wolfenstein, Medal of Honor, Serious Sam, Spec Ops, Dessert Storm và Hitman. 3D FPS Engine đã tạo ra những thay đổi lớn lao trong các Engine xây dựng thực tại ảo. Các Game Engine này thông thương còn kèm theo các công cụ để tạo ra các sản phẩm mang tính nghệ thuật và tương tác cao. Các ứng dụng tạo ra các mô hình 3D nổi tiếng như 3DSMax, Maya, và Softimage đều có thể kết xuất (export) kết quả vào các Game Engine này. Các đặt trưng cơ bản của các Game Engine này là nó hỗ trợ nhiều chức năng như tô bóng điểm (pixel shader), quản lý diễn hoạt (animation), mô phỏng vật lý, mô phỏng chuyển động của các hạt nhỏ (như bụi, lửa, khói), mô phỏng chất lỏng, áo quần, và các hiệu ứng khác mà ta hiếm khi được thấy ở các 2D Engine. 1.3.3. MMOG (Massive Multiplayer Online Game) Engine Sự khác biệt chính giữa các Game Engine đã đề cập và MMOG Engine là Game Engine này dựa trên việc lập trình trên mạng và quản lý dữ liệu thông qua mạng. Các Game xây dựng trên MMOG Engine thường chứa một cơ sở dữ liệu lớn và thực hiện trên một mạng phân tán và xử lý cho một số lượng lớn người chơi trong cùng lúc. Cũng chính vì vậy mà sự tối ưu trong việc sử dụng băng thông mạng hết Chương 1. Tổng quan - 5 - sức quan trọng và có thể nói là yếu tố sống còn của MMOG Engine. Việc nén dữ liệu và chọn lọc dữ liệu truyền trên mạng tốt có thể tiết kiệm được rất nhiều chi phí. Hầu hết các MMOG Engine hiện này đều tương thích và được tích hợp với một FPS Engine. Nhờ vậy ngoài các yếu tố liên quan đến mạng thì loại Engine này có các chức năng đáp ứng được các ứng dụng thực tại ảo và các yếu tố nghệ thuật được đảm bảo và đây là một yếu tố quan trọng để các người chơi hứng thú ngồi hàng giờ để chơi các Game mạng. Một số Game được xây dựng trên MMOG Engine có thể kể đến như: Ultima Online, Ever Quest, Asheron’s Call và Anarchy Online. 1.4. Một số Game Engine hiện nay Ngày nay trên thế giới có rất nhiều Game Engine. Mỗi Game Engine được tạo ra với những mục đích, đặc tính và độ phức tạp khác nhau và do đó sẽ rất khó khăn cho người dùng trong việc chọn ra một Game Engine cho chính mình sử dụng. Hầu hết các Game Engine ngày nay cung cấp tốt các tính năng cơ bản của một Game Engine và tuỳ thuộc vào nhu cầu cũng như khả năng mà chúng ta chọn ra một Game Engine phù hợp cho ứng dụng của mình. Một số Game Engine tiêu biểu có thể kể đến như: Unreal - $10,000, Quake2 - $10,000, Quake3 - $250,000, Torque - $100, 3D Game Studio – $80, Genesis - $10,000, Lithtech - $75,000, Crystal Space – Free, Power Render - 5,500, OpenSceneGraph, XEngine, NeoEngine, OpenApp…
File đính kèm:
- thu_nghiem_3d_engine_1.pdf