Đi cùng với sự phát triển và ứng dụng sâu rộng của thực tế tăng cường (AR) thì chúng ta cũng cần các Framework (hay Library) kèm theo. Sự đầu tư nghiêm túc từ các nền khoa học phát triển đã tạo ra nhiều AR Framework và Library nổi tiếng. Vậy, vai trò của những Framework, Library này là gì? Chúng có hoàn toàn khác nhau? Bài so sánh các AR Framework nổi tiếng sau đây của chúng tôi sẽ giúp bạn hiểu rõ hơn về các yếu tố hỗ trợ thực tế tăng cường này.
AR Framework là gì?
Khi bạn muốn xây dựng một căn nhà thì sẽ cần nguyên liệu và bộ khung. Những nguyên liệu như gạch, vữa, sắt,…sẽ được cắt, ghép lại với nhau. Trong khi đó các bộ khung như nền, bản vẽ, cột,… sẽ hình thành căn nhà. Điều này cũng tương tự như việc xây dựng một hệ thống thực tế tăng cường AR.
Framework chính là bộ khung mã nguồn mở có sẵn còn Library là thư viện mã nguồn (source code). Sự kết hợp từ 2 yếu tố này cung cấp các thuật toán, tính năng có sẵn. Framework và Library có thể sử dụng để xây dựng mọi công trình AR khác nhau.
Mỗi dự án thực tế tăng cường chỉ cần sử dụng nguồn tài nguyên nền tảng từ Library và Framework sau đó mở rộng, điều chỉnh phù hợp với mục đích. Chính điều này tạo nên sự quan trọng và cần thiết của Framework và Library đối với hệ thống AR.
Hiện nay trên thế giới đã có sự nghiên cứu và phát triển nhiều Framework nổi tiếng. Chúng ta có thể kể đến như Three.js, Blippar, BabylonJS, 8thwall, A-frame,…Nhiều chuyên gia cũng đã so sánh các AR Framework nổi tiếng này và áp dụng trong nhiều hệ thống AR thành công. Trong thời gian, khi các hệ thống AR nói chung phát triển, được ứng dụng rộng rãi hơn thì đó cũng là nhờ sự nâng cấp từ các AR Framework.
Lợi ích AR Framework mang lại cho các dự án thực tế ảo tăng cường
AR Framework hiện nay đa số đều là mã nguồn mở hoàn toàn miễn phí. A-Frame có thể phát triển từ một tệp HTML thuần túy, bạn sẽ không cần phải cài đặt quá phức tạp. Đối với hệ thống AR thì các Frameworknày cũng dễ đọc, sao chép và mở rộng.
AR Framework có thể phát triển WebVR đa dạng
Mục tiêu của WebVR đó là giúp người dùng có thể trải nghiệm không gian thực tế ảo dễ dàng, trên đa dạng thiết bị. Điều này có thể được thực hiện bằng các mã nguồn mở, thư viện AR.
Hiện nay các Framework đang hỗ trợ cho cả các ứng dụng của Windows Mixed Reality, Gear VR, Vive, Rift, Daydream, Cardboard,… Điều này sẽ khiến cho hệ thống thực tế ảo được ứng dụng đa dạng và dễ dàng hơn.
Tạo nên cộng đồng khổng lồ và tài nguyên học phong phú
Dù so sánh các AR Framework có khác nhau nhưng về cơ bản thì tất cả đều sẽ tạo nên một nền tảng để phát triển thực sự mạnh. Điều này đã được chứng minh tại các cộng đồng như GitHub, mã nguồn Stack Overflow.
Từ những tài nguyên ban đầu, các Framework này sẽ không ngừng được phát triển, cải tiến. Mọi người ai cũng có thể truy cập, sử dụng và thắc mắc về những tài nguyên này. Tất nhiên, việc phát triển đa dạng, lớn mạnh của các tài nguyên này mang lại lợi ích cực kỳ tốt cho việc ứng dụng AR trong các lĩnh vực khác nhau như giáo dục, giải trí, sản xuất,…
Kết hợp thành phần và Debug đơn giản
Ban đầu các AR Framework có thể bắt đầu từ những thành phần cốt lõi như mô hình, hình ảnh, âm thanh, vị trí, văn bản, điều khiển tai nghe,…Tuy nhiên sau quá trình kết hợp, phát triển từ cộng đồng thì các thành phần này sẽ được cải tiến lên. Chúng ta có thể kể đến như: hình ảnh 3 chiều, hệ thống, dịch chuyển tức thời, hiện tượng,…
Các Framework hiện nay cũng có cộng đồng để giúp người dùng ứng dụng, cải tiến. Ví dụ như Glitch được xem là cộng đồng xây dựng ứng dụng bot trong mơ. Bạn có thể tham khảo tài liệu, mã nguồn và debug đơn giản tại đây.
Kiểm tra trực quan và hiệu suất tuyệt vời
Một điểm lợi thế khá hay của AR-Framework đó là chúng được tích hợp sẵn các công cụ phát triển và kiểm tra. Bạn có thể thực hiện các thao tác này một cách trực quan bằng trình kiểm tra 3D rất tiện dụng. Một số công cụ kiểm tra trực quan như: Inspector, Motion Capture, Mouse and Keyboard Shortcuts, GUI, Cross-Machine Development.
Ngay từ đầu các tài nguyên mã nguồn mở này đều đã được tối ưu hóa cho WebVR. Khi ứng dụng vào hệ thống AR các tài nguyên này sẽ giúp hiển thị, tương tác 3D quy mô lớn một cách nhanh chóng với tốc độ lên tới 90 khung hình/giây.
So sánh các AR Framework nổi tiếng hiện nay
Hiện nay AR Framework đã phát triển khá mạnh và được ứng dụng nhiều. Mỗi loại thì sẽ có những ưu điểm và nhược điểm riêng. Bạn hãy so sánh Framework AR một cách chi tiết để nhận định nên ứng dụng vào lĩnh vực thực tế tăng cường của mình hay không.
Trong phạm vi bài viết này sẽ không đánh giá các Engine/SDK/Framework/Platform lớn tổng hợp nhiều nền tảng và mục đích khác nhau như: Unity3D, Unreal Engine, Apple ARKit, Google ARCore… Chúng tôi sẽ nói về chúng trong một bài viết khác nhé.
Three JS
Three JS sử dụng mã nguồn mở và tài liệu dễ đọc. Bất kỳ ai cũng có thể dễ dàng tham khảo và ứng dụng các Support. AR Lib này rất mạnh trong việc tạo ra các mô hình 3D, Animation nhờ hệ thống Support VR. Những ví dụ có sẵn và phổ biến trên google khiến cho người dùng Three JS dễ dàng tham khảo, tra cứu.
Tuy nhiên đây chỉ là Library AR chứ không phải Framework nên vẫn còn khá sơ khai, cấu trúc viết code chưa Clear, khó hiểu. Bạn sẽ cần phải phát triển nhiều và tự cấu trúc code. Đặc biệt, theo từng phiên bản thì Syntax lại có sự thay đổi nên không đồng nhất.
Aframe
Aframe là một AR Framework cơ bản trên ThreeJS. Do được viết theo thẻ tag, kiểu component nên rất dễ hiểu, phát triển và debug. Việc debug sẽ còn tốt hơn nhờ có Playground xịn.
Aframe có mã nguồn mở dễ dùng, tích hợp thêm code support tốt cho webVR. Nếu áp dụng cho AR thì có thể dùng thêm polifil.
Framework AR này rất tốt cho việc tạo model 3D và thiết kế webVR nhờ hỗ trợ nhiều ứng dụng như VR Vive, Windows Mixed Reality, Gear VR, Rift, Cardboard,…
BabylonJS
Về cơ bản khi so sánh các AR Framework như BabylonJS với ThreeJS không có quá nhiều khác biệt.
Loại AR Library này được viết dưới dạng typescript nên rất dễ theo dõi. Docs, open source và Multiple Platforms cũng tương tự như ThreeJS. Đây cũng là thư viện tốt để tạo mô hình 3D, Animation.
Điều nổi bật của BabylonJS đó là syntax được tối ưu hơn, không thay đổi qua các phiên bản. Nhờ có Playground nên custom camera và có thể debug trực tiếp, rất dễ debug.
8th-Wall
8thwall thường được hỗ trợ làm web AR nhờ dễ dàng tích hợp với các Framework AR khác. Ngoài ra, landing page, Multi Camera, XR 8, 6 dof, Multiple, nên 8thwall rất linh hoạt trong cách dùng và phát triển.
Tài nguyên này có Debugmode, Editor, Cloud và một số Property nên việc code AR, làm việc nhóm, tạo Project, chia sẻ và phát triển cực kỳ đơn giản, nhanh chóng.
Điểm yếu của Framework AR này đó là chi phí khá lớn. Ngoài ra, việc có nhiều tính năng, kết hợp được nhiều Framework khác nên khả năng tìm hiểu, debug cũng khá phức tạp.
Vuforia
Vuforia là một cái tên mới nổi lên như một SDK và Framework thực tế tăng cường tiềm năng. Nó sử dụng màn hình và camera của thiết bị di động để đan xen các yếu tố của thế giới thực và ảo. Nó có thể bao gồm các yếu tố ảo và thế giới thực một cách hiệu quả để trông như thật. Vuforia cũng phát triển các thư viên giúp nhận dạng vật thể hoặc mặt phẳng hoặc chi tiết trên cô thể người thông qua hình ảnh truyền từ camera.
Vuforia là một trong những framework tốt nhất để phát triển ứng dụng AR có khả năng thêm và tạo nền, các nút và hiệu ứng; đặc biệt là khả năng nhận diện thông qua deep learning và machine learning.
Tổng kết
Trên đây là những thông tin cơ bản và so sánh các AR Framework và Lib nổi tiếng. Hy vọng chia sẻ này sẽ giúp bạn hiểu hơn và dễ dàng lựa chọn Framework/Lib tốt nhất để ứng dụng cho dự án AR của mình.
OneTech Asia có rất nhiều kinh nghiệm phát triển các ứng dụng XR, WebXR thông qua việc tận dụng các AR Framework nổi tiếng nhất hiện nay nhằm tận dụng tối đa sức mạnh công nghệ nhằm cắt giảm chi phí và thời gian phát triển sản phẩm cho khách hàng. Bên cạnh đó, OneTech Asia đang tập trung vào phát triển phần mềm XR và Web Cloud tại Việt Nam. Nếu bạn có nhu cầu hoặc thắc mắc cần tư vấn, vui lòng liên hệ với chúng tôi để được tư vấn về các giải pháp công nghệ phù hợp với doanh nghiệp của bạn.