Thực tế ảo tăng cường(AR) đã đi một chặng đường dài từ một khái niệm khoa học viễn tưởng trong các bộ phim hoạt hình doraemon, pokemon , siêu nhân,... đến một hiện tại khoa học như ngày hôm nay. Trước đây chi phí của việc tạo ra một thực tế ảo tăng cường rất đáng kể nên các lập trình viên chỉ có thể mơ ước làm việc trên các dự án khổng lồ - ngày nay mọi thứ đã thay đổi khi mà công nghệ AR thậm chí có sẵn  trên điện thoại di động, máy tính bảng,.... Điều đó có nghĩa là, công nghệ AR là một điều thực tế và không phải là một khái niệm khoa học viễn tưởng nữa.

I. Augmented Reality (AR) là gì ?

Trước đây chúng ta thường được nghe nhắc đến nhiều nhất về công nghệ VR (Virtual Reality) là một công nghệ dùng máy tính mô phỏng làm xuất hiện sự hiện diện vật lý trong những môi trường thế giới thực hay thế giới tưởng tượng của chúng ta. Hầu hết các môi trường thực tế ảo hiện nay đều là hiển thị trên một màn hình máy tính hoặc thông qua màn hình lập thể, nhưng một số mô phỏng bao gồm thông tin cảm giác được hỗ trợ như âm thanh thông qua tai nghe hoặc loa,...

Là một công nghệ được  phát triển từ công nghệ VR, công nghệ AR giúp chúng ta làm xuất hiện những đồ vật 2d hay 3d trong trí tưởng tượng bằng các dữ liệu đã được mã hóa thông qua các lớp thông tin hỗ trợ và được hiển thị trên các thiết bị điện tử như smartphone, tablet,...Nhờ vậy, AR sẽ giúp chúng ta tạo ra một thế giới pha trộn giữa thực và ảo thông qua các hình ảnh ảo được tạo ra qua camera, giúp ta có thể nhìn thấy những thông tin vốn không thể nhìn thấy được bằng mắt thường.

II. Mobile AR SDKs

Hiện tại trên thế giới có rất nhiều các bộ SDK hỗ trợ gần như cơ bản cho lập trình viên tiếp cận với công nghệ AR một cách đơn giản nhất. Tuy nhiên tùy dự án, yêu cầu cụ thể mà bạn có thể chọn SDK hợp lí nhất. Ở dưới đây là bảng liệt kê chi tiết về các bộ AR SDK nổi tiếng hiện nay.

III.  Vuforia

Nền tảng công nghệ của Vuforia có thể cho phép nhận dạng và theo dõi nhiều hình ảnh trên các đối tượng khác nhau. Nó cho phép thiết bị ảo hóa một đối tượng mong muốn một các đơn giản trên bất kì thiết bì nào có camera. Các lập trình viên không mất quá nhiều công sức để xác định, đo đạc vị trí vật thể mà đơn giản sử dụng các API có sẵn trong thư viện Vuforia . Hiện tại Vuforia hỗ trợ nhiều nhận dạng xử lí hình ảnh được cụ thể ở dưới đây.

1.Model Targets:

Cho phép bạn nhận dạng đối tượng bằng cách sử dụng các mô hình 3D có sẵn . Đặt vật thể trên hầu hết các thiết bị, mặt hàng.
Model Targets hỗ trợ việc nhận dạng và theo dõi đối tượng theo hình dạng của chúng. Các  đối tượng được xác định bởi Vuforia Engine bằng cách sử dụng một cơ sở dữ liệu được chuẩn bị đặc biệt và được tạo ra bằng cách xử lý một đại diện  số hóa 3D đối tượng. Các mô hình CAD được khuyến nghị cho mục đích này khi chúng nắm bắt hình học của một đối tượng có độ chính xác cao.

Các đối tượng được hỗ trợ phải:

    Mặt hình học phải được xác định rõ ràng (tức là đối tượng không thể bị biến dạng hoặc dễ uốn)
    Các tính năng bề mặt ổn định i (ví dụ: bề mặt sáng bóng không được hỗ trợ)

2. Image Targets :

Đưa nội dung thực tế ảo vào một hình ảnh phẳng bất kì. Image Targets thể hiện hình ảnh mà Vuforia Engine có thể phát hiện và theo dõi. Không  giống như các điểm đánh dấu truyền thống, mã ma trận dữ liệu  và mã QR. Image Targets không cần các vùng màu đen và trắng đặc biệt  hoặc mã được nhận dạng. Engine phát hiện và theo  dõi các tính năng được tìm thấy tự nhiên trong chính hình ảnh bằng cách  so sánh các tính năng tự nhiên này với cơ sở dữ liệu tài nguyên đích đã  biết. Khi mục tiêu hình ảnh được phát hiện,  Vuforia Engine sẽ theo dõi hình ảnh miễn là nó ít nhất là một phần trong  trường xem của máy ảnh.

3. Object Targets:

Được tạo bằng cách quét một đối tượng. Bạn có thể tưởng tượng nó giống như việc Ironman quét một tòa nhà 3d và hiển thị lên (tất nhiên ở đây vuforia chỉ là quét để gắn nhãn các thành phần chứ chưa pro đến mức vậy)

4. Multi-Targets:

Được tạo bằng  cách sử dụng nhiều Mục tiêu hình ảnh và có thể được sắp xếp thành các  hình dạng hình học thông thường (ví dụ: hộp) hoặc trong bất kỳ sự sắp  xếp tùy ý nào của bề mặt phẳng.

5.  Cylinder Targets:

Nhận dạng hình  ảnh được bao bọc lên các vật thể có hình dạng xấp xỉ hình trụ (ví dụ:  chai nước giải khát, cốc cà phê, lon soda). Bạn có thể tạo  các mục tiêu Cylinder với Vuforia Target Manager bằng cách xác định  chiều dài cạnh và đường kính của Cylinder Target và thêm các hình ảnh mà  bạn muốn phát hiện.

6. VuMarks:

Đây là các điểm đánh dấu tùy chỉnh có thể mã hóa một loạt các định dạng dữ liệu. Chúng hỗ trợ cả nhận dạng và theo dõi duy nhất cho các ứng dụng AR. VuMark cung cấp  một giải pháp tổng quan để cung cấp trải nghiệm AR một cách độc đáo trên bất kỳ  đối tượng nào, đồng thời cho phép thiết kế tự do cho giao diện tùy  chỉnh. VuMark cũng cung cấp một phương pháp đơn  giản để mã hóa dữ liệu như URL hoặc số sê-ri sản phẩm và vượt qua các  giới hạn của các giải pháp mã vạch ma trận hiện tại không hỗ trợ trải nghiệm AR và có thể làm giảm sự xuất hiện của sản phẩm.

VuMarks có ứng dụng ở cả thị trường doanh nghiệp và người tiêu dùng. VuMarks là một cách thay đổi trò chơi cho doanh nghiệp bởi vì họ có thể mở rộng để xác định các đối tượng và lớp phủ hướng dẫn từng  bước 3D chỉ ra cách sử dụng chúng. Điều này dẫn đến tiết kiệm chi phí đáng kể cho nhân viên hoạt động và phục vụ thiết bị.

Trong thị trường tiêu dùng, VuMarks cung cấp một cách đáng tin cậy để nhận biết và theo dõi đồ chơi, đồ điện tử và các công cụ. Thương  hiệu người tiêu dùng có thể tạo trải nghiệm 3D được thiết kế để cho  biết cách sử dụng sản phẩm hoặc tăng thêm giá trị với các tính năng kỹ  thuật số mới.

7. External Camera:

Truy cập dữ liệu video từ máy ảnh bên ngoài camera trong điện thoại hoặc máy tính bảng khi tạo trải nghiệm AR.

8. Ground Plane:

Cho phép bạn đặt nội dung trên các bề mặt nằm ngang trong môi trường như bàn và sàn.

IV. Phát triển ứng dụng AR trên nền tảng Unity và Vuforia

  1. Download Unity bản mới nhất : unity
  2. Tiến hành cài đặt như bình thường nhưng phải chọn "Vuforia Augmented Reality Suppor"
  3. Chọn Create a new Unity project.
  4. Under PlayerSettings/XR, check Vuforia Augmented Reality Support
  5. Thay thế Main Camera bằng AR Camera  (GameObject Menu> Vuforia>AR Camera).
  6. Chọn 1 Image Target tới scene (GameObject Menu> Vuforia> Image)
  7. Làm cho nội dung của bạn thuộc về Image Target
  8. In ra  Astronaut card từ thư mục Editor/Vuforia/ForPrint/ImageTargets/
  9. Có thể dùng webcam để test phần demo này , hoặc build ra apk trên điện thoại android.

V. Tổng kết

Sử dụng vuforia để tạo ra một ứng dụng AR khiến công việc của các lập trình viên trở nên nhàng hơn, tuy nhiên đòi hỏi việc sự dụng nhuần nhuyễn các api mà vuforia cung cấp , ngoài ra bạn sẽ phải phụ thuộc vào hệ sinh thái mà vuforia phát triển khiến cho các lập trình viên trở nên bị động hơn . Đa số các ứng dụng, các game AR sử dụng vuforia đều được phát triển trên nền tảng Unity vì khả năng linh hoạt, tính mở, tiết giảm thời gian chi phí xây dựng tối đa nên các lập trình viên cần năm vững kiến thức cơ bản về Unity.

VI. Tham khảo

  1. Vuforia Developer Libarary