BabylonJS - Framework mạnh để tạo các ứng dụng Web 3D

Trước đây, Flash của Adobe là xu hướng chủ yếu trong phát nội dung đồ họa và 3D trên nền tảng Web. Tuy nhiên Flash đã kết thúc và WebGL đã được phát triển mạnh mẽ để thay thế trong những năm gần đây.

Lần này ONETECH xin giới thiệu BabylonJS, một công cụ được khuyến khích dùng để tạo các ứng dụng 3D trên Web mà hiện tại công ty cũng đang triển khai trong các dự án 3D Web App của mình.

BabylonJS là gì?

BabylonJS Logo

BabylonJS là một công cụ 3D sử dụng Javascript hoặc Typescript do Microsoft phát triển.

Gần đây BabylonJS đã trở nên rất phổ biến với các bản cập nhật mới đã mở rộng rất nhiều chức năng, và đã có thể hỗ trợ cho WebXR.

Điểm khác nhau giữa BabylonJS và ThreeJS

Có rất nhiều Framework WebGL trên thị trường hiện nay. Công nghệ nổi tiếng nhất là ThreeJS? sự khác biệt giữa BabylonJS và ThreeJS là gì? Tại sao BabylonJS được nhắc đến nhiều hơn? Tôi xingiải thích về những điều này.

ThreeJS là một thư viện sử dụng WebGL để hiển thị 3DCG trên web.

Có chức năng tương tự như BabylonJS; BabylonJS dường như được sử dụng chủ yếu trong phát triển trò chơi 3D trên Web. Nó không chỉ là một thư viện để hiển thị 3DCG, mà còn hỗ trợ Collider(Va chạm vật lý) và đổ bóng.

Babylon vs Three.js
Babylon vs Three.js

Nó có thể được kết nối với các HMD khác nhau như Oculus. Phát WebXR và hỗ trợ input vào bộ điều khiển HMD.

Phát triển ứng dụng VR với babylon.js tương thích với WebXR
Phát triển ứng dụng VR với babylon.js tương thích với WebXR

Điểm mạnh của BabylonJS

Có Editor trên Web

Khi sử dụng các framework để phát triển web, chúng ta thường nghĩ đến việc cài đặt các thư viện với npm và gọi các hàm của thư viện trong mã nguồn.

Ví dụ: Khi sử dụng thư viện React và phát triển giao diện người dùng, trước tiên phải cài đặt nó trong Terminal bằng lệnh “npm install react”.

Tiếp theo, kiểm tra giao diện người dùng đã tạo bằng lệnh “npm start”.

Nhưng phát triển ứng dụng 3D thì khác, cần một cái gì đó giống như cửa sổ Scene như của Unity và Unreal engine để bạn có thể quan sát được kết quả công việc của mình trong môi trường đồ hoạc 3D.

Web上のEditorがある

ThreeJS không có màn hình giống như giao diện người dùng, vì vậy nếu muốn kiểm tra nó, cần phải làm mới trình duyệt của mình. Ứng dụng 3D sẽ mất nhiều thời gian vì thường thiết lập nhiều vật thể và màu sắc.

Mặt khác, BabylonJS có Editor trên web, có giao diện người dùng quen thuộc cho người dùng Unity hoặc Unreal. Có thể sử dụng BabylonJS ngay lập tức mà không cần phải cài đặt thêm bất cứ thứ gì.

Sửa đổi mã nguồn hoặc nội dung được phản ánh ngay lập tức, vì vậy tiện lợi hơn khi không cần phải làm mới lại trình duyệt.

ソースコードまたコンテンツを修正するとすぐに反映しますので、ブラウザのリフレッシュは必要なく便利です。

https://playground.babylonjs.com/

Đa nền tảng

Đối với các ứng dụng web, BabylonJS hỗ trợ các trình duyệt trên PC và thiết bị di động, cũng như HoloLens2 và Oculus.

Oculus hỗ trợ ThreeJS và Aframe, nhưng HoloLens2 chỉ hỗ trợ BabylonJS.

HoloLens2 và BabylonJS đều là của Microsoft, vì vậy chúng có tính tương thích rất cao. Các tính năng của HoloLens2 như theo dõi bàn tay, nhận dạng giọng nói, v.v. có thể được sử dụng với BabylonJS.

Bạn có thể trải nghiệm quá trình phát triển Hololens với babylonJS tại Github sau đây.

https://github.com/iwaken71/babylon_hololens_piano

Video Babylon HoloLens Piano

Hỗ trợ AWS

Dịch vụ AR / VR của AWS là của Sumerian, nhưng đã được thông báo rằng nó sẽ kết thúc vào ngày 23 tháng 1 năm 2023. Thay vào đó, AWS sẽ có thể phát triển các ứng dụng VR / AR kết hợp với BabylonJS và Amplify.

Dịch vụ AWS AR/VR Sumerian
Dịch vụ AWS AR/VR Sumerian

Hiện tại, AWS cung cấp một thư viện cho BabylonJS được gọi là AWS SDK cho Javascript.

Sumerian Hosts in Babylon.js – Amazon Sumerian

Mô hình 3D có thể được lưu trữ trong Amazon S3 và được đọc từ BabylonJS để hiển thị mô hình 3D. Nó cũng có thể được công khai cho toàn thế giới bằng cách sử dụng CloudFront và Route53.

AWS cũng cung cấp Avatar miễn phí và BabylonJS sử dụng dịch vụ AWS Polly để ghi lại giọng nói của người dùng và tự động phản ánh chuyển động của miệng, cử chỉ và giọng nói của Avatar.

AWS Polly Avatar
AWS Polly Avatar

Phản ánh cử động Avatar của AWS Polly.

AWS Pollyの反映です。

→Các ứng dụng web thường được vận hành trên AWS và BabylonJS có hỗ trợ AWS chính thức dễ dàng tích hợp và quản lý chi phí.

Có thể sử dụng Typescript

Có thể không phải là một lợi thế lớn, nhưng các Framekorks khác thường sử dụng Javascript. Với Typecript và Javascript, thì Typescript là ngôn ngữ dễ hiểu hơn.

Trong bài viết này sẽ không so sánh chi tiết giữa Javascript và Typescript, nhưng lý do Typescript dễ hiểu hơn là vì biến số được tổ chức rõ ràng. Các loại cơ bản không chỉ là Integer(Số nguyên) ,String (Chuỗi), mà còn là Camera、Sphere(Hình cầu)、Material(vật liệu)、Light( ánh sáng) v.v., được định nghĩa rõ và dễ quản lý. Và Typecript là sản phẩm của Microsoft, nên có tính tương thích cao.

Mặt khác, Javascript không có kiểu biến số, vì vậy có nhiều kiểu và lớp mới cần phải học để lập trình 3D.

グラフィカル ユーザー インターフェイス, テキスト

Tổng kết

BabylonJS vẫn là một công nghệ mới so với các framework khác. Đồng thời, công nghệ và ứng dụng trên WebXR cũng đang phát triển. Trong tương lai, tất cả các ứng dụng sẽ được sử dụng trên Web.

Tôi tin rằng WebXR bắt đầu sẽ phổ cập từ các trò chơi 3D. Tuy nhiên, vì chúng ta đang ở trong thời đại 5G, tôi nghĩ WebXR cũng sẽ phát triển trong nhiều ngành công nghiệp khác.

Có một số thư viện cho WebXR, nhưng BabylonJS có độ ổn định cao vì Microsoft đang nỗ lực rất nhiều để phát triển. Microsoft cập nhật thư viện hàng tháng để sửa lỗi. Một ưu điểm lớn khác là dễ dàng tích hợp các dịch vụ khác (Azure, AWS, Hololens2). Tôi cho rằng nên sử dụng BabylonJS để phát triển các ứng dụng 3D cho web.

Ứng dụng WebXR đang phát triển nhanh chóng
Ứng dụng WebXR đang phát triển nhanh chóng

Tuy nhiên, một số người có thể gặp rắc rối vì họ không biết bắt đầu phát triển WebXR từ đâu. ONETECH có rất nhiều kinh nghiệm sản xuất WebXR bao gồm 3D web và WebGL.

Một trong những điểm mạnh của chúng tôi là chúng tôi có các nhà thiết kế và lập trình trên mô hình 3D giàu kinh nghiệm, chúng tôi cũng các kỹ sư có thể tạo WebGL cho 3D web.

Kết quả phát triển XR của ONETECH: https://onetech.jp/works-category/ar-vr-mr-jp

Bên cạnh đó, ONETECH đang tập trung vào phát triển phần mềm XR tại Việt Nam. Vui lòng liên hệ với One Technology để đượ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.

Tư vấn - Báo giá
Mở rộng quy mô doanh nghiệp của bạn với ONETECH!
Hãy liên hệ với chúng tôi để được cung cấp các dịch vụ phát triển phần mềm chất lượng cao với chi phí hợp lý nhất. Các kỹ sư của chúng tôi sẽ giúp bạn phát triển một giải pháp phù hợp để vượt lên đối thủ cạnh tranh của mình.
Mọi thông tin tư vấn và báo giá đều miễn phí.

    「Chính sách bảo mật」Nếu bạn đồng ý với những điều trên, vui lòng nhấp vào nút "Gửi"
    Một email trả lời tự động sẽ được gửi đến địa chỉ email bạn đã nhập, vì vậy hãy kiểm tra điều đó.
    Tư vấn - Báo giá
    Mở rộng quy mô doanh nghiệp của bạn với ONETECH!
    Hãy liên hệ với chúng tôi để được cung cấp các dịch vụ phát triển phần mềm chất lượng cao với chi phí hợp lý nhất. Các kỹ sư của chúng tôi sẽ giúp bạn phát triển một giải pháp phù hợp để vượt lên đối thủ cạnh tranh của mình.
    Mọi thông tin tư vấn và báo giá đều miễn phí.

      「Chính sách bảo mật」Nếu bạn đồng ý với những điều trên, vui lòng nhấp vào nút "Gửi"
      Một email trả lời tự động sẽ được gửi đến địa chỉ email bạn đã nhập, vì vậy hãy kiểm tra điều đó.
      liên hệ