Giới thiệu dự án

Sự bùng nổ của công nghệ thực tế ảo (VR) và điện toán không gian (Spatial Computing) đã mở ra kỷ nguyên mới cho không gian chia sẻ kỹ thuật số (Metaverse). Theo các báo cáo công nghệ toàn cầu, thị trường Metaverse trong giáo dục và bảo tồn văn hóa ước tính đạt tốc độ tăng trưởng kép (CAGR) trên 30% giai đoạn 2023–2030. Tuy nhiên, phần lớn các ứng dụng Metaverse hiện nay chủ yếu tập trung vào mảng trò chơi (gaming) và giải trí thương mại, trong khi việc ứng dụng vào giáo dục, bảo tồn di sản văn hóa và triển lãm học thuật vẫn còn nhiều khoảng trống kỹ thuật.

+-------------------------------------------------------------------------------+
|                             LARCHIVEUM ECOSYSTEM                              |
|                                                                               |
|  [ Web-First Clients ] <---> [ AWS Cloud & Reticulum Engine ] <---> [ Assets ]|
|  (PC / Mobile / Quest)        (EC2 / S3 / Lambda / CloudFront)      (RPM / EFS)|
+-------------------------------------------------------------------------------+

Vấn đề thực tiễn và điểm nghẽn kỹ thuật (Problem Statement)

Các giải pháp không gian ảo truyền thống dùng trong giáo dục và triển lãm văn hóa bộc lộ những rào cản nghiêm trọng:

  • Phụ thuộc vào ảnh tĩnh 360 độ: Thiếu tương tác thời gian thực (Real-time Interaction), không gian phẳng, không hỗ trợ cảm giác hiện diện xã hội (Social Presence).
  • Yêu cầu cài đặt phần mềm nặng: Các nền tảng như Unity/Unreal standalone bắt buộc người dùng tải bộ cài đặt hàng gigabyte, cấu hình phần cứng đồ họa chuyên biệt cao, gây cản trở người dùng đại trà trên thiết bị di động.
  • Thiếu công cụ tích hợp học tập chuyên sâu: Không có khả năng nhúng tương tác trực tiếp tài liệu học tập (PDF/Video), câu hỏi trắc nghiệm (Quiz engine), hoặc trình chiếu thời gian thực mà không phải chuyển đổi cửa sổ trình duyệt.
  • Hạ tầng đám mây phân mảnh: Việc xử lý đồng bộ hóa trạng thái nhiều người dùng (State Synchronization) và xử lý đa phương tiện thời gian thực thiếu khả năng tự động co giãn (Auto-scaling).

Mục tiêu dự án

  1. Thiết kế kiến trúc Metaverse Web-first trên nền tảng đám mây AWS: Loại bỏ hoàn toàn yêu cầu cài đặt, cho phép truy cập trực tiếp qua trình duyệt web trên PC, điện thoại thông minh (iOS/Android) và thiết bị VR (Meta Quest 2).
  2. Tối ưu hóa Engine không gian 3D tương tác: Phát triển hệ thống không gian ảo tương thích chuẩn WebXR/A-Frame dựa trên nhân Mozilla Hubs và trình biên tập Spoke.
  3. Tích hợp hệ thống định danh Avatar 3D đa nền tảng: Kết nối dịch vụ Ready Player Me SDK nhằm tạo và tùy biến hình đại diện 3D cá nhân hóa.
  4. Xây dựng module quản lý và nhúng tài nguyên học tập đa phương tiện: Cho phép kéo thả trực tiếp tài liệu học thuật, slide thuyết trình và bài kiểm tra trắc nghiệm tương tác vào không gian 3D.
  5. Triển khai ứng dụng thực tế vào bảo tồn văn hóa: Thử nghiệm số hóa và phục dựng không gian di sản kiến trúc thực tế (Nhà thờ Công giáo và Bệnh viện JeungPyeong).

Giải pháp kỹ thuật và cơ sở lựa chọn

Dự án đề xuất giải pháp hệ thống mang tên Larchiveum (kết hợp giữa Library - Archive - Museum - Metaverse). Hệ thống lựa chọn kiến trúc lai (Hybrid Cloud Architecture) kết hợp giữa WebVR/WebXR (A-Frame, Three.js), WebRTC cho âm thanh không gian (Spatial Audio) và video streaming, cùng hệ thống quản trị RESTful API trên nền Node.js/Express và cơ sở dữ liệu MySQL.

Kết quả kỳ vọng với các chỉ số đo lường (Measurable Metrics)

  • Độ trễ tương tác (Network Latency): Dưới 100ms đối với đồng bộ hóa chuyển động và âm thanh không gian.
  • Hiệu năng dựng hình (Rendering Performance): Đạt tốc độ khung hình ổn định từ 45–60 FPS trên trình duyệt di động và kính VR độc lập (Meta Quest 2).
  • Thời gian tải trang khởi tạo: Dưới 3.5 giây thông qua tối ưu hóa CDN AWS CloudFront và nén định dạng 3D glTF/DRACO.
  • Khả năng phục vụ đồng thời: Đáp ứng từ 30–50 người dùng tương tác âm thanh/video đồng thời trong một phòng ảo đơn lẻ trên cấu hình AWS EC2 t3.large.

Phạm vi và giới hạn

  • Phạm vi: Tập trung vào các kịch bản giáo dục trực tuyến, phòng trưng bày bảo tàng ảo, và hội thảo văn hóa.
  • Giới hạn: Chưa hỗ trợ tính toán va chạm vật lý phức tạp của các vật thể tự do khối lượng lớn; giới hạn băng thông WebRTC cho luồng video camera độ phân giải 4K trên thiết bị di động tầm thấp.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí kỹ thuật AltspaceVR (Microsoft) Horizon Workrooms (Meta) Matterport 360 Tour Larchiveum (Giải pháp đề xuất)
Yêu cầu cài đặt Bắt buộc client app Bắt buộc Meta App / Quest Chạy Web Hoàn toàn trên Web (No-install)
Hỗ trợ Cross-Platform Windows, SteamVR, Quest Meta Quest, Web (hạn chế) Web Browser PC, Mobile (iOS/Android), VR
Tương tác 3D Real-time Cao Cao Kém (Ảnh tĩnh 360) Cao (WebXR / A-Frame ECS)
Nhúng công cụ giáo dục Rất hạn chế Hạn chế (Screen share) Hotspot chú thích đơn giản Kéo thả Quiz, PDF, Video trực tiếp
Tùy biến Avatar Hệ thống đóng Meta Avatar Không hỗ trợ Ready Player Me Full-body 3D
Hạ tầng triển khai Server đóng của hãng Server đóng của Meta Cloud SaaS đóng gói Độc lập trên AWS Cloud tùy biến

Yêu cầu người dùng theo mô hình MoSCoW

  • Must-have (Bắt buộc phải có): Đăng nhập/xác thực người dùng; Tạo và đặt lịch phòng ảo (Room Reservation); Di chuyển, xoay góc nhìn và giao tiếp voice-chat không gian 3D; Kéo thả hiển thị 3D model (glTF/GLB), tài liệu PDF và video.
  • Should-have (Nên có): Tích hợp Ready Player Me Avatar; Làm bài trắc nghiệm (Interactive Quiz) trực tiếp trên canvas 3D; Bảng vẽ tương tác (3D Drawing Pen); Trang quản trị Admin/Manager kiểm soát tài nguyên.
  • Could-have (Có thể mở rộng): Phân tích thống kê thời gian lưu trú của người dùng trong phòng ảo; Chụp ảnh lưu niệm không gian ảo (Virtual Camera Snapshot).
  • Won't-have (Chưa thực hiện ở giai đoạn này): Tích hợp giao dịch thanh toán tài sản số qua Blockchain/NFT; Tương tác vật lý xúc giác nâng cao (Haptic feedback gloves).

Thiết kế hệ thống

                                  [ INTERNET CLIENTS ]
                       (Desktop Browser / Mobile Web / Meta Quest 2)
                                          |
                                    [ AWS Route 53 ]
                                          |
                                  [ AWS CloudFront ]
                                          |
                   +----------------------+----------------------+
                   |                                             |
             [ Static Assets ]                            [ Dynamic Traffic ]
             (S3 Public Bucket)                            (AWS EC2 Instance)
             - ReactJS Web App                            +--------------------+
             - Three.js / A-Frame Engine                  | Node.js / Express  |
             - glTF / 3D Models / Audio                   | RESTful API & WS   |
                   |                                      +--------------------+
             [ AWS Lambda ]                                        |
             (Image/Video Transcoder)                     +--------+--------+
                   |                                      |                 |
             [ AWS EFS Storage ]                     [ MySQL DB ]   [ Ready Player Me ]
             (User Persistent Files)                 (Relational)    (Avatar 3D API)

Chi tiết Tech-Stack kỹ thuật

  • Client Frontend: ReactJS (v18.2), Material-UI (MUI v5), Three.js (r147), A-Frame (v1.4.2).
  • Metaverse Engine: Mozilla Hubs Core Fork, Reticulum Backend (Phoenix/Elixir/Erlang OTP v25 cho WebRTC signaling & State sync).
  • Management Backend: Node.js (v18.x LTS), Express.js (v4.18.2).
  • Cơ sở dữ liệu: MySQL (v8.0) với hệ thống quan hệ thực thể quản lý người dùng, phòng học, bài quiz và tài liệu.
  • Dịch vụ Đám mây (AWS): AWS EC2 (t3.large), S3 (Standard & Pre-signed URLs), CloudFront, Route 53, AWS Lambda (Node.js runtime cho xử lý ảnh/video), AWS EFS.
  • Thư viện tích hợp: Ready Player Me SDK, WebRTC MediaSoup/Janus SFU.

Thiết kế Database Schema

Hệ thống sử dụng cơ sở dữ liệu quan hệ MySQL để quản lý phân quyền và dữ liệu phòng học:

-- Schema cấu trúc bảng quản lý phòng ảo và tài nguyên bài học
CREATE TABLE `users` (
  `id` VARCHAR(36) PRIMARY KEY,
  `email` VARCHAR(255) NOT NULL UNIQUE,
  `password_hash` VARCHAR(255) NOT NULL,
  `role` ENUM('ADMIN', 'MANAGER', 'USER') DEFAULT 'USER',
  `avatar_url` VARCHAR(512),
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `virtual_rooms` (
  `id` VARCHAR(36) PRIMARY KEY,
  `name` VARCHAR(150) NOT NULL,
  `scene_id` VARCHAR(36) NOT NULL,
  `owner_id` VARCHAR(36) NOT NULL,
  `max_occupancy` INT DEFAULT 30,
  `open_time` DATETIME,
  `close_time` DATETIME,
  `allow_chat` BOOLEAN DEFAULT TRUE,
  `allow_draw` BOOLEAN DEFAULT TRUE,
  `allow_screen_share` BOOLEAN DEFAULT TRUE,
  FOREIGN KEY (`owner_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `quizzes` (
  `id` VARCHAR(36) PRIMARY KEY,
  `room_id` VARCHAR(36) NOT NULL,
  `title` VARCHAR(255) NOT NULL,
  `questions_json` JSON NOT NULL,
  `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  FOREIGN KEY (`room_id`) REFERENCES `virtual_rooms`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Thiết kế RESTful API Endpoints

Method Endpoint Mô tả chức năng Quyền truy cập
POST /api/v1/auth/login Xác thực người dùng, trả về JWT token Public
GET /api/v1/rooms Lấy danh sách phòng ảo khả dụng Authenticated
POST /api/v1/rooms/reserve Tạo phiên đặt phòng và cấu hình quyền phòng ảo Manager, Admin
PUT /api/v1/rooms/:id/scene Cập nhật scene môi trường 3D cho phòng Manager, Admin
POST /api/v1/assets/upload Nhận link Pre-signed S3 để tải lên 3D model/PDF Manager, Admin
GET /api/v1/quizzes/:roomId Tải danh sách bài trắc nghiệm gắn với phòng Authenticated
POST /api/v1/quizzes/submit Ghi nhận kết quả trả lời trắc nghiệm của học viên User

Phương pháp phát triển (Methodology)

Dự án áp dụng mô hình phát triển phần mềm Agile/Scrum với chu kỳ 17 tuần:

[Tuần 1]      -> Khởi tạo dự án, phân tích yêu cầu (SRS).
[Tuần 2 - 4]  -> Nghiên cứu lõi Mozilla Hubs, Reticulum, Spoke Editor.
[Tuần 5 - 7]  -> Thiết kế kiến trúc, xây dựng Web UI (ReactJS) và RESTful API.
[Tuần 8]      -> Tích hợp dịch vụ bên thứ ba (Ready Player Me SDK).
[Tuần 9 - 11] -> Thiết kế trải nghiệm người dùng (UCD) và tối ưu hóa không gian 3D.
[Tuần 12 - 15]-> Phát triển tương tác Core Metaverse (Room scheduling, Voice, 3D Canvas).
[Tuần 16]     -> Phát triển module tương tác bài học, PDF Viewer, Quiz Engine.
[Tuần 17]     -> Triển khai hệ thống trên AWS Cloud, nghiệm thu và đánh giá UAT.

Đánh giá rủi ro và giải pháp xử lý

Rủi ro kỹ thuật Mức độ Kế hoạch dự phòng và kiểm soát
Trình duyệt di động bị tràn bộ nhớ (Out-Of-Memory) khi load 3D scene nặng Cao Áp dụng DRACO compression cho tệp GLB; giới hạn texture tối đa 2048x2048; sử dụng cơ chế LOD (Level of Detail).
Nghẽn mạng khi truyền tải luồng Voice Chat đa hướng Trung bình Tích hợp SFU (Selective Forwarding Unit) qua Reticulum để tối ưu hóa phân phối luồng âm thanh thay vì Mesh P2P.
Độ trễ khi upload tài nguyên đa phương tiện dung lượng lớn Thấp Cấp quyền Direct-to-S3 Upload thông qua AWS Pre-signed URL, giảm tải cho API Server.

Implementation và kết quả

Quá trình phát triển và Code Snippets

Hệ thống xây dựng thành phần mở rộng tương tác tùy biến trong không gian WebXR thông qua hệ thống Entity-Component-System (ECS) của A-Frame.

1. Module nhúng bài trắc nghiệm tương tác vào không gian 3D (interactive-quiz.js)

Đoạn mã đăng ký A-Frame Component xử lý sự kiện hiển thị bài trắc nghiệm dạng bảng phẳng 3D và bắt sự kiện raycasting từ con trỏ hoặc controller VR:

/**
 * A-Frame Component: Interactive 3D Quiz Panel
 * Cho phép render giao diện câu hỏi và xử lý raycast click thời gian thực
 */
AFRAME.registerComponent('interactive-quiz-panel', {
  schema: {
    quizId: { type: 'string', default: '' },
    apiUrl: { type: 'string', default: 'https://api.larchiveum.cloud/api/v1/quizzes/' }
  },

  init: function () {
    const el = this.el;
    const data = this.data;
    this.currentQuestionIndex = 0;
    this.quizData = null;

    // Khởi tạo plane 3D làm bảng hiển thị
    this.canvas = document.createElement('canvas');
    this.canvas.width = 1024;
    this.canvas.height = 512;
    this.ctx = this.canvas.getContext('2d');
    
    this.texture = new THREE.CanvasTexture(this.canvas);
    el.setAttribute('material', { src: this.texture, transparent: true });

    // Fetch dữ liệu câu hỏi từ RESTful API
    fetch(`${data.apiUrl}${data.quizId}`)
      .then(res => res.json())
      .then(json => {
        this.quizData = json.data;
        this.renderQuizUI();
      })
      .catch(err => console.error('Lỗi khi tải dữ liệu Quiz:', err));

    // Lắng nghe sự kiện click từ VR controller hoặc chuột trình duyệt
    el.addEventListener('click', this.handleInteract.bind(this));
  },

  renderQuizUI: function () {
    if (!this.quizData) return;
    const q = this.quizData.questions[this.currentQuestionIndex];
    const ctx = this.ctx;

    // Vẽ giao diện câu hỏi lên Canvas
    ctx.fillStyle = '#1e293b';
    ctx.fillRect(0, 0, 1024, 512);
    ctx.fillStyle = '#38bdf8';
    ctx.font = 'bold 32px Arial';
    ctx.fillText(`Câu hỏi ${this.currentQuestionIndex + 1}: ${q.questionText}`, 40, 60);

    // Vẽ các lựa chọn đáp án
    q.options.forEach((opt, idx) => {
      ctx.fillStyle = '#334155';
      ctx.fillRect(40, 100 + idx * 80, 944, 60);
      ctx.fillStyle = '#ffffff';
      ctx.font = '24px Arial';
      ctx.fillText(`${String.fromCharCode(65 + idx)}. ${opt}`, 60, 140 + idx * 80);
    });

    this.texture.needsUpdate = true;
  },

  handleInteract: function (evt) {
    // Tính toán tọa độ UV Click để xác định đáp án được chọn
    const uv = evt.detail.intersection ? evt.detail.intersection.uv : null;
    if (!uv) return;

    const clickedY = (1 - uv.y) * 512;
    if (clickedY >= 100 && clickedY <= 420) {
      const selectedIndex = Math.floor((clickedY - 100) / 80);
      this.submitAnswer(selectedIndex);
    }
  },

  submitAnswer: function (answerIndex) {
    console.log(`Người dùng chọn phương án: ${answerIndex}`);
    // Chuyển câu hỏi kế tiếp hoặc gửi kết quả
    if (this.currentQuestionIndex < this.quizData.questions.length - 1) {
      this.currentQuestionIndex++;
      this.renderQuizUI();
    }
  }
});

2. Backend Controller: Xử lý đặt phòng và phân phối không gian ảo (roomController.js)

const db = require('../config/database');
const { v4: uuidv4 } = require('uuid');

exports.reserveVirtualRoom = async (req, res) => {
  try {
    const { name, sceneId, openTime, closeTime, maxOccupancy } = req.body;
    const userId = req.user.id; // Trích xuất từ JWT Payload

    // Kiểm tra tính hợp lệ của thời gian
    if (new Date(openTime) >= new Date(closeTime)) {
      return res.status(400).json({ error: 'Thời gian mở phòng phải trước thời gian đóng phòng' });
    }

    const roomId = uuidv4();
    const query = `
      INSERT INTO virtual_rooms (id, name, scene_id, owner_id, max_occupancy, open_time, close_time)
      VALUES (?, ?, ?, ?, ?, ?, ?)
    `;

    await db.execute(query, [
      roomId, 
      name, 
      sceneId, 
      userId, 
      maxOccupancy || 30, 
      new Date(openTime), 
      new Date(closeTime)
    ]);

    return res.status(201).json({
      message: 'Đặt phòng ảo thành công',
      roomUrl: `https://larchiveum.cloud/room/${roomId}`,
      roomId: roomId
    });
  } catch (error) {
    console.error('Lỗi khi khởi tạo phòng:', error);
    return res.status(500).json({ error: 'Lỗi máy chủ nội bộ' });
  }
};

Kiểm thử và Đánh giá (Testing & Validation)

Hệ thống đã trải qua các bài kiểm thử nghiêm ngặt bao gồm kiểm thử tự động (Unit Test với Jest), kiểm thử tải (Load Testing với K6) và kiểm thử thực tế trên các dòng phần cứng khác nhau.

+-------------------------------------------------------------------------------+
|                        BENCHMARK HIỆU NĂNG HỆ THỐNG                           |
|                                                                               |
|  Device: PC Chrome / Edge      ---> [ 60 FPS ]  | Latency:  42ms              |
|  Device: Meta Quest 2 Standalone -> [ 58 FPS ]  | Latency:  55ms              |
|  Device: iPhone 14 (Safari)    ---> [ 60 FPS ]  | Latency:  48ms              |
|  Device: Mid-range Android     ---> [ 45 FPS ]  | Latency:  68ms              |
+-------------------------------------------------------------------------------+

Bảng kết quả đo lường hiệu năng kỹ thuật

Tham số đo kiểm Giá trị đo được Tiêu chuẩn đạt được Đánh giá
FPS trên PC (RTX 3060, Chrome) 60 FPS >= 60 FPS Xuất sắc
FPS trên Meta Quest 2 (WebXR) 58 FPS >= 50 FPS Mượt mà, không gây say VR
FPS trên Di động Android tầm trung 45 FPS >= 30 FPS Tốt
Độ trễ âm thanh không gian (RTT) 52 ms < 100 ms Phản hồi tức thì
Bộ nhớ RAM tiêu thụ (Browser Tab) 420 MB < 800 MB Không xảy ra hiện tượng crash
Code Coverage (Unit Testing) 84.5% > 80% Đạt tiêu chuẩn phần mềm

Kết quả đạt được

Hệ thống đã hoàn thành 100% các tính năng đề ra trong bản đặc tả kỹ thuật đồ án tốt nghiệp:

  1. Hoàn thiện Web UI Quản trị và Không gian 3D tương tác: Người dùng có thể đăng nhập, đặt lịch phòng, quản lý tài nguyên, chọn avatar cá nhân thông qua Ready Player Me.
  2. Kéo thả tài nguyên trong phòng ảo: Người dùng kéo thả trực tiếp tệp hình ảnh, tài liệu PDF và mô hình 3D (GLB) vào không gian phòng với cơ sở đồng bộ vị trí tức thì giữa tất cả các thành viên tham gia.
  3. Triển khai thành công Case Study di sản văn hóa: Phục dựng hoàn chỉnh mô hình không gian Nhà thờ Công giáo và Bệnh viện JeungPyeong với đầy đủ âm thanh thuyết minh, bảng tư liệu lịch sử và bài tập trắc nghiệm văn hóa tương tác.

Đổi mới và đóng góp

Các điểm đột phá kỹ thuật

  1. Loại bỏ rào cản cài đặt với Web-First Architecture: Khác với các giải pháp đòi hỏi cài đặt ứng dụng nặng nề như Unity Client hay SteamVR, Larchiveum cho phép người dùng tham gia không gian siêu vũ trụ thông qua một đường dẫn URL duy nhất.
  2. Hệ thống nhúng sư phạm trực tiếp (In-Room Pedagogical Embedding): Không chỉ dừng lại ở giao tiếp giọng nói, giải pháp cho phép hiển thị các slide bài giảng và thực hiện bài test trắc nghiệm tương tác ngay trên bề mặt vật thể 3D mà không làm gián đoạn trải nghiệm nhập vai.
  3. Cấu trúc tối ưu hóa tài nguyên đa tầng trên AWS: Kết hợp giữa CloudFront CDN, AWS S3 và Lambda Transcoder giúp nén và giảm kích thước tệp 3D trung bình tới 45%, giúp hệ thống tải nhanh ngay cả trên hạ tầng mạng 4G/5G di động.
+-------------------------------------------------------------------------------+
|                       SO SÁNH CÁC NỀN TẢNG METAVERSE                          |
|                                                                               |
|  Tính năng          AltspaceVR       Horizon Workrooms     Larchiveum         |
|  --------------------------------------------------------------------------   |
|  Platform Type      Desktop Native   VR Native / Closed    Open WebXR         |
|  Tốc độ Onboarding  Chậm (Cài app)   Chậm (Cấu hình cứng)  Tức thì (Web URL)  |
|  Tích hợp Học tập   Kém              Trung bình            Chuyên sâu         |
|  Độ linh hoạt đám mây Đóng           Đóng                  Tùy biến AWS       |
+-------------------------------------------------------------------------------+

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế

  • Bảo tồn và số hóa di sản (Virtual Heritage & Tourism): Khôi phục các di tích lịch sử bị mai một hoặc các khu vực địa lý xa xôi. Khách tham quan toàn cầu có thể tham gia tour có hướng dẫn viên ảo, tương tác với hiện vật số 3D.
  • Lớp học và giảng đường ảo (Virtual Campus & Training): Giảng viên tạo phòng học định kỳ, trình chiếu slide bài giảng, chia sẻ màn hình máy tính và cho học sinh làm bài tập kiểm tra kiến trúc ngay trong không gian thực nghiệm.
  • Triển lãm nghệ thuật số (Digital Art Gallery): Các nghệ sĩ tự do có thể tạo triển lãm tranh 3D cá nhân hóa thông qua Spoke và chia sẻ đường link triển lãm cho công chúng.
                   [ HƯỚNG DẪN TRIỂN KHAI HỆ THỐNG TRÊN AWS ]
 
   1. Build Docker Images (Client / Reticulum Core / Node.js API)
   2. Cấu hình S3 Bucket & CloudFront Distribution cho static build
   3. Khởi tạo AWS EC2 (Ubuntu 22.04 LTS, t3.large) -> Run Container Stack
   4. Cấu hình DNS Route 53 và SSL/TLS Certificate qua AWS Certificate Manager
   5. Cài đặt biến môi trường API keys (Ready Player Me App ID, S3 Secret Keys)

Ước tính chi phí vận hành hạ tầng đám mây

+-------------------------------------------------------------------------------+
|                         DỰ TOÁN CHI PHÍ HẠ TẦNG AWS                           |
|                                                                               |
|  - AWS EC2 t3.large (1 Instance - 2 vCPU, 8GB RAM):     ~$60.00 / tháng       |
|  - AWS S3 Storage (50GB Assets + Data Transfer):        ~$10.00 / tháng       |
|  - AWS CloudFront (100GB Outbound CDN):                  ~$8.50 / tháng       |
|  - AWS Route 53 & Miscellaneous:                         ~$2.50 / tháng       |
|  --------------------------------------------------------------------------   |
|  TỔNG CHI PHÍ VẬN HÀNH DỰ KIẾN:                         ~$81.00 / tháng       |
|  (Phục vụ ổn định ~2,000 lượt tương tác người dùng học tập/triển lãm mỗi tháng)|
+-------------------------------------------------------------------------------+

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Đồ họa WebGL trên trình duyệt: Chưa đạt tới độ chân thực (Photorealistic) như các engine đồ họa hạng nặng Unreal Engine 5 chạy trên máy trạm chuyên dụng.
  • Băng thông mạng di động: Khi phòng ảo có đồng thời trên 50 người dùng bật video camera, tải dữ liệu WebRTC có thể gây giảm nhẹ tốc độ khung hình trên các dòng điện thoại thông minh cấu hình cũ.

Hướng nâng cấp trong tương lai

  1. Tích hợp Trợ lý ảo AI và NPC thông minh: Nhúng các mô hình ngôn ngữ lớn (LLM) để xây dựng các nhân vật ảo (Non-Player Characters - NPC) đóng vai trò hướng dẫn viên du lịch hoặc trợ giảng tương tác bằng giọng nói tự nhiên đa ngôn ngữ.
  2. Nâng cấp lên chuẩn WebGPU: Tận dụng tối đa năng lực xử lý tính toán của chip đồ họa trực tiếp trên trình duyệt, mang lại hiệu ứng ánh sáng động và vật lý chân thực hơn.
  3. Mở rộng tương tác không gian đa giác quan: Hỗ trợ Hand-tracking nâng cao và phản hồi xúc giác cho kính Vision Pro và Meta Quest 3.

Đối tượng hưởng lợi

  • Sinh viên & Học viên: Tiếp cận không gian học tập trực quan sinh động, vượt qua rào cản địa lý, tăng khả năng tiếp thu kiến thức văn hóa và khoa học thông qua tương tác thực nghiệm trực tiếp.
  • Kỹ sư & Lập trình viên (Developers): Nhận được tài liệu tham khảo hoàn chỉnh, kiến trúc mẫu về cách kết hợp A-Frame, WebXR, WebRTC và dịch vụ đám mây AWS để xây dựng các giải pháp Metaverse chạy trên Web.
  • Tổ chức giáo dục & Doanh nghiệp: Sở hữu giải pháp tổ chức hội nghị và lớp học ảo chi phí thấp, triển khai nhanh chóng mà không phải đầu tư dàn máy tính đắt tiền cho học viên.
  • Nhà nghiên cứu văn hóa & Bảo tàng: Công cụ số hóa di sản hiệu quả, mở rộng tầm vóc tiếp cận của các di tích lịch sử đến thế hệ trẻ trên toàn thế giới.

Câu hỏi thường gặp (FAQ)

1. Yêu cầu phần cứng và thiết bị tối thiểu để trải nghiệm hệ thống Larchiveum là gì?

Hệ thống hoàn toàn không yêu cầu máy tính chuyên dụng hay kính VR đắt tiền. Người dùng chỉ cần máy tính để bàn, laptop hoặc điện thoại thông minh chạy hệ điều hành Windows, macOS, Android, hoặc iOS có kết nối Internet và sử dụng các trình duyệt hiện đại như Google Chrome, Microsoft Edge, Mozilla Firefox hoặc Safari. Nếu có kính thực tế ảo độc lập như Meta Quest 2, trải nghiệm sẽ đạt mức độ đắm chìm cao nhất qua trình duyệt Oculus Browser.

2. Giới hạn số lượng người tham gia trong một phòng ảo là bao nhiêu và giải pháp mở rộng ra sao?

Trên cấu hình máy chủ AWS EC2 t3.large đơn lẻ, mỗi phòng ảo được tối ưu hóa cho 30–50 người dùng tương tác âm thanh, hình ảnh và di chuyển cùng lúc với độ ổn định cao. Đối với các sự kiện lớn quy mô hàng trăm người, hệ thống áp dụng kỹ thuật Room Replication (Nhân bản phòng theo cụm) kết hợp với bộ cân bằng tải (AWS Application Load Balancer) để phân phối tải đồng đều.

3. Việc tích hợp Avatar Ready Player Me có phức tạp không và dữ liệu được lưu trữ ở đâu?

Hệ thống tích hợp Ready Player Me thông qua SDK iframe chuẩn hóa. Khi người dùng hoàn thành việc tạo và tùy biến hình đại diện, hệ thống nhận về đường dẫn liên kết tệp mô hình .glb. Đường dẫn này được lưu trữ trong bảng users trên MySQL, đồng thời tệp 3D được cache trên AWS CloudFront để tối ưu hóa tốc độ tải trong các lần đăng nhập tiếp theo.

4. Hệ thống có bảo mật thông tin người dùng và tài liệu học tập tải lên không?

Hệ thống áp dụng kiến trúc bảo mật đa tầng: Xác thực thông qua JWT (JSON Web Token), toàn bộ đường truyền được mã hóa qua giao thức HTTPS/TLS 1.3 và WebRTC DTLS/SRTP. Các tài liệu bài giảng và mô hình 3D tải lên AWS S3 được quản lý quyền truy cập thông qua Pre-signed URLs có thời hạn, ngăn chặn việc truy cập trái phép từ bên ngoài.

5. Chi phí triển khai hệ thống có đắt không và thời gian hoàn vốn (ROI) ra sao?

Nhờ tận dụng các mã nguồn mở WebXR và mô hình điện toán đám mây trả phí theo dung lượng sử dụng (Pay-as-you-go) trên AWS, chi phí duy trì hệ thống cơ bản chỉ dao động từ $70–$90/tháng. Đối với các trường đại học hoặc viện bảo tàng, giải pháp giúp tiết kiệm tới 80% chi phí xây dựng ứng dụng so với việc thuê gia công ứng dụng 3D Native truyền thống, mang lại điểm hòa vốn và giá trị ứng dụng thực tiễn ngay trong năm đầu tiên triển khai.


Kết luận

Đồ án tốt nghiệp "Thiết Kế và Triển Khai Hệ Thống Metaverse Dựa Trên Đám Mây" (Larchiveum) của tác giả Trương Văn Sỹ (Trường Đại học Công nghệ Thông tin - ĐHQG-HCM, dưới sự hướng dẫn của TS. Nguyễn Thanh Bình) đã chứng minh tính khả thi và hiệu quả vượt trội của việc ứng dụng công nghệ Web-Metaverse vào giáo dục và bảo tồn văn hóa.

Bằng việc kết hợp thành công lõi mã nguồn mở WebXR, A-Frame, Three.js, dịch vụ Ready Player Me và hạ tầng đám mây co giãn AWS, đề tài đã giải quyết triệt để các rào cản về cài đặt phần mềm, chi phí thiết bị và độ trễ tương tác. Larchiveum không chỉ là một sản phẩm kỹ thuật hoàn chỉnh mà còn mở ra hướng đi mới đầy triển vọng trong việc dân chủ hóa trải nghiệm thực tế ảo, đưa tri thức và các giá trị di sản văn hóa đến gần hơn với cộng đồng người dùng toàn cầu.