3.3 Xây dựng chương trình hiển thị
Phần mềm luôn là linh hồn của VR cũng như đối với bất cứ một hệ thống máy tính hiện đại nào. Về mặt nguyên tắc có thể dùng bất cứ ngôn ngữ lập trình hay phần mềm đồ họa nào để mô hình hóa và mô phỏng các đối tượng của VR. Ví dụ như các ngôn ngữ (có thể tìm miễn phí) Open GL, Open Scene Graph, Open SG, C++, Java 3D, VRML, X 3D, ...hay các phần mềm thương mại như World ToolKit, People Shop, VeGa... Phần mềm của bất kỳ VR nào cũng phải bảo đảm 2 công dụng chính: Tạo hình và mô phỏng. Các đối tượng hình học - bao gồm những thông tin mô tả các thuộc tính vật lý (hình dạng, màu sắc, vị trí...) của các đối tượng trong môi trường ảo. - Tạo hình tức là xây dựng mô hình 3D toàn bộ các di tích cần mô phỏng, với chất lượng hiển thị đồ họa tốt nhất có thể. Các đo đạc 3 chiều có thể tái hiện được các di vật, đồ tạo tác, nhà cửa và các vật thể 3 chiều khác trên máy tính. Không gian hor pha keo được xây dựng bằng cách tẩm phủ các kiến trúc bề mặt bằng công nghệ mô phỏng. Sau đó chuyển đổi dữ liệu sang dữ liệu đặc thù của chương trình hiển thị giúp người dùng có thể thị sát ở những góc độ khác nhau.
- Mô phỏng là quá trình “bắt chước” hay mô tả các sự vật hiện tượng, cảnh vật có thực trong thiên nhiên hoặc trong trí tưởng tượng của con người. Hệ mô phỏng là một hệ thống thông tin đầy đủ về một môi trường nào đó mà con người có thể giao tiếp được. Trong luận văn này, mô phỏng là xây dựng chương trình mô phỏng về mặt hình ảnh các hiệu ứng khi người dùng thị sát không gian hor pha keo. Bởi chất lượng hiển thị đồ họa là nền tảng của bất kỳ một hệ thống mô phỏng thực tại ảo nào, thông
Camera quan sát Tạo cảnh với tỉ lệ quan sát Thiết lập vùng ảnh 512×512 pixels Chuyển qua các vùng 512×512 Tổng hợp ảnh ở độ phân giải xác lập
Hình 3.6 Workflow quá trình sinh ảnh của cảnh mô phỏng tác động vào người khi thị sát của phần mềm sinh cảnh
qua các hình ảnh trực quan, các cảnh quan để người dụng cảm nhận độ trung thực của hệ thống mô phỏng. Với kỹ thuật đồ họa hiện nay có thể mô phỏng được hầu hết các hiệu ứng đồ họa chất lượng cao giúp tạo lập các sản phẩm mô phỏng và thực tại ảo. Xem kiến trúc tổng quan của hệ thống trong hình.
Trong sơ đồ trên để tạo ra một phần mềm mô phỏng không gian di tích cần thông qua hệ thống phát triển phần mềm mô phỏng - thực tại ảo dựa trên các hệ thống của sản phẩm thực tại ảo và mối quan hệ giữa các hệ thống đó:
- Hệ thống hiển thị: Hiển thị cơ sở dữ liệu 3D, hiển thị mô hình khi tẩm phủ ảnh texture nhiều lớp, các chế độ hiển thị màn hình… Đối với hệ thống hiển thị thời gian thực điều kiện tốt nhất của số khung hiển thị trên màn hình là trong khoảng 60 đến 85 khung/giây.
- Hệ thống tương tác: Tương tác giữa người dùng với cảnh, tương tác của camera thị sát với cảnh, tương tác của bàn phím, chuột với cảnh, điều khiển sự chuyển động của các đối tượng trong cảnh…
- Hệ thống đồng bộ: Đồng bộ cảnh, đồng bộ về phần cứng đồ họa… - Hệ thống truyền.
Tóm lại, một hệ thống mô phỏng được thiết kế tốt, kết hợp với các thiết bị trình chiếu hiện đại và các thiết bị tương tác ngoại vi sẽ giúp con người tiếp cận được với thế giới ảo đó như đang ở trong thế giới thực. Việc tạo ra các mô hình đối tượng có độ chân thực và sức hấp dẫn hoàn toàn phụ thuộc vào cách lựa chọn phương pháp để thể hiện chúng. Hiển thị Hệ thống tương tác Hệ thống đồng bộ Hệ thống truyền Hệ thống phát triển phần mềm Mô phỏng – Thực tại ảo
Phần mềm Mô phỏng không gian di tích
Hiệu quả việc thực hiện phân cấp dữ liệu, sẽ có lợi khi tổ chức các đối tượng trong một sự phân cấp hoặc dạng cây, truyền lan bất kỳ thông tin dùng chung nào về phía gốc của cây. Có nhiều loại cây có thể sử dụng. Nhưng hãy xây dựng cho nó có một sự phân cấp bậc N đồ họa phi tuần hoàn trực tiếp. Giống như mô hình 3D cơ bản sẽ có một nút gốc, với một hoặc nhiều nút con hơn. Mỗi nút con có thể lần lượt chứa đựng nút rỗng hoặc nhiều nút con, một vài nút sẽ là những đối tượng đồ họa muốn vẽ. Những nút khác là dùng cho những mục đích cấu trúc và có thể trở nên phức tạp trong dữ liệu. Ví dụ, nếu một tòa nhà đã có các phòng, một nút nhóm của mô hình 3D (gọi nó là "Tòa nhà") có thể chứa đựng vài nút (gọi là "phòng - 0" "phòng - 1" .v.v.). Hình bao chữ nhật của nút "Tòa nhà" được định nghĩa sao cho nó chứa đựng các hình bao của tất cả các phòng. Như vậy nếu nút tòa nhà được xác định là bị ẩn đi, thì nó sẽ không có nhu cầu để kiểm tra những nút con một khi chúng cũng bị ẩn. Lợi ích khác của sự phân cấp là dễ dàng thao tác.
v
Bằng cách tách đối tượng thành “các nút” và mô tả kết nối giữa những nút này, có thể thao tác các hình đa giác của HOR PHA KEO tốt hơn. Có thể làm cho các phần trở nên sống động hơn. Lợi ích của việc vẽ và phân loại trạng thái. Như vậy, nếu xét HOR PHA KEO thì nó có thể được tổ chức như sau: Nếu HOR PHA KEO có các lớp không gian khác nhau, thì HOR PHA KEO là một nút nhóm của mô phỏng 3D, có thể chứa đựng các nút.
3.4.1 Dựng hình 3D (Modelling 3D).
Dựng hình 3D hay 3D modelling là một thuật ngữ mô tả việc sử dụng một phần HOR PHA KEO
Khuôn viên sân
Tường bao và đường đi
lên Trụ và mái tháp Sân có đường đi Đường Cửa Tượng rồng Hoa văn Tường bao Cửa ra vào Mái che Tượng phật Trụ tháp
Hình 3.8 Mô tả phân cấp HOR PHA KEO
đồ họa có hình dáng, kích thước, màu sắc mô phỏng một vật, đối tượng nào đó trong thực tế hay trong trí tưởng tượng của chúng ta. Cụ thể có thể ví dụ như: tạo nhà,cây,xe,các nhân vật.v.v.
Các phần mềm thiết kế, dựng hình 3D đều cung cấp đầy đủ các công cụ,
chức năng tương tự nhau với mục đích cuối cùng là cho phép chúng ta tạo ra các mô hình 3D hoàn chỉnh. Các công cụ đó có thể là những công cụ vẽ hình 2D như Line,Circle,Rectangle,… Những công cụ vẽ hình 3D như Box,Plane,Spherical,… Những lệnh chuyển đổi,hiểu chỉnh cho phép chúng ta tùy chỉnh các đơn vị của một đối tượng 3D(đỉnh-vertex,cạnh-edge,poly-đa giác,face-mặt,element-đơn vị).mô hình cuối cùng là một hoặc một tập hợp của các mô hình 3D với các đơn vị cơ bản(tiêu biểu là poly) thể hiện hình dạng của đối tượng mà ta muốn mô phỏng dưới dạng mô hình 3D trong máy tính. Lúc này, mô hình có thể được xem như là một khung hay một lưới thô được chuẩn bi cho nhiều bước kế tiếp.
Hình 3.9 Modelling tạo ra mô hình 3D mô phỏng một trụ hình cột nhỏ
Để tạo nên vẻ bề ngoài của mô hình như các thành phần màu sác, sự phản xạ ánh sáng,… chúng ta sử dụng các hình ảnh được biên tập từ các phần mềm biên tập,xử lý ảnh như Photoshop cùng các chức năng và lệnh hiệu chỉnh liên quan để áp vào mô hình. Các công việc thiết kế và áp hình ảnh này gọi là Texturing và mapping mà chúng ta có thể gọi nom na bằng tiếng Việt là tạo và áp vật liệu cho mô hình.Thông thường, công việc này là một công đoạn riêng và đọc lập với Modelling, tuy nhiên đối với một nhóm phát triển Game nhỏ với ít nhân lực và công đoạn thì Texturing và Mapping có thể được kết hợp thành một phần của công việc Modelling.
Hình 3.11 Mô hình 3D sau khi áp vật liệu
3.4.2. Thiết kế môi trường.
Trong quá trình thiết kế môi trường, chúng ta có thể chia làm 4 công đoạn cơ bản nổi tiếp như là:
1) Dựng hình – Modelling: Thiết kế mô hình 3D mô phỏng các đối tượng từ thực tế hoặc trí tưởng tượng(kịch bản,ý tưởng).
2) Thiết kế địa hình: ở bước này, chúng ta tạo ra địa hình với mục địch phản ánh “phần nền” của môi trường như đất, gỏ,… Nằm mục đích cuối cùng là làm “nền” để có thể đặt các đối tượng khác lên. Việc thiết kế địa hình khi phát triển một trò chơi bằng Unity có 2 lựa chọn là: dựng địa hình bằng một ứng dụng dựng hình như mọi hình 3D khác hoặc sử dụng công cụ thiết kế địa hình của Unity.
3) Phối cảnh: Nhập tất cả các mô hình 3D đã được thiết kế và xuất bởi phần mềm dựng hình 3D vào Unity.Thực hiện các thao tác kéo thả, tủy chỉnh để xác định vị trí, kích thước của các mô hình trong cảnh.
4) Áp dụng các hiệu ứng: thiết kế và áp dụng các hiệu ứng thành phần của môi trường như ánh sáng.
Hình 3.12 dựng hình 3D vào Unity
Hình 3.13 viết chương trình quản lý
3.5.Một hình ảnh mô phỏng
Sau khi thiết kế các vật trong HOR PHA KEO bằng 3Ds max được số hóa. Là đầu vào cho lập trình điều khiển ta thu được một số kết quả như hình dưới đây.
Sau khi load các đối tượng 3D vào trong hệ thống, tiếp đến là quá trình tương tác, cho người sử dụng di chuyển vào không gian bằng bàn phím giống như đang đi vào không gian thật, tương tác với hiện vật bằng cách kích chuột vào đối tượng.
Hình 3.14 Tượng xung quanh HOR PHA KEO(ảnh chụp)
Hình 3.16 Đường lên vào HOR PHA KEO( ảnh chụp)
Hình 3.18 Các đường lên vào HOR PHA KEO ( ảnh chụp)
Hình 3.20 Các nhà xung quanh ( ảnh chụp)
Hình 3.22 Bên cạch Hor PHA KEO ( ảnh chụp)
KẾT LUẬN
1. Kết quả đạt được.
Sau thời gian thực hiện luận văn, quá trình nghiên cứu, tìm hiểu và đạt được một số kết quả sau:
Tìm hiểu một số kỹ thuật hiển thị mô hình 3D như: Kỹ thuật hiển thị mô hình Impostor,kỹ thuật hiển thị mô hình Occlusion – Culling, kỹ thuật hiển thị mô hình Bump Mapping.
Ứng dụng phần mềm 3Ds max trong thiết kế mô hình 3D.
Sử dụng các dữ liệu ảnh thu thập và các công cụ liên quan tạo nên khu di tích trong HOR PHA KEO.
Cài đặt thành công chương trình mô phỏng di tích HORPHAKEO bằng đồ họa 3D
Ứng dụng công nghệ VR lập trình với C#, và Unity 3D Game Engine để xây dựng phần mềm mô phỏng không gian di tích HOR PHA KEO .
2. Hướng phát triển.
Tìm hiểu thêm về quá trình hình thành và phát triển di tích lịch sử, văn hóa HOR PHA KEO , một số khu di tích lịch sử khác để xây dựng và phát triển thêm các phần mềm mô phỏng khác.
Tạo ra một nguồn tư liệu phong phú, chất lượng, dễ tiếp cận và thân thiện với tất cả mọi người.
Ứng dụng công nghệ thực tại ảo đưa ra phương thức chiêm nghiệm quá khứ trực quan, đỡ tốn kém, tránh mất thời gian và không thực tế hơn với việc phục chế hoàn toàn các di tích.
TÀI LIỆU THAM KHẢO
Tiếng Việt :
[1] Nguyễn Văn Huân , Vũ Đức Thái, Kỹ thuật lập trính mô phỏng thế giới thực Morfit 3D.
[2] Đỗ Năng Toàn, Phạm Việt Bình (2008), Xử lý ảnh, Nhà xuất bản Khoa học và kỹ thuật Hà Nội.
[3] Nguyễn Văn Tảo và nhóm nghiên cứu, Đề tài cấp Đại học Thái Nguyên (2013- 2014) “Nghiên cứu kỹ thuật tra cứu ảnh, ứng dụng trong tra cứu và quản lý một số loại cây dược liệu quý vùng rừng núi tỉnh Thái Nguyên”.
[4] Nguyễn Văn Trường, Trung tâm Công nghệ Mô phỏng – HVKTQS. “Hệ thống thời gian thực và ứng dụng trong kỹ thuật mô phỏng”, Recognizing 3D object for automatic toolpath generation an verification.
[5] Công ty cổ phần phát triển công nghệ và hệ thống mô phỏng W2G, “Mô phỏng không gian phổ cổ Hà Nội”.
[6] Nguyễn Văn Trường, Trung tâm Công nghệ Mô phỏng – HVKTQS “Impostor và Occlusion Culling”
[7] Nguyễn Văn Trường, Trung tâm Công nghệ Mô phỏng –HVKTQS, “Giới thiệu nhanh về Scenengraph API của cộng đồng mã nguồn mở (Tiếng việt)”.
[8] Nguyễn Văn Trường, Trung tâm Công nghệ Mô phỏng –HVKTQS, “Bump mapping”
[9] Nguyễn Văn Trường, Nguyễn Văn Đức, Trung tâm Công nghệ Mô phỏng – HVKTQS, “Tái hiện các di tích lịch sử bằng công nghệ thực tại ảo”.
Tiêng Anh:
[10] Paul Martz. (2007) OpenSceneGraph Quick Start Guide, Skew Matrix Software LLC.
[11] Martin Kada, Stefan Roettger, Karsten Weiss, Thomas Ertl, Dieter Fritsch. Real-Time Visualisation of Urban Landscapes Using Open-Source Software.ifp/VIS Group, University of Stuttgart, Germany martin.kada @ifp.uni- stuttgart.de roettger@cs.fau.de
Internet:
[12] http://www.tourismlaos.org/show_province.php?Cont_ID=783 [13] Website: https://en.wikipedia.org/wiki/Haw_Phra_Kaew