CHƯƠNG VI I: HỆ THỐNG VẬT LÝ 7.1 hệ thống vật lý
7.4. Engine vật lý NovedeX 7.5 kết hợp Novodex văo Game
novodeX lă một phần hoăn toăn độc lập, chức năng chính lă chỉ quả lý về vật lý vă nó được xđy dựng trín một thư viện toân học riíng. Do đó để sử dụng được câc tính năng của NovodeX thì cần phải bao bọc nó lại để có thể sử dụng kết hợp với câc thănh phần khâc như hệ thống hiển thị, hệ thống diễn hoạt. việc bao bọc hệ thống vật lý còn giúp chúng ta có thể sử dụng nó một câch thống nhất với câc phần khâc thông qua cùng một thư viện toân.
Tư tưởng chính để sử dụng hệ thống vật lý NovodeX lă ta dùng câc vật thể vă mesh do NovodeX thực hiện xong ta lấy vị ttí vă góc quay mới của câc vật thể bao bọc của NovodeX để cập nhật lại vị trí vă góc quay tương ứng cho câc vật thể vă nhđn vật trong Game. Ví dụ như ta có một khối hộp trong măn Game, ta sẽ dùng một đối tượng hộp cùng kích của NovodeX để ao bọc nó lại. việc xử lý va chạm hay việc mô phỏng chuyển động cho khối hộp lă do hệ thống NovodeX quản lý thông qua khố hộp bao đối tượng . sau khi hệ thống NovodeX xử lý rồi thì ra lấy sự biến đổi của khối
hoọp bao bọc để cập nhật lại trạng thâi cho khối hộp trong game
Trong ví dụ ở hình vẽ trín, ta có hai đối tượng một lă một khối hình chữ nhật, một lă một khối capsule (hình trụ với hai đầu lă hai bân cầu). ta sẽ dùng hai hình hộp vă capsule tương ứng bao bọc lại với cùng kích thước vă khớp với vật thể của Game. bằng câch thực hiện như vậy ta tận dụng được tất cả câc tính năng vđt lý do NovodeX cung cấp vă tất nhiín ta không hiển thị câc hình bao bọc trong Game mă chỉ dùng chúng như vật trung gian để xử lý vật lý.
để thực hiện việc bao bọc câc thănh phần trong Game bằng câc đối tượng vật lý thì bước đầu tiín vă quan trọng nhất lă ta phải khởi tạo câc đối tượng bao bọc. để lăm được việc khởi tạo đó thì sau khi đê xđy dựng măn, ta đê xâc định được vị trí, kích thước, góc xoay của câc đối tượng trong măn Game thì ta tạo ra câc vật thể bao bọc tương ứng dựa trín câc thuộc tính đó.
NovodeX cung cấp cho ta rất nhiều chức năng để ta có thể hoăn toăn xđy sựng một Game chỉ dựa văo nó mă thôi. Tuy nhiín trong Game ra chỉ cần sử dụng một số tính năng chính để xử lý vật lý. Câc chức năng về vật lý chính cần dùng lă quản lý vật lý cho câc đối tượng, quản lý câc va chạm giữa câc vật thể trong Game, điều khiển nhđn vật di chuyển trong măn Game, xâc định điểm ca chạm dựa văo tia chiếu trong việc xử lý bắn đạn, kết nối câc đối tượng thông qua câc khớp để tạo nín như vật thể có cơ cấu phức tạp như xe, hệ thống truyền lực, … như vậy ta có thể chia hệ thống vật lý ra thănh ba thănh phần chính sau:
Thănh phần quản lý chung: đđy la thănh phđn giúp thực hiện việc khởi tạo, huỷ hệ thống cũng như thực hiện thiết lập câc thông số đặc trưng cho hệ thống vật lý như gia tốc trọng trường, câc loại vật liệu bề mặt, xử lý câc sự kiện trả về khi có va chạm xảy ra, thực hiện việc giả lalạp vật lý, vă hiển thị chế độ debug để kiểm tra. Trong Game chỉ tồn tại một đối tượng hệ thống vật lý năy mă thôi hay đối tượng vật lý lă đối tượng toăn cục.
quản lý câc đối tượng: thănh phần năy thực hiện quản lý cho câc đối tượng tĩnh động trong măn Game. Thănh phần năy giúp ta cho khởi tạo câc hình bao bọc câc đối tượng, thực hiện giả lập vật lý, trả về lại vị trí vă góc xoay để ta thiết lập lại câc thuộc tính cho câc đối tuợng trong Game.
quản lý nhđn vật: thănh phần năy giúp ta quản lý sự di chuyển hay xử lý câc tình huống xảy ra cho nhđn vật như va chạm, tiến đến gần một đối tượng khâc