Xây dựng trải nghiệm AR/VR nhanh với Meta Building Blocks

Nếu bạn đã quen với việc phát triển game hoặc ứng dụng trên Unity và muốn bắt đầu xây dựng trải nghiệm AR/VR cho Meta Quest, thì công cụ Meta Building Blocks là giải pháp giúp rút ngắn thời gian phát triển. Với vài thao tác kéo thả đơn giản, bạn có thể tích hợp ngay các tính năng AR/VR từ Meta vào dự án của mình mà không cần lo lắng về việc thiết lập phức tạp như trước.

Trước đây và hiện tại

Trước khi có Meta Building Blocks, việc phát triển một ứng dụng AR/VR đòi hỏi bạn phải thiết lập thủ công nhiều thông số quan trọng như cameraRig, ánh sáng, và các tùy chọn rendering. Những thiết lập này không chỉ mất thời gian mà nếu sai sót còn dễ gây ra các xung đột trong quá trình vận hành. Tuy nhiên, với Building Blocks, Meta đã tự động hóa quy trình này, giúp bạn tập trung vào việc phát triển tính năng và nội dung trải nghiệm mà không cần phải lo về các thiết lập phức tạp trên Unity.

Bắt đầu với Meta Building Blocks

Để bắt đầu sử dụng Building Blocks, bạn cần chuẩn bị các yếu tố sau:

  1. Unity 3D Project: Tạo một project Unity trống hoặc với render pipeline phù hợp với dự án của bạn. Để dùng building block, bạn sẽ cần thiết lập một số thành phần của project như cài đặt SDK, thiết lập tài khoản Meta developer,… các bước cụ thể có thể xem tại đây.
  2. Meta XR Core SDK: Đây là bộ công cụ cơ bản cần thiết để hỗ trợ các tính năng XR như camera rig, đầu vào từ controller và hand tracking, cũng như các tính năng MR (Mixed Reality) như passthrough và spatial anchors.
  3. Meta XR All-in-One SDK: Nếu bạn muốn khám phá tất cả các tính năng của Meta XR, đây là bộ công cụ tổng hợp, cung cấp tất cả các Building Blocks cần thiết. Ngoài ra, bạn có thể tải từng SDK riêng lẻ cho các tính năng cụ thể như Meta XR Interaction SDK (ray, poke, locomotion, grab) hay Meta XR Audio SDK (spatial audio).

Thêm Building Blocks vào dự án Unity

Để tích hợp một Building Block vào dự án:

  • Truy cập Meta > Tools > Building Blocks trong Unity Editor để khám phá và thêm các tính năng mong muốn cho dự án của mình.
  • Chọn block mà bạn muốn thêm vào scene.
  • Kéo thả block đó vào scene, hoặc nhấp vào biểu tượng “Add Block to current scene” ở góc dưới bên phải.

Trong video ngắn dưới đây, mình chỉ mất khoảng 20 giây để thiết lập các thành phần cơ bản của một Unity scene với passthrough, hand tracking và hand occlusion. Nếu chỉ cỡ một năm trước đây thôi, khi phải làm thủ công những tác vụ này có thể dễ dàng làm mình dành cả tiếng đồng hồ hoặc hơn, đặc biệt khi phải build và debug, thì nay đã trở nên hết sức đơn giản.

Một số building blocks hữu ích

Camera Rig: là một thành phần cốt lõi trong các ứng dụng AR/VR. Nó đại diện cho góc nhìn của người dùng và bao gồm các yếu tố cần thiết để theo dõi vị trí và cử động của họ trong không gian ảo. Trong quá trình phát triển, Camera rig là một yếu tố quan trọng giúp xác định trải nghiệm thị giác của người dùng, từ việc hiển thị cảnh quan đến việc tương tác với các đối tượng ảo trong không gian 3D.

Passthrough: tính năng này cho phép hiển thị môi trường thực tế xung quanh người dùng. Bạn có thể đặt các vật thể ảo trong không gian đó, hoặc sử dụng thêm building block “Scene Mesh” để tự động tạo cập nhật giới hạn khu vực chơi dưới dạng mesh collider, để vật thể ảo có thể tương tác với thế giới thật.

Controller: theo dõi vị trí, hướng của các controller để tương tác với các đối tượng trong không gian ảo. Đây là một tính năng thường dùng khi phát triển ứng dụng AR/VR. Để phát hiện khi người dùng nhấn nút hay di chuyển thumbstick, bạn vẫn phải tạo Unity Script riêng trong đó sử dụng OVRController để lắng nghe các input từ controllers.

Hand tracking: tính năng này giúp theo dõi chính xác chuyển động của bàn tay người dùng. Khi kết hợp với Real Hand Building Block, sự tương tác giữa bàn tay và các đối tượng ảo sẽ được mô phỏng tự nhiên hơn, mang lại cảm giác thực tế.

Real hand: mặc định với hand tracking trong chế độ passthrough, khi người dùng cầm nắm một vật thể ảo, hình ảnh của vật thể đó sẽ chồng lên tay. Tuy nhiên, với Real Hand Building Blocks, tính năng hand occlusion được tích hợp, giúp hình ảnh của các vật thể ảo hiển thị một cách linh hoạt hơn, tùy thuộc vào cách người dùng cầm nắm hoặc tương tác với vật thể. Điều này tạo ra cảm giác tự nhiên hơn, giống như trong đời thực hay cách mà bạn có thể thấy khi dùng Apple Vision Pro.

Ray Interaction: Sử dụng tia raycast để tương tác với UI, các nút bấm hoặc di chuyển các vật thể trong không gian. Tính năng này có thể hoạt động với cả controller và hand tracking. Hiện building block này vẫn đang ở giai đoạn thử nghiệm, có thể sẽ xảy ra lỗi trong một số trường hợp, nên cân nhắc nếu bạn muốn đưa vào game hay app của mình.

Trên đây chỉ là một số building blocks mình hay dùng khi phát triển trải nghiệm AR/VR, Meta cung cấp 34 building blocks trong SDK của mình và hiện vẫn phát triển thêm nhiều block nữa giúp developers có thể phát triển nhanh hơn ứng dụng AR/VR.

Tại sao nên sử dụng Meta Building Blocks?

Sử dụng Meta Building Blocks giúp giảm thời gian phát triển đáng kể. Thay vì phải cấu hình từng chi tiết nhỏ, nhà phát triển có thể tận dụng các block được tạo sẵn để thêm các tính năng cần thiết một cách nhanh chóng và hiệu quả. Điều này đặc biệt hữu ích với những dự án nhỏ, hoặc khi bạn muốn tập trung vào việc phát triển nội dung thay vì xử lý các vấn đề kỹ thuật. Tiếc thay, building blocks hiện chỉ hỗ trợ khi phát triển games hay ứng dụng AR/VR cho nền tảng Meta Quest trên Unity, chưa rõ liệu Meta có phát triển bộ công cụ này cho Unreal Engine trong tương lai hay không.

Building Blocks không chỉ làm đơn giản hóa quy trình phát triển mà còn mang lại tính linh hoạt cao, cho phép tùy chỉnh các yếu tố như giao diện, tương tác và hiệu suất của ứng dụng AR/VR một cách dễ dàng. Hãy tận dụng công cụ này để nhanh chóng xây dựng các trải nghiệm phong phú trên nền tảng Meta Quest!

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top