Với bài toán đã đƣợc nêu đầu tiên chúng ta phải tiến hành xây dựng các mô hình 3D để thể hiện không gian, và đối tƣợng.
Các mô hình cần xây dựng là : Mô hình trƣờng bắn ngoài trời bao gồm cả bia bắn, mô hình trƣờng bắn trong nhà, mô hình các đối tƣợng khủng bố và các hành động của chúng. Với yêu cầu này thì chúng tôi chọn giải pháp là tìm, lựa chọn sử dụng các mô hình miễn phí trên mạng.
Bƣớc tiếp theo là xây dựng hệ thống bắn súng theo hai kịch bản. Với yêu cầu hệ thống thì một số công việc cần giải quyết:
Thể hiện hiệu ứng bóng bề mặt: Để thể hiện hiệu ứng bóng bề mặt trong ứng dụng này chúng tôi sử dụng hai phƣơng pháp chính đó là Gauraud và Phong cho các loại hiệu ứng bề mặt khác nhau.
Thể hiện hiệu ứng bóng đổ: Với hiệu ứng bóng đổ hệ thống đã cài đặt và thể hiện nó theo phƣơng pháp tạo bóng đổ bằng bóng khối, sử dụng thuật toán Depth-fail.
Thực hiện kịch bản cho các đối tƣợng: Để thực hiện đƣợc kịch bản của các đối tƣợng thì phải thể hiện đƣợc từng hành động của đối tƣợng. Các hành động của đối tƣợng đƣợc thể hiện qua mô hình hành động (mô hình lƣu trữ các hình liên tiếp của đối tƣợng để tạo thành một hành động). Tuy nhiên các hình này là các hình rời rạc muốn có cảm giác trơn, liên tục hơn thì phải tiến hành nội suy để lấy đƣợc các hình trung gian phục vụ cho hiển thị. Phƣơng pháp nội suy mà Em sử dụng trong hệ thống là nội suy tuyến tính. Ngoài ra để xác định đƣợc hành vi của từng đối tƣợng phải biết môi trƣờng quanh nó là gì?. Cụ thể vị trí quan sát tƣơng đối của ngƣời dùng so với các đố tƣợng, để xác định đƣợc điều này chúng tôi sử dụng một tia nhìn từ đối tƣợng đến
Camera theo một góc nhất định, nếu tia qua sát không va chạm với bất kỳ mô hình cố định khác thì có nghĩa đối tƣợng nhìn đƣợc ngƣời sử dụng và ngƣợc lại.
Kịch bản dịch chuyển của ngƣời sử dụng trong bài bắn di động đƣợc thực hiện bằng một loại đối tƣợng động đó là track, theo đó ngƣời sử dụng sẽ dịch chuyển trên một hành trình đã đƣợc vạch ra từ trƣớc.
Để thực hiện công việc trên với môi hình, chúng tôi lựa chọn chuẩn mô hình là chuẩn VRML (một chuẩn rất phổ biến trong lĩnh vực 3D nói chung và trong lĩnh vực thực tại ảo nói riêng). Việc cài đặt hệ thống đƣợc lựa chọn trên ngôn ngữ C++, sử dụng bộ công cụ phát triển “Microsoft Visual studio.Net” phiên bản 7.0(2003) của “Microsoft”. Ngoài ra hệ thống sử dụng một số bộ thƣ viện bao gồm: Bộ thƣ viện đồ họa “OpenGL”, bộ thƣ viện cho âm thanh là “OpenAL”.