1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web

86 598 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 86
Dung lượng 3,66 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Công nghệ 3D thể hiện cảnh vật giống như thực, được ứng dụng rất nhiều trong việc quảng cáo sản phẩm, đặc biệt quảng cáo ô tô, máy bay, tầu thủy, rất phù hợp với việc quảng bá du lịch..

Trang 1

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP

Đồ án trình bày tổng quan về cách tiếp cận công nghệ thực tại ảo (VR), ứng dụng vào quảng bá sản phẩm được mô phỏng dưới dạng không gian ba chiều trên nền web Bố cục đồ án được chia thành ba chương:

Chương 1: CÔNG NGHỆ VR VỚI THƯƠNG MẠI ĐIỆN TỬ VÀ QUẢNG BÁ SẢN PHẨM TRÊN NỀN WEB

Công nghệ VR đã hình thành và phát triển từ những năng 1990, công nghệ này đòi hỏi cấu hình phần cứng phải cao Tuy nhiên thời đầu phần cứng do còn hạn chế nhiều nên công nghệ này còn chưa được chú ý nhiều Bắt đầu từ năm

1965 ngành công nghiệp thực tại ảo được hình thành Đặc biệt thời gian gần đây, song song với sự phát triển mạnh mẽ của phần cứng, ngành công nghiệp thực tại

ảo phát triển rất mạnh và đã được ứng dụng mạnh trong nhiều lĩnh vực của đời sống như: y tế, giáo dục, giải trí, kiến trúc và thương mại điện tử

Việc ứng dụng công nghệ VR vào lĩnh vực thương mại điện tử ngày nay được chú ý nhiều tới khâu quảng bá sản phẩm trên nền web Với công nghệ này, sản phẩm được mô phỏng dưới dạng không gian ba chiều và đưa lên trang web

để cho khách hàng xem với những đặc tính của công nghệ VR, khách hàng sẽ được cảm giác trải nghiệm với sản phẩm như thực tế

Chương 2: ỨNG DỤNG CÔNG NGHỆ VR VÀO QUẢNG BÁ SẢN PHẨM TRÊN NỀN WEB

Đưa một sản phẩm lên web ta phải: mô phỏng sản phẩm đó trong không gian ba chiều (Sử dụng thư viện đồ họa OSG); Sau khi mô phỏng, sản phẩm sẽ được đưa lên web quảng cáo (sử dụng trình duyệt Firefox) thông qua plug-ins

Chương 3: ỨNG DỤNG QUẢNG BÁ SẢN PHẨM Ô TÔ TRÊN NỀN WEB

Trang 2

MỤC LỤC

TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 1

MỞ ĐẦU 1

CHƯƠNG 1: CÔNG NGHỆ VR VỚI THƯƠNG MẠI ĐIỆN TỬ VÀ QUẢNG BÁ SẢN PHẨM TRÊN NỀN WEB 3

1.1 Tổng quan về thương mại điện tử 3

1.1.1 Khái niệm thương mại điện tử 3

1.1.2 Vai trò của thương mại điện tử đối với sự phát triển kinh tế xã hội 3

1.2 Quảng bá sản phẩm trên nền web 4

1.2.1 Khái niệm quảng bá sản phẩm trên nền web 4

1.2.2 Quảng cáo sản phẩm 3D tương tác trên nền web 5

1.3 Công nghệ thực tại ảo 8

1.3.1 Thực tại ảo là gì? 8

1.3.2 Sự ra đời ngành công nghiệp thực tại ảo 10

1.3.3 Các đặc tính của Thực tại ảo 10

1.3.3.1 Tính tương tác thời gian thực 10

1.3.3.2 Sự đắm chìm 12

1.3.3.3 Sự tưởng tượng 14

1.3.4 Các thành phần của một hệ thống thực tại ảo 14

1.3.4.1 Phần cứng 14

1.3.4.2 Bộ giả lập thực tại 15

1.3.4.3 Ứng dụng 15

1.3.5 Các lĩnh vực ứng dụng của công nghệ thực tại ảo 17

1.3.5.1 Kiến trúc và thiết bị công nghiệp 17

1.3.5.2 Giải trí 18

1.3.5.3 Giáo dục và đào tạo 19

1.3.5.4 Thương mại điện tử 20

1.3.5.5 Y học 20

1.3.6 Vai trò của thực tại ảo trong quảng cáo 21

1.4 Giới thiệu OpenSceneGraph (OSG) 22

Trang 3

1.4.1 Thuật ngữ Scene graph 22

1.4.2 Những tính năng của scene graph 24

1.4.3 Một số thư viện hỗ trợ lập trình OpenSceneGraph 26

1.4.4 Một số lớp cơ bản trong Scene Graph 27

1.4.4.1 Lớp Node 27

1.4.4.2 Group 27

1.4.4.3 LOD 27

1.4.4.4 MatrixTransform 27

1.4.4.5 Switch 28

1.4.4.6 Lớp hình học 28

1.4.5 Quản lý bộ nhớ và các lớp quản lý trạng thái 32

1.4.5.1 Quản lý bộ nhớ 32

1.4.5.2 Các lớp quản lý trạng thái 34

1.4.6 Các tiện ích và các lớp khác 36

1.4.6.1 Lớp Referenced 36

1.4.6.2 Lớp ref_ptr<> 36

1.4.6.3 Lớp đối tượng (Object) 37

1.4.6.4 Thông báo (Notify) 37

1.4.6.5 File I/ O 37

CHƯƠNG 2: ỨNG DỤNG CÔNG NGHỆ VR VÀO QUẢNG BÁ SẢN PHẨM TRÊN NỀN WEB 41

2.1 Mô phỏng sản phẩm dưới dạng không gian ba chiều tương tác 41

2.1.1 Kiến trúc tổng quan của hệ thống 41

2.1.2 Thu thập thông tin cho dữ liệu đầu vào 42

2.1.3 Xây dựng dữ liệu mô phỏng 43

2.1.4 Xây dựng các chức năng của hệ thống 44

2.1.4.1 Sơ đồ mô tả quan hệ giữa các hệ thống của sản phẩm thực tại ảo 44

2.1.4.2 Flow diagram quá trình số hóa và tái tạo cảnh 3D trong mô phỏng 46

2.1.4.3 Flow diagram xây dựng mô hình và xác định kiến trúc đối tượng 47

Trang 4

2.1.4.5 Flow diagram tạo vật liệu và ảnh phủ cho mọi mức chi tiết cảnh 3D 48

2.1.4.6 Workflow xây dựng dữ liệu mô phỏng mức thấp 49

2.1.4.7 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 49

2.2 Hiển thị sản phẩm trên nền web 49

2.2.1 Kiến trúc tổng quan của Firefox 49

2.2.1.1 Giới thiệu kiến trúc tổng quan của Firefox 49

2.2.1.2 Quá trình phát triển các thành phần của Firefox 52

2.2.2 Giới thiệu plug-ins 57

2.2.2.1 Plug-ins là gì? 57

2.2.2.2 Ứng dụng của các plug-ins 58

2.2.2.3 Plug-ins làm việc như thế nào? 59

2.2.2.4 Xây dựng plug-ins 59

CHƯƠNG 3: ỨNG DỤNG QUẢNG BÁ SẢN PHẨM Ô TÔ TRÊN NỀN WEB 60

3.1 Lựa chọn mô hình 60

3.1.1 Lựa chọn mô hình 60

3.1.2 Lý do lựa chọn 60

3.2 Nội dung bài toán 61

3.3 Giải quyết bài toán 61

3.3.1 Sử dụng công nghệ 61

3.3.2 Phân tích bài toán 62

3.3.3 Xây dựng dữ liệu 3D 63

3.3.3.1 Thu thập dữ liệu hình ảnh 63

3.3.3.2 Làm dữ liệu ánh xạ từ dữ liệu ảnh 64

3.3.3.3 Xuất dữ liệu 64

3.3.4 Lập trình mô phỏng xe ô tô 66

3.3.4.1 Một số hình ảnh xe được mô phỏng 66

3.3.5 Xây dựng giao diện web 69

3.3.5.1 Sơ đồ cấu trúc 69

3.3.5.2 Giao diện tổng quan 69

Trang 5

3.3.6 Hiển thị sản phẩm ô tô lên web 70

3.3.6.1 Lập trình hiển thị sản phẩm ô tô lên web 70

3.4 Kết quả đạt được 70

3.4.1 Hình ảnh khi chạy chương trình 70

3.4.2 Đánh giá kết quả 71

KẾT LUẬN 72

TÀI LIỆU THAM KHẢO 73

Trang 6

MỞ ĐẦU

Quảng bá sản phầm trên nền web bằng công nghệ thực tại ảo hiện nay trên thế giới đang có những phát triển mạnh Điều này được thể hiện ngày càng có nhiều người quan tâm (khách hàng, nhà phát triển cũng như các nhà nghiên cứu) Tuy là lĩnh vực còn khá mới mẻ so với nhiều lĩnh vực khác trong ngành công nghệ thông tin, nhưng tại Việt Nam, công nghệ thực tại ảo mô phỏng đang có nhưng bước phát triển mạnh mẽ song song cùng với sự phát triển của nó trên thế giới Được nhiều người quan tâm do có khả năng ứng dụng cao trong nhiều lĩnh vực, hầu như những gì có ngoài cuộc sống, ta đều có thể mô phỏng lại nó giống như thật trên máy tính Và là lĩnh vực đầy tiềm năng của tương lai gần

Một sản phẩm được mô phỏng bằng công nghệ thực tại ảo sau đó được đưa lên trang web để quảng bá tới khác hàng Công nghệ này có những yêu điểm hơn hẳn mà những công nghệ quảng bá sảm phẩm trước không có được Sản phẩm được mô phỏng bắt trước như thật làm cho sống động nội dung và đặc biệt khách hàng có cảm giác trải nghiệm trên sản phẩm mình quan tâm Và cùng với

sự phát triển và hỗ trợ của công nghệ thông tin hiện nay, việc phát triển mô phỏng để đưa các sản phẩm lên web không đòi hỏi nhiều tốn kém Do đó đây sẽ

là một giải pháp hữu hiệu cho các nhà kinh doanh muốn quảng bá sản phẩm của mình tới khách hàng

Lý do để em thực hiện đề tài này là:

- Nghiên cứu công nghệ VR với việc quảng bá sản phẩm trên nền web

- Nhận thấy khả năng ứng dụng vào thực tế của công nghệ là rất lớn, đặc biệt ứng dụng trong lĩnh vực thương mại điện tử, một lĩnh vực đang

được xã hội rất quan tâm và phát triển

- Để thực hiện được đề tài, sinh viên không chỉ cần phải có một kiến thức tổng hợp đã được học trong trường mà cần phải có lượng lớn kiến kiến

thức tự học khác

Trang 7

Mục đích của đề tài:

- Xây dựng sản phẩm ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web

Phương pháp nghiên cứu:

- Tên đề tài: “Nghiên cứu và ứng dụng công nghệ VR trong việc quảng

bá sản phẩm trên nền web”

- Đối tượng nghiên cứu: Mô phỏng sản phẩm trên nền web

- Dữ liệu cần thu thập:

 Tài liệu công nghệ VR

 Dữ liệu mô hình ô tô

 Tài liệu cấu trúc trình duyệt web – Firefox

- Phân tích, nghiên cứu dữ liệu

- Khảo sát, phân tích, thiết kế bài toán

- Xây dựng chương trình ứng dụng

- Tổng hợp, viết báo cáo

Dự kiến kết quả đạt được:

- Mô phỏng xe ô tô bằng công nghệ VR

- Quảng bá sản phẩm mô phỏng lên trang web

Trang 8

CHƯƠNG 1 CÔNG NGHỆ VR VỚI THƯƠNG MẠI ĐIỆN TỬ VÀ QUẢNG BÁ SẢN PHẨM TRÊN NỀN WEB

1.1 Tổng quan về thương mại điện tử

1.1.1 Khái niệm thương mại điện tử

Thương mại điện tử là việc tiến hành một phần hay toàn bộ hoạt động thương mại bằng những phương tiện điện tử để các hoạt động đó được nhanh hơn, hiệu quả hơn, giúp tiết kiệm chi phí và mở rộng không gian kinh doanh

1.1.2 Vai trò của thương mại điện tử đối với sự phát triển kinh tế xã hội

Công nghệ thông tin đã và đang làm thay đổi mạnh mẽ phương thức tiến hành hoạt động kinh doanh, thay đổi cơ bản các chiến lược và tổ chức của công

ty Từ khi Internet hình thành và phát triển, nó đã tác động mạnh mẽ đến mọi hoạt động của nền kinh tế, ngành và doanh nghiệp; tạo dựng môi trường kinh doanh mới, hình thành kênh thông tin, cung cấp phân phối mới trên các thị trường thông tin điện tử Các hoạt động thương mại điện tử như mua bán hàng hóa, dịch vụ thông tin,…đang tăng trưởng với tốc độ rất cao hàng năm và thực sự

đã làm thay đổi thế giới, các doanh nghiệp, các ngành nghề và từng cá nhân Thương mại điện tử thay đổi mô hình kinh doanh truyền thống; đặc biệt đối với các doanh nghiệp xuất nhập khẩu, lĩnh vực quảng bá sản phẩm, thương mại điện

tử đem lại phương thức tiến hành mới, nhanh hơn, hiệu quả hơn cho tất cả các hoạt động truyền thống, mở ra cơ hội tiếp cận thị trường quốc tế, nâng cao hiệu quả, tăng lợi nhuận, giảm chi phí, duy trì và nâng cao năng lực cạnh tranh dựa trên các ứng dụng công nghệ thông tin Mặt khác cũng đem lại những nguy cơ lớn nếu không ứng dụng công nghệ thông tin

Lợi ích lớn nhất mà thương mại điện tử mang lại chính là sự tiết kiệm chi phí và tạo điều kiện thuận lợi cho các bên giao dịch Giao dịch bằng điện tử nhanh hơn so với các phương thức giao dịch truyền thống, ví dụ, gửi fax hay thư điện tử thì nội dung thông tin đến tay người nhận nhanh hơn so với gửi thư truyền thống Các giao dịch qua Internet có chi phí rất rẻ, một doanh nghiệp có

Trang 9

thể gửi thư tiếp thị, chào hàng đến hàng loạt khách hàng chỉ với chi phí giống như gửi cho một khách hàng Với thương mại điện tử, các bên có thể tiến hành giao dịch khi ở cách xa nhau, giữa thành phố với nông thôn, từ nước này sang nước kia, hay nói cách khác là không bị giới hạn bởi không gian địa lý Điều này cho phép các doanh nghiệp tiết kiệm chi phí đi lại, thời gian gặp mặt trong khi mua bán Với người tiêu dùng, họ có thể ngồi tại nhà để đặt hàng, mua sắm nhiều loại hàng hóa, dịch vụ thật nhanh chóng Vì vậy, thương mại điện tử góp phần thúc đẩy sự cạnh tranh giữa các doanh nghiệp để thu được nhiều lợi ích nhất Tại Việt Nam, tuy Internet mới vào Việt Nam trong khoảng 10 năm nay, nhưng nó luôn có tốc độ phát triển đứng tốp đầu thế giới, với việc ứng dụng công nghệ thông tin vào các lĩnh vực của đời sống đã và đang diễn ra mạnh mẽ và hiệu quả Lĩnh vực quảng cáo trong vài năm trở lại đây rất phát triển, đặc biệt là quảng cáo trên nền web Internet tại Việt Nam sau vài năm tới hứa hẹn sẽ phát triển rất mạnh cả về quy mô lẫn chất lượng

1.2 Quảng bá sản phẩm trên nền web

1.2.1 Khái niệm quảng bá sản phẩm trên nền web

Quảng bá trên nền web là việc ứng dụng công nghệ thông tin vào lĩnh vực quảng cáo, sử dụng các công cụ, công nghệ để đưa sản phẩm lên trang web giới thiệu tới khách hàng

Có nhiều hình thức thể hiện quảng cáo trên nền web, như:

 Quảng cáo banner, logo: Đây là hình thức quảng cáo phổ biến trên các website hiện nay Với mỗi vị trí được quy định trên trang web, khách hàng chỉ cần lựa chọn vị trí thích hợp theo kích thước để đảm bảo cho hiệu quả quảng cáo của mình

 Quảng cáo Richmedia: Ngoài các phương thức quảng cáo đơn thuần như trên, phương thức quảng cáo Richmedia tối ưu hơn, như:

 Quảng cáo dạng Clip

 Quảng cáo dạng banner bật góc

Trang 10

 Quảng cáo banner nhúng nội dung: Nhà cung cấp dịch vụ sẽ tạo ra một vị trí trên trang chủ, vị trí này liên tục lấy các thông tin mới của website doanh nghiệp bằng công nghệ RSS

 Bảo trợ thông tin và tài trợ: Bảo trợ thông tin và tài trợ là cách làm cho sản phẩm, thương hiệu của doanh nghiệp mang giá trị riêng Thương hiệu và sản phẩm sẽ được tiếp cận với khách hàng nhanh chóng và hiệu quả nhất qua các bài viết, email giới thiệu sản phẩm

1.2.2 Quảng cáo sản phẩm 3D tương tác trên nền web

Công nghệ 3D đang trở nên phổ biến trong những năm gần đây khi những tiến bộ của công nghệ phần cứng đã khiến cho những dòng máy tính cấp thấp, rẻ tiền vẫn có thể ứng dụng công nghệ 3D một cách dễ dàng hơn nhiều Điểm mấu chốt của quảng cáo sản phẩm 3D trên nền web là xây dựng đối tượng 3D, hỗ trợ khả năng sáng tạo vật thể, đáp ứng yêu cầu kỹ thuật như ứng dụng chạy ổn định, kiến trúc mở, dễ dàng phát triển và nâng cấp Ngoài ra, khả năng xử lý mô hình phức tạp cũng là yếu tố được quan tâm

Với việc thể hiện sản phẩm dưới dạng không gian ba chiều trên web, khách hàng thích thú và kinh ngạc trước sự sống động từ các tác phẩm Tất cả những gì người dùng cần để xem sản phẩm 3D chỉ đơn giản là trình duyệt web, không cần cài đặt thêm bất cứ chương trình nào

Người dùng luôn muốn tự mình trải nghiệm, tương tác thật Điểm khác biệt lớn nhất của hình thức quảng cáo này với quảng cáo 2D thông thường là cho phép người dùng tương tác với những hiệu ứng nghe nhìn Người dùng do đó có thể cảm nhận, khám phá sản phẩm không khác gì trong đời thực Hỗ trợ 3D trên web giúp nâng cao giao diện và sự tương tác với người dùng Các nhà thiết kế sẽ

có cơ hội sáng tạo, còn các doanh nghiệp có thêm cơ hội phát triển thương mại điên tử, giao dịch trên mạng

Công nghệ 3D thể hiện cảnh vật giống như thực, được ứng dụng rất nhiều trong việc quảng cáo sản phẩm, đặc biệt quảng cáo ô tô, máy bay, tầu thủy, rất phù hợp với việc quảng bá du lịch Khách du lịch có thể đi du lịch ảo với những quang cảnh như thật tại nơi mình dự định đi Quảng bá nhà, khách hàng có thể

Trang 11

xem khung cảnh từ ngoài ngôi nhà đến khung cảnh bên trong, tận phòng mà mình có thể ở Hay việc xem phòng trước tại khách sạn trước khi thuê Trong các

dự án bất động sản, mô hình mẫu các dự án nhà, công viên, căn hộ nếu được thiết kế và ứng dụng công nghệ 3D, khách hàng sẽ dễ hình dung từ kiến trúc tổng thể dự án đến chi tiết của từng căn hộ Chỉ cần rê chuột, khách hàng sẽ đến tham quan dự án, phòng khách, phòng ngủ, phòng tắm, cầu thang đến các chi tiết nhỏ nhất như bố trí đồ dùng, trang trí nội thất, tương tác với các thiết bị nghe nhìn, chuyển động như thể họ đang tham quan mô hình thật

Quảng bá sản phẩm bằng công nghệ 3D có thể ứng dụng cho các siêu thị trực tuyến giúp người dùng tìm hiểu sản phẩm, hướng dẫn sử dụng sản phẩm bằng hình ảnh 3D Người dùng sẽ được khám phá từ tổng thể đến chi tiết sản phẩm Khi muốn quan sát kỹ hơn, chỉ việc nhấn chuột vào chi tiết cần xem, xoay, dịch chuyển hoặc tháo rời để quan sát ở mọi góc độ Nếu đưa việc mô phỏng 3D vào “phòng trưng bày” trực tuyến này, chi tiết sản phẩm, máy móc, phụ tùng, thiết bị trang trí, màu sắc, thông số kỹ thuật cũng được hiển thị khi click chuột vào Đây là cách thức tiết kiệm thời gian cho khách hàng Sau khi tìm hiểu, họ có thể đặt hàng từ xa hay liên hệ trực tiếp với phòng trưng bày Công nghệ này là một bước tiến cho thương mại điện tử

Trên thế giới hiện nay công nghệ 3D, đi cùng với nó là ứng dụng quảng cáo trên nền web đang trong thời gian đầu của sự phát triển Thế nhưng nó đã và đang mang lại hiệu quả rất cao Có nhiều công ty trên thế giới đang rất thành công với công nghệ này như SecondLife, ExitReality, Google O3D Với những

ưu thế vượt trội, nó hứa hẹn sẽ thay thế công nghệ 2D đang phổ biến hiện nay trong tương lai gần Và nó sẽ là lĩnh vực đầy tiềm năng cho các nhà kinh doanh dịch vụ web

Tại Việt Nam, tuy Internet vào nước ta mới chỉ được khoảng 10 năm nhưng tốc độ phát triển rất nhanh và hiện nay đã tương đương với nhiều nước tiên tiến và có thời gian phát triển Internet nhiều hơn ta Với sự thông minh, chăm chỉ học hỏi công nghệ của các nước tiên tiến trên thế giới, có thể nói rằng

Trang 12

CloudForces, đơn vị cung cấp các dịch vụ thiết kế trực tuyến lần đầu tiên cung cấp các dịch vụ quảng cáo sản phẩm 3D trên nền tại Việt Nam Đã có nhiều sản phẩm được thiết kế mô phỏng và đưa lên nền web của nhiều đơn vị như mô phỏng không gian phố cổ, mô phỏng di tích hoàng thành Thăng Long,… của công ty cổ phần phát triển công nghệ và mô phỏng W2G Đây là những dấu hiệu đầu tiên cho thấy công nghệ 3D nói chung và quảng cáo 3D trên nền web nói riêng sẽ là một lĩnh vực phát triển mạnh và hứa hẹn nhiều tiềm năng trong tương lai tại Việt Nam

Một số hình ảnh mô phỏng được đưa lên nền web 3D:

Hình 1 – Nhà hát lớn Hà Nội

Trang 14

và công nghiệp, giáo dục và đào tạo, cũng như thương mại, giải trí,…) tiềm năng kinh tế, cũng như tính lưỡng dụng (trong dân dụng, quân sự) của nó Theo cách truyền thống, việc tương tác với máy tính được thực hiện thông qua các thiết bị như bàn phím, chuột hay Joystick/Trackball/Keyboard/Styplus để cung cấp thông tin đầu vào và sử dụng khối hiển thị trực quan để nhận thông tin đầu ra từ hệ thống Với sự ra đời của các hệ thống thực tại ảo, các phương thức giao tiếp mới được phát triển cho phép người sử dụng tương tác một cách tích cực với máy tính

Thực tại ảo là công nghệ sử dụng các kỹ thuật mô hình hoá không gian ba chiều với sự hỗ trợ của các thiết bị đa phương tiện hiện đại để xây dựng một thế

giới mô phỏng bằng máy tính – môi trường ảo (Virtual Environment) Trong thế

giới ảo này, người sử dụng không còn được xem như người quan sát bên ngoài,

mà đã thực sự trở thành một phần của hệ thống Một cách lý tưởng, người sử dụng có thể tự do chuyển động trong không gian ba chiều, tương tác với các vật thể ảo, quan sát và khảo cứu thế giới ảo ở những góc độ khác nhau về mặt không gian Ngược lại, môi trường ảo lại có những phản ứng tương ứng với mỗi hành động của người sử dụng, tác động vào các giác quan như thị giác, thính giác, xúc giác của người sử dụng trong thời gian thực và tuân theo những quy tắc vật lý tự nhiên, làm anh ta có cảm giác như đang tồn tại trong một thế giới thực

Hình 4 – Mô phỏng trong thực tại ảo

Trang 15

1.3.2 Sự ra đời ngành công nghiệp thực tại ảo

Sự ra đời của các máy điện toán mini và bài báo khoa học của Ivan Sutherland có tên “Màn hình tối tân” vào năm 1965 được xem là hai bước đột phá lớn vào thập kỷ 60 cho công nghệ Thực tại ảo Trong bài báo của mình, Sutherland đã tiên đoán sự phát triển của thiết bị hiển thị đội đầu tiên, mà sau đó chính ông đã tạo ra một thiết bị như vậy, có tên là “Thanh kiếm của Damocles” Sutherland cũng nhận ra tiềm năng của máy điện toán trong việc tạo lập hình ảnh cho hệ thống mô phỏng bay, trong khi những hình ảnh này trước đó được xây dựng bằng Camera

Những ý tưởng này được hai nhà khoa học Mỹ ở NASA là Fisher và McGreevy kết hợp lại trong một dự án có tên là “Trạm làm việc ảo” vào năm 1984 Cũng từ đó NASA phát triển thiết bị hiển thị đội đầu có tính thương mại đầu tiên, được gọi là màn hình môi trường trực quan, thiết kế dựa trên mẫu hình mặt nạ lặn với các màn hình quang học mà hình ảnh được cung cấp bởi hai thiết bị truyền hình cầm tay Sony Watchman Sự phát triển của thiết bị này đã thành công ngoài dự đoán, bởi NASA đã sản xuất được một thiết bị HMD có giá chấp nhận được trên thị trường, và như vậy ngành công nghiệp thực tại ảo đã ra đời

1.3.3 Các đặc tính của Thực tại ảo

VR là tổng hợp của 3 yếu tố Tương tác – Tưởng tượng – Đắm chìm

Hình 5 – Ba đặc tính của VR

1.3.3.1 Tính tương tác thời gian thực

Trang 16

mà lại phản ứng, thay đổi theo ý muốn (tín hiệu vào) của người sử dụng (nhờ vào hành động, lời nói,…) Người sử dụng tương tác với mô hình ảo, trong đó tương tác được mô phỏng từ thao tác với các đối tượng thực Điều này xác định một đặc tính chính của VR, đó là tương tác thời gian Thời gian thực ở đây có nghĩa là máy tính có khả năng nhận biết được tín hiệu vào của người sử dụng và thay đổi ngay lập tức thế giới ảo Người sử dụng nhìn thấy sự vật thay đổi trên màn hình ngay theo ý muốn của họ và bị thu hút bởi sự mô phỏng này Điều này chúng ta

có thể nhận thấy ngay khi quan sát trẻ nhỏ chơi video game

Có hai khía cạnh độc nhất của tính tương tác trong một thế giới ảo: Sự du hành bên trong thế giới và động lực học của môi trường Sự du hành chỉ đơn giản

là khả năng của người dùng để di chuyển khắp nơi một cách độc lập, cứ như là đang ở bên trong một môi trường thật Nhà phát triển phần mềm có thể thiết lập những áp đặt đối với việc truy cập vào những khu vực ảo nhất định, cho phép có được nhiều mức độ tự do khác nhau - bạn có thể bay, xuyên tường, đi lại khắp nơi hoặc bơi lặn

Hình 6 – Tính tương tác của VR

Một khía cạnh khác của sự du hành là sự định vị điểm nhìn của người dùng Sự kiểm soát điểm nhìn chắc hẳn có nghĩa là việc theo dõi chính bạn từ một khoảng cách, việc quan sát cảnh tượng thông qua đôi mắt của một con người khác, hoặc

di chuyển khắp trong thiết kế của một cao ốc mới như thể đang ngồi trong một chiếc ghế đẩy Động lực học của môi trường là những quy tắc về cách thức mà nội dung của nó (người, vật … và mọi thứ) tương tác với nhau trong một trật tự

để trao đổi năng lượng hoặc thông tin Một thí dụ đơn giản về những quy tắc

Trang 17

động lực học là các định luật Newton thường dùng để mô tả phản ứng của những viên bi tác động trở lại với lực va chạm của cây thụt billard Mỗi một đối tượng

và mối quan hệ của nó với mọi đối tượng khác (kể cả với người dùng) là một yếu

tố thiết kế trong sự suy xét cẩn thận của nhà phát triển

Trong số những yếu tố đó có thể kể đến vị trí, màu sắc, hình dạng và kích thước của môi trường Kết quả là, thực tại ảo là trải nghiệm của trạng thái sống trong một thế giới khác - một thế giới được cai quản bởi những luật lệ chọn lọc,

và được ngụ cư bởi những đối tượng với bất kỳ thuộc tính nào mà nhà sáng tạo chọn lựa để ấn định cho chúng Chính tính chất linh động này trong việc sáng tạo

là biểu trưng các môi trường ảo đã tạo nên tình trạng kích động về thực tại ảo Phim ảnh 3D đã đến và đang phát triển mạnh, nhưng việc bước vào một thế giới phản ứng lại với bạn và là độc nhất đối với bạn, một thế giới có cuộc sống độc lập của riêng nó- đó chính là thực tại ảo

Trang 18

Hình 7 – Sự đắm chìm của VR

Các phương pháp hiển thị có độ phân giải và tốc độ cao lôi cuốn người sử dụng tạo cảm giác như trong thực tế Khả năng thu hút của VR, góp phần lớn vào cảm giác đắm chìm, cảm giác trở thành một phần của hành động trên màn hình

mà người sử dụng đang trải nghiệm Nhưng VR còn đẩy cảm giác này "thật" hơn nữa nhờ tác động lên tất cả các kênh cảm giác của con người Trong thực tế, người dùng không những nhìn thấy đối tượng đồ họa 3D nổi, điều khiển (xoay,

di chuyển, ) được đối tượng trên màn hình (như trong game), mà còn sờ và cảm thấy chúng như có thật Ngoài khả năng nhìn (thị giác), nghe (thính giác), sờ (xúc giác), nhiều nghiên cứu hiện nay đã nghiên cứu để tạo các cảm giác khác như ngửi (khứu giác), nếm (vị giác)

Một thuộc tính then chốt khác của sự đắm chìm là nó có thể tác động như một thấu kính mạnh để khai thác kiến thức từ dữ kiện bằng cách biến đổi nó thành kinh nghiệm Năng lực này chính là lý do khiến cho rất nhiều ngành công nghiệp đang ráo riết khai phá cách sử dụng các môi trường ảo Howard Rheingold cho rằng, có thể tìm thấy những dấu vết xa xưa của việc sử dụng sự đắm chìm trong những hành động cử hành nghi lễ của người tiền sử Các thiếu

Trang 19

niên được đưa vào bóng tối của những hang động đầy hình vẽ, ở đó các câu chuyện sẽ được kể lại, các hình ảnh và các bài ca sẽ được lộ ra theo một trình tự chính xác, và các thiếu niên ấy sẽ bị đắm chìm vào những nghi thức dành cho tuổi trưởng thành của chúng Chỉ bằng việc loại bỏ phần còn lại của thế giới và nhấn chìm chính mình vào không gian biệt lập ấy, sự học hỏi có thể diễn ra và làm biến đổi một đứa trẻ thành một người trưởng thành

1.3.3.3 Sự tưởng tượng

VR không chỉ là một hệ thống tương tác Người- Máy tính, mà các ứng dụng của nó còn liên quan tới việc giải quyết các vấn đề thật trong kỹ thuật, y học, quân sự, Các ứng dụng này do các nhà phát triển VR thiết kế, điều này phụ thuộc rất nhiều vào khả năng tưởng tượng của con người

Hình 8 – Minh họa tính tưởng tượng của VR

Khi con người trôi vào thể giới ảo, các hành động, cảm nhận phải giống như thực Vì vậy, một hệ thống thực tại ảo thành công không thể thiếu một trong

ba đặc tính trên

1.3.4 Các thành phần của một hệ thống thực tại ảo

Một hệ thống thực tại ảo bao gồm ba thành phần chính sau: HW (phần cứng), bộ giả lập thực tại (reality simulator), ứng dụng (application)

1.3.4.1 Phần cứng

Phần cứng của một VR bao gồm:

 Các thiết bị đầu vào: Chúng bao gồm những thiết bị đầu ra có khả

Trang 20

trong thế giới ảo Chẳng hạn như màn hình đội đầu HMD, chuột, các tai nghe âm thanh nổi và những thiết bị đầu vào có khả năng ghi nhận nơi người sử dụng đang nhìn vào hoặc hướng đang chỉ tới, như thiết bị theo dõi gắn trên đầu, găng tay hữu tuyến

 Các thiết bị đầu ra: Gồm hiển thị đồ họa (như màn hình, HDM, ) để nhìn được đối tượng 3D Thiết bị âm thanh (loa) để nghe được âm thanh vòm (như Hi-Fi, Surround, ) Bộ phản hồi cảm giác (Haptic feedback như găng tay, ) để tạo xúc giác khi sờ, nắm đối tượng Bộ phản hồi xung lực (Force Feedback) để tạo lực tác động như khi đạp

xe, đi đường xóc,

1.3.4.2 Bộ giả lập thực tại

Là trái tim của hệ thống thực tại ảo, bao gồm hệ thống máy tính và phần cứng ngoại vi, thiết bị đồ hoạ và multimedia; cung cấp cho bộ tác động những thông tin giác quan cần thiết Trong hệ thống mô phỏng cabin lái, thì mô hình cabin là thành phần này

1.3.4.3 Ứng dụng

Phần mềm luôn là linh hồn của VR cũng như đối với bất kỳ 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í) OpenGL, Open Scene Graph, C++, Java 3D, VRML,… hay các phần mềm thương mại như World Tool kit, People Shop, Ve Ga,…

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 Thành phần này 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 Thông thường, các đối tượng hình học được xây dựng bởi các phần mềm CAD, sau đó dữ liệu có thể được chuyển qua một trong

số các định dạng file khác phù hợp với việc thể hiện trong ứng dụng Sau đó phần mềm VR phải có khả năng mô phỏng động học, động lực học, và mô phỏng ứng

xử của đối tượng

Trang 21

Không gian trong thế giới ảo: Bản thân thế giới ảo cũng cần được định rõ trong một không gian Do bản chất tự nhiên của thế giới ảo là một mô phỏng máy tính, nên thế giới ảo có hạn chế nhất định Vị trí của mỗi điểm của mỗi đối tượng trong thế giới đó đều phải được gán cho một giá trị số (toạ độ) Các toạ độ này thường được mô tả trong hệ toạ độ Đê-các-tơ với các thứ nguyên X, Y và Z (biểu diễn độ dài, độ cao, độ sâu) Cũng có thể sử dụng các hệ toạ độ khác như hệ toạ

độ cầu, nhưng hệ toạ độ Đê-các-tơ vẫn là chuẩn cho hầu hết các ứng dụng Sự chuyển đổi giữa các hệ toạ độ này cũng khá đơn giản

Cơ sở dữ liệu cho thế giới ảo (World Database): Lưu trữ thông tin về các đối tượng và thế giới ảo là một phần quan trọng trong việc thiết kế hệ thống thực tại ảo VR Những thông tin chính được lưu trữ trong World Database là các đối tượng ở trong thế giới đó, các kịch bản mô tả các hành động của các đối tượng hoặc người sử dụng (những kịch bản, phản ứng xảy ra đối với người sử dụng), ánh sáng, các điều khiển chương trình, và hỗ trợ thiết bị phần cứng Có nhiều cách lưu trữ thông tin về thế giới ảo: một file đơn, một tập các file, hoặc là cả một cơ sở dữ liệu Phương pháp sử dụng nhiều file là một trong những hướng tiếp cận thường gặp nhất trong những gói phát triển về thực tại ảo Mỗi một đối tượng có một hoặc nhiều file (file lưu trữ về hình dạng hình học, file lưu trữ các kịch bản, v.v ) và có một số file toàn cục sử dụng chung cho thế giới ảo đó có tác dụng load các file khác Một số hệ thống còn bao gồm cả một file cấu hình định nghĩa về các kết nối giao diện phần cứng Đôi khi toàn bộ cơ sở dữ liệu được load trong khi chương trình khởi động, các hệ thống khác chỉ việc đọc các file mà hệ thống cần tại thời điểm đó Với cách tiếp cận về sau (các thông tin được lưu trữ trong một cơ sở dữ liệu), một hệ thống cơ sở dữ liệu thực sẽ giúp ích rất nhiều Một cơ sở dữ liệu hướng đối tượng sẽ thích hợp nhất cho một hệ thống thực tại ảo, nhưng chưa thấy có một dự án nào sử dụng cách tiếp cận này Các file dữ liệu đa phần thường được lưu trữ dưới dạng các file văn bản sử dụng

mã ASCII (con người có thể đọc được) Tuy nhiên, trong nhiều hệ thống, các file này được thay thế bởi các file lưu trữ dưới dạng mã nhị phân (máy tính có thể

Trang 22

đọc được) Một số hệ thống dịch trực tiếp các thông tin về thế giới ảo đó vào ứng dụng luôn

1.3.5 Các lĩnh vực ứng dụng của công nghệ thực tại ảo

Mặc dù khái niệm về thực tại ảo đã xuất hiện từ khá lâu, nhưng do nhiều

lý do về mặt công nghệ (cơ sở phần cứng phát triển, nghiên cứu, chi phí), phải mất nhiều thời gian và nỗ lực để thực tại ảo có được những thành tựu như ngày nay Ứng dụng của thực tại ảo có thể thấy được rất nhiều trong thế giới hàng ngày của chúng ta Như khi tiến hành mua ô tô qua mạng, người mua rất cần thấy được hình ảnh trực quan của chiếc ô tô cần mua, quan sát từ nhiều góc độ, thậm chí có thể thử độ rung xóc, các hiệu ứng khi vận hành xe Một số ứng dụng thực tại ảo thể hiện các hiệu ứng khó có thể đạt được trong những điều kiện thông thường như việc thể hiện các vụ thử hạt nhân, các thí nghiệm khoa học, các hệ thống điều khiển không lưu Tại các nước phát triển, chúng ta có thể nhận thấy

VR được ứng dụng trong mọi lĩnh vực: Khoa học kỹ thuật, kiến trúc, quân sự, giải trí, và đáp ứng mọi nhu cầu: Nghiên cứu- Giáo dục- Thương mại Hiện tại đây vẫn là lĩnh vực công nghệ nhiều tiềm năng xét về khía cạnh ứng dụng Một

số lĩnh vực ứng dụng chính có khuynh hướng phát triển mạnh mẽ nhất trong thời gian gần đây

1.3.5.1 Kiến trúc và thiết bị công nghiệp

Một trong những lĩnh vực ứng dụng tiêu biểu nhất của thực tại ảo là thiết

kế kiến trúc Khả năng mô hình hoá thế giới thực của công nghệ thực tại ảo dường như đáp ứng một cách tự nhiên mục tiêu của ngành thiết kế kiến trúc: đưa

ra mô hình trực quan nhất có thể về hình ảnh công trình kiến trúc mong muốn trong tương lai

Việc xây dựng các mô hình không gian kiến trúc bằng hình ảnh lập thể với đầy đủ mô tả trực quan về các hình khối kiến trúc của một căn nhà, cách bố trí nội thất bên trong, thậm chí hoa văn cửa sổ hay màu sơn của tường, cùng với khả năng cho phép khách hàng tự do tham quan, khảo sát căn nhà của họ trong tương lai theo nhiều góc độ và vị trí, từ phòng này sang phòng khác

Trang 23

Hình 9 - Ứng dụng công nghệ VR trong thiết kế kiến trúc

1.3.5.2 Giải trí

Thị trường giải trí cũng là một ứng dụng tiêu biểu khác của các môi trường thực tại ảo Trên thực tế, đây là lĩnh vực ứng dụng lớn nhất xét theo khía cạnh lợi ích về tài chính Rất nhiều công ty đang sản xuất ra các trò chơi có sử dụng các nguyên lý Thực tại ảo Số lượng người bị cuốn hút theo các trò chơi như vậy, đặc biệt là giới trẻ, tăng theo cấp số nhân đánh dấu tiềm năng thương mại to lớn của công nghệ thực tại ảo trong lĩnh vực này

Hơn thế, ngành công nghiệp trò chơi điện tử có những ảnh hưởng to lớn tới lĩnh vực thực tại ảo Nó tạo ra động lực cần thiết để thúc đẩu sự phát triển của

rất nhiều phần cứng thực tại ảo, chẳng hạn như card tăng tốc đồ hoạ Nếu như

chúng ta trở lại khoảng hơn 10 năm về trước, thật khó có thể tìm thấy một card tăng tốc đồ hoạ có đủ năng lực tính toán cần thiết cho phép tạo ra các ứng dụng thực tại ảo thời gian thực

Trang 24

Hình 10 - Ứng dụng công nghệ VR trong lĩnh vực giải trí

1.3.5.3 Giáo dục và đào tạo

Phát triển trên nền công nghệ và kỹ thuật cao, thực tại ảo tích hợp những đặc tính làm cho bản thân nó có những tiềm năng vượt trội so với các công nghệ

đa phương tiện truyền thống khác: cho người sử dụng cảm nhận sự hiện diện của mình trong môi trường do máy tính tạo ra bằng khả năng tương tác, tự trị của người dùng trong môi trường ảo, cũng như bằng những phản hồi tức thời, trực quan từ phía môi trường ảo tới các giác quan của người sử dụng

Tất cả những đặc tính này khiến công nghệ thực tại ảo trở nên rất phù hợp cho các ứng dụng có tính chất giáo dục hay đào tạo Trong đó, những mô hình trình diễn lập thế đóng vai trò quan trọng Các vật thể trong thế giới ảo được biểu diễn chính xác hơn nhiều so với các đối tượng phẳng (hình ảnh hai chiều) do được bổ sung thêm chiều sâu

Tính chất trực quan của bài giảng được nâng cao một bước làm tăng sự hứng thú trong học tập cũng như khả năng ghi nhớ các khái niệm quan trọng trong bài giảng Xét về mặt này, khả năng tương tác với môi trường ảo là một khía cạnh đáng lưu ý Nếu thiếu đi khả năng tương tác (hai chiều) giữa môi trường ảo và người tham dự, thực tại ảo không gì khác hơn là một giao diện lập thể ấn tượng nhưng không có sự sống Trong các phòng thí nghiệm hay huấn luyện ảo, thực hiện các thao tác trên các đối tượng trong môi trường ảo, nhận được những phản hồi kịp thời và có nghĩa từ các vật thể và môi trường là một trong những yếu tố tiên quyết khiến cho học viên có cảm nhận đang được trải nghiệm trong những tình huống thực

Trang 25

Hình 11 – Mô hình huấn luyện bay sử dụng công nghệ VR

1.3.5.4 Thương mại điện tử

Ứng dụng công nghệ thực tại ảo vào lĩnh vực thương mại điện tử tuy mới nhưng đã và đang phát triển mạnh, đặc biệt là lĩnh vực quảng cáo Sản phẩm thay

vì được chụp ảnh nhiều lần, mô tả dài dòng sẽ được mô phỏng dưới dạng 3D tương tác (người xem có thể tương tác với sản phẩm) như thật, mặc dù sản phẩm được đưa lên trang web Phương pháp này làm cho khách hàng thấy thoải mái hơn

1.3.5.5 Y học

Y học là một trong những lĩnh vực ứng dụng tiềm năng trong công nghệ thực tại ảo Cho đến nay, lĩnh vực nổi bật trong y học áp dụng thành công công nghệ thực tại ảo là giả lập giải phẫu

Trên cơ sở các kỹ thuật đồ hoạ máy tính và thực tại ảo, hệ thống đào tạo y học này bao gồm hai bộ phận cơ bản: Khối tương tác ba chiều là mô hình sinh thể ảo cho phép người sử dụng thực hiện các thao tác giải phẫu thông qua các dụng cụ giải phẫu ảo; Khối giao diện người dùng hai chiều cung cấp những thông tin phản hồi trực quan từ mô hình trong quá trình giải phẫu cũng như những thông tin hướng dẫn trong phiên đào tạo

Trang 26

Hình 12 - Phẫu thuật ảo – Phương pháp đào tạo phẫu thuật mới dùng công nghệ

Thực tại ảo

Bên cạnh các ứng dụng truyền thống ở trên, cũng có một số ứng dụng mới nổi lên trong thời gian gần đây của VR như: VR ứng dụng trong sản xuất, VR ứng dụng trong ngành rôbốt, VR ứng dụng trong hiển thị thông tin (thăm dò dầu

mỏ, hiển thị thông tin khối, )

VR có tiềm năng ứng dụng vô cùng lớn, có thể nói tóm lại một điều: Mọi lĩnh vực "có thật " trong cuộc sống đều có thể ứng dụng "thực tế ảo" để nghiên cứu và phát triển hoàn thiện hơn

1.3.6 Vai trò của thực tại ảo trong quảng cáo

Công nghệ thực tại ảo đã và đang trở thành một công nghệ mũi nhọn nhờ khả năng ứng dụng rộng rãi trong mọi lĩnh vực (nghiên cứu và công nghiệp, giáo dục và đào tạo, thương mại và giải trí,…) và tiềm năng kinh tế, cũng như tính lưỡng dụng (trong dân dụng và quân sự) của nó Ứng dụng thực tại ảo vào lĩnh vực quảng cáo tuy mới chỉ ở giai đoạn bắt đầu nhưng, nó đã có hiệu quả rất lớn

và trở thành lĩnh vực đầy tiềm năng của tương lai

Với công nghệ thực tại ảo, các sản phẩm sẽ được mô phỏng một cách chi tiết giống như thực Phản ánh đầy đủ thông tin của sản phẩm tới người dùng Ứng dụng công nghệ thực tại ảo vào quảng cáo sẽ tiết kiệm chi phí (do chỉ phải

mô phỏng một lần đã phản ánh đầy đủ các thông tin của sản phẩm) so với hình

Trang 27

thức quảng cáo truyền thống mô tả sản phẩm bằng hình ảnh 2D tĩnh Trước kia,

do sự hạn chế của phần cứng nên công nghệ thực tại ảo chưa được chú trọng Ngày nay, khi công nghệ phần cứng không còn là vấn đề to lớn cho việc thực hiện mô phỏng, một chiếc máy tính để bàn có cấu hình trung bình cũng có thể thực hiện được mô phỏng các sản phẩm Và cùng với sự phát triển của công nghệ

mô phỏng thì việc ứng dụng mô phỏng ngày nay được thực hiện đơn giản Do vậy, công nghệ quảng cáo 3D sẽ là tiềm năng to lớn trong tương lai tới

1.4 Giới thiệu OpenSceneGraph (OSG)

OpenSceneGraph là một thư viện đồ họa mã nguồn mở, mới đây đã trở thành công cụ thay thế mạnh mẽ cho những công cụ trình diễn truyền thống, kết hợp kỹ thuật Impostor như là một nút phân múc chi tiết trong đồ thị cảnh Thư viện đồ họa này có mã nguồn mở hỗ trợ các lập trình viện xây dựng các sản phẩm đồ họa dựa trên việc ứng dụng đồ thị khung cảnh (API) Có thể coi OpenSceneGraph đóng vai trò như chìa khóa trong việc xây dựng các ứng dụng

đồ họa Nó là phần trung gian ở trên thư viện mức thấp là OpenGL, cung cấp thêm các hàm ở mức cao, rộng hơn khi tái tạo cảnh đồ họa, vào/ra dữ liệu, và tính linh hoạt của việc tổ chức dữ liệu không gian trong các ứng dụng ba chiều

Lý do quan trọng nhất để chọn OSG là nó được thiết kế rõ ràng, linh hoạt

Mã nguồn của OSG có thể tải về để chủ động sẵn sàng ngay từ khi bắt đầu dự án

Có mã nguồn trong tay chúng ta có thể phát triển các kỹ thuật cho OSG

1.4.1 Thuật ngữ Scene graph

Một Scene graph (đồ thị khung cảnh) là một cấu trúc cây dữ liệu phân cấp,

để tổ chức không gian dữ liệu một cách hiệu quả cho việc dựng hình Hình 13 miêu tả một cách trừu tượng về một Scene graph, nó bao gồm: một cảnh địa hình (terrain), một con bò (cow) và một chiếc xe tải (truck)

Trang 28

Hình 13 – Một cảnh trừu tượng của Scene graph

Một Scene graph được bắt đầu bởi một nút gốc có mức cao nhất (Top Node) Bên dưới nút gốc, một nhóm các nút gồm các đối tượng hình học và biểu diễn trạng thái dựng hình của các đối tượng này Nút gốc và nhóm các nút có thể

có hoặc không có các nút con (Tuy nhiên, về cơ bản nhóm các nút là có nút con.) Ở dưới cùng của một Scene graph, các nút lá biểu diễn các đối tượng hình học thực tế tạo thành các đối tượng trong cảnh

Các ứng dụng sử dụng nhóm các nút để tổ chức và sắp xếp hình học trong một cảnh Hãy tưởng tượng, một cơ sở dữ liệu 3D bao gồm một căn phòng (room) với một chiếc bàn (table) và hai chiếc ghế (chair) giống hệt nhau Bạn có thể có nhiều cách để tổ chức một Scene graph ở cơ sở dữ liệu này Hình 14 thể hiện một cách tổ chức chúng

Trang 29

Hình 14 – Một cách tổ chức của Scene graph

Nút gốc (Scene) có bốn nút con, một nút cho đối tượng hình học Rom, một nút cho đối tượng hình học Table và mỗi nút còn lại cho đối tượng hình học Chair Các nút Chair có cùng mầu đỏ để chỉ rõ chúng được tách ra từ một nút cha Chỉ có duy nhất một nút Chair (mầu vàng) bởi vì hai đối tượng Chair là giống hệt nhau – Nút cha của chúng được tách ra làm hai để biểu diễn sự xuất hiện của hai đối tượng Chair Nhóm nút Table có một nút con Table (mầu vàng)

là nút lá Nút lá Room bao gồm đối tượng Floor (sàn nhà), Walls (các bức tường)

và ceiling (trần nhà)

Scene graph thường đưa ra nhiều loại Node khác nhau thể hiện một loạt các chức năng, chẳng hạn như các node chuyển đổi nó cho phép hoặc vô hiệu hóa các node con của nó Mức độ chi tiết (LOD), các node lựa chọn các node con dựa trên khoảng cách từ người quan sát (viewer) và chuyển dịch các node, nó làm thay đổi trạng thái chuyển đổi của đối tượng hình học con Các Scene graph hướng đối tượng cung cấp tính chất này bằng cách sử dụng sự thừa kế Tất cả các lớp chia sẻ một lớp cơ sở chung với những chức năng chuyên dụng được định nghĩa từ lớp gốc

1.4.2 Những tính năng của scene graph

Scene graph đưa ra hình học và trạng thái quản những hàm Rendering API

Trang 30

 Tổ chức không gian: Cấu trúc cây của Scene graph, bản thân nó đã tự thể hiện một cách trực quan không gian

 Chọn lọc (Culling): Việc tự hủy là giảm tải cho hệ thống CPU khi nó không thể tải được đối tượng hình học không phù hợp cho việc kết xuất hình ảnh

Hình 15 – Stack của một chương trình 3D

Thay vì giao diện trực tiếp với Rendering API mức thấp, nhiều ứng dụng 3D yêu cầu các chức năng bổ sung từ một thư viện trung gian, như OpenScenegraph chẳng hạn

 LOD: Khoảng cách đối tượng Viewer được tính toán bao quanh hình học cho phép các đối tượng Render có hiệu quả ở các mức độ cụ thể khác nhau Hơn thể các phần của một cảnh có thể tải từ đĩa khi chúng nằm trong một phạm vi khoảng cách xác định, và sẽ ra khỏi trang khi vượt khỏi khoảng cách đó

 Trong suốt (Translucency): Rendering chính xác và hiệu quả của đối tượng hình học trong suốt yêu cầu tất cả hình học trong suốt được dựng sau đối tượng hình học mờ đục (Opaque) Hơn nữa đối tượng hình học trong suốt được sắp xếp theo chiều sâu và được xây dựng theo một thứ tự từ sau về trước Các hoạt động này được hỗ trợ bở Scene graph

Trang 31

 Giảm thiểu trạng thái thay đổi: Để tối đa hóa hiệu suất của chương trình ứng dụng, dự phòng và những trạng thái thay đổi không cần thiết

sẽ phải nên tránh Scene graph thường loại bỏ đối tượng hình học bởi trạng thái không cần thiết để giảm thiểu trạng thái thay đổi Và các trạng thái quản lý cơ sở của OpenSceneGraph loại bỏ các trạng thái thay đổi cần thiết

 File I/O: Scenegraph là một công cụ hiệu quả cho việc đọc và ghi dữ liệu 3D từ đĩa Một khi dữ liệu được nạp vào bộ nhớ, cấu trúc dữ liệu scene graph bên trong cho phép ứng dụng dễ dàng thao tác với dữ liệu động 3D Scene graph có thể là một đối tượng trung gian hiệu quả để chuyển đổi định dạng file

 Bổ sung những chức năng cao cấp: Các thư viện scene graph thường cung cấp những chức năng cao cấp hơn so với các chức năng thường thấy trong API cấp thấp, chẳng hạn như hỗ trợ đầy đủ tính năng văn bản, hỗ trợ các hiệu ứng dụng hình (chia mảnh nhỏ và đổ bóng), dựng hình tối ưu, hỗ trợ file I/O mô hình 3D và tạo thành nền tảng để truy cập tới các thiết bị vào và xây dựng giao diện

Hầu như tất cả các ứng dụng 3D đòi hỏi một số những tính năng này Kết quả là, người phát triển xây dựng các ứng dụng của họ một cách trự tiếp trên các API mức thấp điển hình để thực hiện những chức năng này, làm tăng chi phí phát triển Sử dụng scene graph được hỗ trợ đầy đủ các tính năng sẽ cho phép các ứng dụng phát triển một cách nhanh chóng

1.4.3 Một số thư viện hỗ trợ lập trình OpenSceneGraph

 osgUtil: Thư viện này chứa các lớp và các hàm cho hoạt động trên đồ

thị cảnh và nội dung của nó Thu thập số liệu thống kê và tối ưu hóa một đồ thị cảnh Ngoài ra còn có các lớp hình học

 osgDB: Thu viện này chứa các lớp và các hàm để tạo và dựng dữ liệu

3D Nó bao gồm các nơi đăng ký của các plugin của OSG cho tập tin vào/ra 2D và 3D Nó chứa các lớp để truy cập vào các plugin này

Trang 32

 osgViewer: Bao gồ các lớp quản lý khung nhìn trên đồ thị cảnh Nó

kết hợp nhiều hệ thống cửa sổ với nhau

 Osg: Thư viện này chứa các lớp nút đồ thị cảnh được sử dụng để xây

dựng đồ thị cảnh Nó cũng chứa các lớp vec tơ, ma trận toán học, hình học, và quản lý các trạng thái dựng hình Các lớp của osg cung cấp các chức năng bổ sung thường theo yêu cầu của ứng dụng 3D, chẳng hạn như quản lý đường dẫn ảnh động, và lỗi cảnh báo

1.4.4 Một số lớp cơ bản trong Scene Graph

Các lớp trong Scenegraph hỗ trợ công việc dựng hình của các đối tượng

mô phỏng Hầu hết các lớp Scene Graph trong OSG được lấy ra từ osg::Node Một khái niệm gốc, nhóm, các nút lá là tất cả các kiểu nút khác nhau Trong OSG, đó là tất cả các kiểu nút cuối cùng được lấy ra từ osg::Node và các lớp đặc biệt cung cấp chức năng đồ thị cảnh không ổn định Ngoài ra, các nút gốc trong OSG không phải là một kiểu nút đặc biệt, nó đơn giản là một nút osg:Node không có cha

Trang 33

 Drawable: Lớp Drawable là lớp cơ bản cho việc lưu trữ dữ liệu thuộc

về hình học và Geode lưu trữ dữ liệu của chúng trong một danh sách std::list<osg::Drawable> Drawable là một lớp ảo thuần túy và không thể tạo đối tượng trực tiếp Phải sử dụng một lớp phân loại như ShapeDrawable, Geometry cho phép ứng dụng để vẽ các hình ban đầu như hình cầu, hình nón và hình hộp

 Geometry: Lớp Geometry, kết hợp với lớp PrimitiveSet hoạt động

như trình bao bọc mức cao, xung quanh các chức năng ma trận đỉnh của OpenGL Geometry lưu trữ đỉnh các ma trận đỉnh, tọa độ kết cấu, màu và các mảng thông thường

 PrimitiveSet: Lớp PrimitiveSet cung cấp sự hỗ trợ mức cao cho các

lệnh vẽ ma trận đỉnh của OpenGL Sử dụng lớp này để xác định các loại của gốc để vẽ từ dữ liệu được lưu trữ trong lớp liên quan đến Geometry

 Các lớp Vector (Vector2, Vector3,…): OSG cung cấp một bộ các

vector ban đầu 2 - phần tử, 3 - phần tử, 4 - phần tử của kiểu float hoặc double Sử dụng các vector đó để xác định các đỉnh, màu, các tọa độ kết cấu, và các pháp tuyến

 Các lớp Array (Vec2Array, Vec3Array,…): OSG định nghĩa một

vài lớp thông thường được sử dụng kiểu Array, như Vec2Array cho các tọa độ texture Xác định mảng dữ liệu vertex lưu trữ dữ liệu hình học trong các mảng đó trước khi chuyển chúng tới các đối tượng

Trang 34

Điều này nghe có vẻ rất khó hiểu, nhưng nó có thể được tóm lược như sau: Các đối tượng Geode là các nút lá trong đồ thị cảnh lưu trữ các đối tượng Drawable Geometry (một kiểu của Drawable) lưu trữ mảng dữ liệu đỉnh và các lệnh vẽ mảng đỉnh cụ thể tới dữ liệu Dữ liệu của nó gồm các mảng các vector Geometry chứa đựng các đối tượng cơ bản bao gồm (Point – điểm, line – đường thẳng, hoặc triangle – hình tam giác) và cùng được thiết lập các thuộc tính theo những quy định bắt buộc đối với từng loại

Trang 35

CopyOp.cpp Drawable.cpp StateSet.cpp LightPointDrawable.h

GLObjectsVisitor.cpp ClasterCullingCallback DrawPixels Geode GeoMetry ShapeDrawable DagtabasePaper

Trang 36

Các thuộc tính được đưa vào dưới dạng danh sách và định dạng các chỉ số được dùng một mảng các số nguyên để nhận dạng vùng dữ liệu tham chiếu đến

Sơ đồ kế thừa như sau:

Hình 17 - Sơ đồ kế thừa của Geometry trong Scene Graph

Một nút trong cơ sở dữ liệu được định nghĩa là lớp Node Mặc dù có thể

về mặt kỹ thuật, Node không phải là sử dụng nhiều Nhưng nó có rất nhiều lớp phụ kế thừa từ lớp Node Có ba lớp phụ đó là: Geode, Group, PossitionAttitudeTransform Nhưng quá trình hiển thị cảnh lại được thực hiện trên các lớp Drawable Nhưng đối tượng này không phải là nút của đồ thị cảnh,

vì vậy chúng ta không thể gắn chúng trực tiếp tới đồ thị cảnh Nó cần thiết phải

có nút “hình học”, Geode thay vào đó

Không phải nút trong một đồ thị cảnh cũng có thể thêm những nút con khác vào Cần hạn chế và chỉ có hai đối tượng đó là Group và Geode Ta có thể miêu tả lại đồ thị khung cảnh trong hình 17 bằng các lớp như sau:

Referenced

Object

Drawable

Geometry

Trang 37

Hình 18 - Scene Graph được biểu diễn bằng đối tượng trong cơ sở dữ liệu

Đồ thị khung cảnh theo mô tả gồm có hai đối tượng hình học Drawable Những thể hiện các lớp bắt nguồn từ Group bên dưới là Geode được nối với hai lớp Drawable miêu tả dữ liệu hình học của đối tượng Đó không phải là cách duy nhất để chuyển đồ thị cảnh từ hình trên đến một đồ thị cảnh thực tế Drawable có thể được gắn với Geode, vì vậy đồ thị cảnh miêu tả trong hình trên cũng có cách khác để miêu tả

Trang 38

hết các node trong scene graph Hình 20 minh họa kịch bản điển hình này Khi ứng dụng hoàn thành việc sử dụng scene graph này, bộ nhớ đang sử dụng bởi mỗi node phải được xóa để tránh lãng phí bộ nhớ Viết mã để đi qua toàn bộ scene graph và xóa mỗi node (và dữ liệu của nó) trên đường đi sẽ dài dòng và dễ xảy ra lỗi May thay, OSG cung cấp một hệ thống thu gom các dữ liệu vô nghĩa hoặc không phù hợp do đó bộ nhớ được sử dụng một cách hiệu quả hơn Hầu hết các node được tính lại, và khi tính lại nếu số lượng của chúng giảm đến 0 thì đối tượng quản lý bộ nhớ sẽ xóa chúng Để xóa hình scene graph, đơn giản chương trình sẽ xóa con trỏ trỏ tới node gốc Điều này gây ra một hiệu ứng phân tầng, xóa hết các node và dữ liệu trong scene graph, được biểu diễn ở hình 20

Hình 20 – Việc tham chiếu một scene graph

Đặc biệt, một ứng dụng tham chiếu một scene graph cùng với một con trỏ đơn lưu trữ địa chỉ của node gốc Ứng dụng không lưu trữ con trỏ trỏ tới các node khác trong scene graph Hầu hết các node khác đều được tham chiếu, trực tiếp hoặc không trực tiếp, từ node gốc

Hình 21 – Xóa scene graph nhiều tầng

Trang 39

Hệ thống quản lý bộ nhớ của OSG xóa toàn bộ scene graph khi con trỏ trỏ tới node gốc cuối cùng được xóa

OSG định nghĩa một lớp con trỏ thông minh tạm thời được gọi là osg::ref_ptr<> mà sử dụng như một con trỏ C++ thông thường Sử dụng các biến ref_ptr<> để lưu trữ các địa chỉ OSG node và địa chỉ dữ liệu scene graph được cấp phát trên bộ nhớ heap Khi mã gắn địa chỉ đối tượng Referenced tới một biến ref_ptr<>, tính thử lại trong Referenced tự động tăng

Bất kỳ đoạn mã lưu trữ một con trỏ trỏ tới một đối tượng được lấy từ Referenced phải lưu trữ con trỏ trong một ref_ptr<> đúng hơn là biến con trỏ C++ thông thường Nếu tất cả các mã đều tuân thủ theo quy tắc này, thì bộ nhớ

sẽ xóa đi một cách tự động khi biến ref_ptr<> liên quan đến nó tiến hành

Ref_ptr<> sử dụng thao tác nạp chồng, với mục đích là các biến ref_ptr<> hoạt động tương tự nhu các biến con trỏ C + + thông thường Ví dụ, biến ref_ptr<> nạp chồng operator->() và con trỏ operator*() truy cập vào vùng nhớ

mà con trỏ địa chỉ trỏ tới

Khi tạo bất kỳ node hoặc dữ liệu scene graph nào lấy từ Referenced, mã ứng dụng không thế xóa bộ nhớ đó một cách dứt khoát Cùng với một vài ngoại

lệ, hầu hết các lớp con Referenced đều được bảo vệ khỏi sự phá hoại Điều này đảm bảo rằng các đối tượng được lấy từ Referenced chỉ có thể được xóa kết quả của việc giảm số lượng sự tham chiếu của chúng đến 0

1.4.5.2 Các lớp quản lý trạng thái

OSG cung cấp một cơ chế lưu trữ sự phân loại trạng thái biểu diễn khi OpenGL yêu cầu trong đồ thị cảnh Trong quá trình quét chọn lọc, hình học cùng với các trạng thái giống nhau được nhóm lại với nhau để giảm thiểu sự thay đổi trạng thái Trong thời gian duyệt cảnh, mã quản lý trạng thái theo dõi trạng thái hiện thời để loại trừ những thay đổi trạng thái dư thừa Thư viện cho phép trạng thái kết hợp với bất kỳ trạng thái của nút đồ thị khác, và trạng thái này được kế thừa có thứ bậc trong suốt quá trình tạo cảnh

Trang 40

 StateSet: OSG lưu trữ một tập các giá trị của state (được gọi là các

phương thức và các thuộc tính) trong lớp StateSet Bất kỳ osg::Node trong scene graph có thể có StateSet liên kết với nó

 Các phương thức (Modes): Tương tự đối với OpenGL gọi tới các

hàm glEnable() và glDisable() Các phương thức cho phép mở và ngắt các tính năng trong OpenGL Sử dụng phương thức osg::StateSet::setMode() để lưu trữ một mode trong một StateSet

 Các thuộc tính (Attribute): Các thuộc tính lưu trữ các tham số trạng

thái, như hàm trộn, màu sương mù Sử dụng phương thức osg::StateSet::setAttribute() để lưu trữ một thuộc tính trong một StateSet

 Các phương thức và các thuộc tính texture: Các phương thức và

các thuộc tính đó áp dụng đối với một đơn vị texture cụ thể trong sự kiến tạo đa nhiệm OpenGL Không giống với OpenGL, ở đó không có đơn vị texture mặc định; ứng dụng phải cung cấp đơn vị texture khi thiết lập các phương thức và các thuộc tính texture Để thiết lập các giá trị state đó và xác định đơn vị texture của chúng sử dụng các phương thức StateSet là setTextureMode() và setTextureAttribute()

 Sự kế thừa các flag: OSG cung cấp các flag cho việc điều chỉnh trạng

thái được kế thừa trong lúc một scene graph giao nhau Theo mặc định, stateset trong một nút con quan trọng hơn cùng stateset trong một nút cha Tuy nhiên có thể buộc trạng thái node cha ghi đè lên trạng thái node con và có thể xác định rõ trạng thái node con được bảo

vệ từ sự ưu tiên của node cha

Hệ thống trạng này đã được chứng minh bản thân hệ thống đó rất linh hoạt Hầu hết các đặc tính mới được thêm vào sự đặc tả OpenGL trong thời gian tồn tại của OSG, bao gồm cả việc bổ sung ngôn ngữ tô bóng OpenGL, dễ dàng thích hợp với hệ thống trạng thái OSG

Ngày đăng: 11/08/2016, 16:46

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Văn Huân (2007), “Mô phỏng chất liệu trong thực tại ảo và ứng dụng”, Đề cương NCS, 2007 Sách, tạp chí
Tiêu đề: Mô phỏng chất liệu trong thực tại ảo và ứng dụng
Tác giả: Nguyễn Văn Huân
Năm: 2007
[2] 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 dựa trên Morfit, 2006 Khác
[4] Paul Martz, 2007, OpenScenegraph Quick Start guide, Mountain View, California, 136 Khác
[5] Michael Kriegel &amp; Meiyii Lim, OpenSceneGraph Tutorial, February 2009, Heriot-Watt University, Edinburgh Khác
[6] Andre Campos, June 2, 2007, Conceptual Architecture of Firefox, EMSE Khác
[7] David Woolford, June 15th 03, Understanding and Using Scene graphs, Prentice Hall, United States of America Khác
[8] Thomas Samuelsen, 2007, Distributed OpenSceneGraph, Faculty of ScienceUniversity of Troms, 80 Khác
[10] Jordi Torres, 2008, OSG Virtual Planets User Guide, Que Corportation, United States of America, 84 Khác
[11] Priit Tammets, 1997, Virtual reality in architecture, IMKE Khác
[12] David Hu, 1996, Architecture of Virtual Reality, EMSE Khác

HÌNH ẢNH LIÊN QUAN

Hình 2 – Một phố cổ thời Pháp thuộc - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 2 – Một phố cổ thời Pháp thuộc (Trang 13)
Hình 4 – Mô phỏng trong thực tại ảo - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 4 – Mô phỏng trong thực tại ảo (Trang 14)
Hình 7 – Sự đắm ch ìm của VR - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 7 – Sự đắm ch ìm của VR (Trang 18)
Hình 9 - Ứng dụng công nghệ VR trong thiết kế kiến trúc - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 9 Ứng dụng công nghệ VR trong thiết kế kiến trúc (Trang 23)
Hình 13 – Một cảnh trừu tượng của Scene graph - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 13 – Một cảnh trừu tượng của Scene graph (Trang 28)
Hình 14 – Một cách tổ chức  của Scene graph - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 14 – Một cách tổ chức của Scene graph (Trang 29)
Sơ đồ kế thừa như sau: - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Sơ đồ k ế thừa như sau: (Trang 36)
2.1.4.1. Sơ đồ mô tả quan hệ giữa các hệ thống của sản phẩm thực tại ảo - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
2.1.4.1. Sơ đồ mô tả quan hệ giữa các hệ thống của sản phẩm thực tại ảo (Trang 49)
Hình 26  – Quá trình số hóa và tái tạo cảnh 3D - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 26 – Quá trình số hóa và tái tạo cảnh 3D (Trang 51)
Hình 28 – Định vị kiến trúc đối tượng - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 28 – Định vị kiến trúc đối tượng (Trang 53)
Hình 33  – Chi tiết các thành phần của kiến trúc Firefox. Các thành phần hiển - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 33 – Chi tiết các thành phần của kiến trúc Firefox. Các thành phần hiển (Trang 57)
Hình 34  – Kiến trúc của XPToolkit - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 34 – Kiến trúc của XPToolkit (Trang 59)
Hình 36 – Kiến trúc plugins của Firefox - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 36 – Kiến trúc plugins của Firefox (Trang 63)
Hình 38 – Một số bộ phận của xe - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 38 – Một số bộ phận của xe (Trang 68)
Hình 49 – Tổng quan quá trình hiển thị ô tô lên web - Nghiên cứu và ứng dụng công nghệ VR trong việc quảng bá sản phẩm trên nền web
Hình 49 – Tổng quan quá trình hiển thị ô tô lên web (Trang 75)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w