Vibe Coding XR với Gemini XR Blocks: Bài học từ việc xây dựng phòng thí nghiệm sinh học 3D
Bài viết chia sẻ kinh nghiệm xây dựng một ứng dụng XR (Thực tế mở rộng) phòng thí nghiệm sinh học sử dụng AI và khung XR Blocks. Thay vì phụ thuộc vào các engine nặng nề, tác giả sử dụng "Vibe Coding" và tạo hình thủ tục (procedural generation) để biến ý tưởng thành trải nghiệm không gian nhanh chóng, hiệu quả và đáng tin cậy trên nền tảng Android XR.

Vibe Coding XR với Gemini XR Blocks: Bài học từ việc xây dựng phòng thí nghiệm sinh học 3D
Trong nhiều năm qua, việc xây dựng các ứng dụng XR (Thực tế mở rộng) thường đồng nghĩa với việc phải vật lộn với các engine game nặng nề, quy trình build phức tạp và khối lượng tài sản (asset) khổng lồ. Ngay cả những thử nghiệm đơn giản cũng có thể mất hàng tuần để tạo mẫu (prototype).
Tuy nhiên, mô hình đó đang bắt đầu thay đổi.
Chúng ta đang bước vào kỷ nguyên của Vibe Coding, nơi khoảng cách từ một ý tưởng đến một trải nghiệm không gian hoạt động được rút ngắn từ vài tuần xuống còn vài giờ, thậm chí chỉ vài phút. Sử dụng Gemini và khung XR Blocks, tôi gần đây đã xây dựng một phòng thí nghiệm sinh học XR Mixed Reality, nơi người dùng có thể đi lại trong VR, tương tác với cấu trúc DNA và tế bào, khám phá các cơ quan con người, kích hoạt các điểm học tập ngữ cảnh và nghe giải thích qua tính năng chuyển văn bản thành giọng nói tích hợp.
Không cần tải xuống nặng nề. Không có đường ống shader phức tạp. Không có vấn đề phụ thuộc tài sản. Chỉ đơn giản là ý định được chuyển đổi thành một trải nghiệm không gian chức năng.
Dự án được thiết kế dựa trên các ý tưởng thiết kế không gian Material 3 của Google và hướng tới hệ sinh thái Android XR đang nổi lên. Cho dù chạy trên các thiết bị như Quest 3S hay phần cứng tương lai như tai nghe Android XR của Samsung, một điều đang trở nên rõ ràng: Web không gian không còn là lý thuyết. Nó đang được xây dựng ngay bây giờ và ngày càng nhiều, nó được xây dựng bằng những lời nói.
Tại sao tôi xây dựng dự án này?
Động lực đằng sau dự án này rất đơn giản. Tôi muốn kiểm tra xem liệu AI có thể giảm đáng kể ma sát trong việc tạo mẫu XR hay không.
Theo truyền thống, việc xây dựng ngay cả một bản demo XR nhỏ cũng đòi hỏi:
- Thiết lập engine
- Nhập tài sản
- Cấu hình ánh sáng
- Viết hệ thống tương tác
- Xử lý các vấn đề hiệu suất
Điều này tạo ra một rào cản lớn cho việc thử nghiệm. Tôi muốn kiểm tra một câu hỏi khác: Liệu một môi trường học tập XR hoàn chỉnh có thể được tạo ra từ một câu lệnh có cấu trúc (prompt) trong khi vẫn duy trì sự rõ ràng về kỹ thuật và kiểm soát kiến trúc hay không?
Để trả lời câu hỏi này, tôi đã xác định các ràng buộc nghiêm ngặt.
Xác định ràng buộc kỹ thuật trước khi viết mã
Trước khi tạo bất kỳ mã nào, tôi đã xác định các ràng buộc sẽ hướng dẫn thử nghiệm. Các ràng buộc này rất quan trọng vì chúng buộc phải có kỷ luật kiến trúc.
Các quy tắc của dự án bao gồm:
- Toàn bộ trải nghiệm XR phải tồn tại trong một tệp HTML duy nhất
- Tất cả các mô hình phải được tạo thủ tục (procedurally generated)
- Không cho phép tài sản bên ngoài
- Không cho phép các lệnh fetch
- Tương tác phải sử dụng API trình duyệt gốc
- Âm thanh phải sử dụng tổng hợp giọng nói tích hợp
Những quyết định này không ngẫu nhiên. Mỗi quyết định giải quyết một vấn đề phát triển XR thực tế. Ví dụ: tạo hình thủ tục ngăn chặn các lỗi tài sản bị thiếu, kiến trúc tệp đơn cải thiện tính di động, API gốc giảm sự phụ thuộc.
Các ràng buộc này đã biến dự án thành một thử nghiệm về độ tin cậy cũng như là một thử nghiệm phát triển. Đây là một tư duy quan trọng đối với các nhà phát triển XR: Các ràng buộc thường cải thiện sự rõ ràng của thiết kế.
Prompt như một đặc tả hệ thống
Một sự nhận biết thú vị từ dự án này là một prompt XR tốt hoạt động rất giống với một tài liệu thiết kế kỹ thuật. Thay vì chỉ mô tả hình ảnh, prompt đã mô tả:
- Thiết kế môi trường
- Hành vi tương tác
- Quy tắc điều hướng
- Ràng buộc hiệu suất
- Mục tiêu giáo dục
Điều này đã biến prompt thành một đặc tả hiệu quả.
Màn hình Prompt
Một mô hình hữu ích tôi phát hiện ra là các prompt XR hoạt động tốt nhất khi bao gồm năm yếu tố:
- Mô tả môi trường
- Kỳ vọng tương tác
- Mô hình điều hướng
- Cơ chế phản hồi
- Ràng buộc kỹ thuật
Cấu trúc này giúp AI tạo ra các trải nghiệm không gian khả dụng hơn. Đối với các nhà phát triển mới làm quen với quy trình làm việc AI XR, việc coi prompt là tài liệu kiến trúc thay vì các hướng dẫn đơn giản sẽ dẫn đến kết quả tốt hơn.
Tổng quan kiến trúc dự án
Mặc dù dự án tồn tại trong một tệp, nó vẫn tuân theo tư duy kiến trúc phân lớp. Các lớp chính bao gồm:
- Thiết lập cảnh (Scene setup)
- Tạo hình thủ tục (Procedural modeling)
- Hệ thống tương tác
- Điều hướng XR
- Phản hồi âm thanh
Cách đơn giản để nghĩ về cấu trúc này:
- Lớp Cảnh xây dựng thế giới
- Lớp Mô hình tạo đối tượng
- Lớp Tương tác cho phép chọn lựa
- Lớp XR xử lý chuyển động
- Lớp Âm thanh củng cố việc học
Ngay cả trong các dự án thử nghiệm, sự tách biệt tinh thần này cải thiện tính khả bảo.
Chiến lược xây dựng cảnh
Môi trường được xây dựng đầu tiên vì trải nghiệm XR phụ thuộc nhiều vào bối cảnh không gian. Phòng thí nghiệm bao gồm các tấm cửa sổ lớn, nền rừng, cấu trúc trần gỗ, bàn thí nghiệm, ghế và các màn hình mô hình nổi.
Tổng quan môi trường phòng thí nghiệm XR
Mục tiêu không phải là hiện thực (realism). Mục tiêu là sự rõ ràng. XR giáo dục hưởng lợi nhiều hơn từ các môi trường dễ đọc hơn là môi trường giống thật. Ánh sáng sạch sẽ và các hình dạng dễ nhận biết cải thiện tương tác học tập. Đây là một bài học quan trọng cho người mới bắt đầu: Hãy bắt đầu bằng sự rõ ràng trước khi theo đuổi hiện thực.
Tiếp cận tạo hình thủ tục (Procedural Modeling)
Thay vì nhập tài sản 3D, tất cả các mô hình sinh học đều được tạo bằng hình học cơ bản. Ví dụ:
- DNA có thể được xấp xỉ bằng các hình xoắn ốc và hình trụ
- Tế bào có thể sử dụng hình cầu và vật liệu nhiều lớp
- Xương có thể sử dụng các hình dạng kéo dài
- Các cơ quan có thể sử dụng các hình nguyên thủy kết hợp
Mô hình DNA
Tạo hình thủ tục cung cấp ba lợi ích: Độ tin cậy, Tốc độ và Tính linh hoạt. Độ tin cậy cải thiện vì không có tệp nào bị lỗi tải. Tốc độ cải thiện vì việc lặp lại nhanh hơn. Tính linh hoạt cải thiện vì hình học có thể được sửa đổi theo chương trình. Đối với các nhà phát triển bắt đầu XR, tạo hình thủ tục là một điểm khởi đầu mạnh mẽ trước khi chuyển sang các tài sản phức tạp.
Kiến trúc tương tác
Tương tác được triển khai sử dụng raycasting (kỹ thuật tia). Đây là cách tiếp cận phổ biến trong XR vì nó phản ánh cách người dùng chỉ vào vật thể. Quy trình tương tác hoạt động như sau:
- Người dùng chỉ tay cầm (controller)
- Tia cắt qua đối tượng
- Đối tượng kích hoạt chú thích công cụ (tooltip)
Đường ống đơn giản này tạo ra một tương tác học tập tự nhiên. Các bài học quan trọng ở đây là: Mục tiêu tương tác phải lớn, Phản hồi phải ngay lập tức, và Xác nhận trực quan giúp giảm bớt sự nhầm lẫn.
Quyết định điều hướng XR
Điều hướng sử dụng dịch chuyển tức thời (teleportation) thay vì chuyển động tự do. Quyết định này có chủ đích vì dịch chuyển tức thời giảm say xe và được chấp nhận rộng rãi là phương pháp di chuyển XR thoải mái. Đối với người mới bắt đầu, thường tốt hơn nên bắt đầu với dịch chuyển tức thời và mở rộng sau này.
Kết luận
Dự án này bắt đầu như một câu hỏi đơn giản về phát triển XR hỗ trợ bởi AI. Nó đã trở thành một cuộc khám phá hữu ích về cách các quy trình làm việc dựa trên prompt có thể thay đổi cách các ứng dụng không gian được xây dựng.
Điều rút ra lớn nhất không phải là AI viết mã XR. Sự thay đổi thực sự là AI giảm khoảng cách giữa ý tưởng và nguyên mẫu. Các nhà phát triển giờ đây có thể dành nhiều thời gian hơn để thiết kế trải nghiệm và ít thời gian hơn để chiến đấu với các công cụ. Phát triển XR đang trở nên nhẹ nhàng, nhanh chóng và dễ tiếp cận hơn. Và ngày càng nhiều, phần mềm không gian có thể bắt đầu không phải từ các engine hay trình chỉnh sửa, mà từ ý định, và đôi khi, chỉ là một prompt được cấu trúc tốt.



