3 điểm bởi GN⁺ 2025-06-13 | 1 bình luận | Chia sẻ qua WhatsApp
  • Spark là một trình kết xuất nâng cao được tạo ra để render 3D Gaussian Splatting trong các cảnh Three.js
  • Do World Labs phát triển, và có thể đặt splat cùng với các mesh khác trong cảnh hiện có
  • Hướng tới kết xuất nhanh trên mọi thiết bị, tập trung vào việc xử lý nội dung splat trong nhiều môi trường khác nhau
  • Hỗ trợ các hiệu ứng splat động có thể lập trình, cho phép tạo hiệu ứng trong cảnh vượt xa việc hiển thị tĩnh
  • Hỗ trợ nhiều định dạng như ply, sogs, spz, splat, ksplat, và có thể bắt đầu ngay từ tài liệu chính thức

Trình kết xuất splat tích hợp vào cảnh Three.js

  • Spark là trình kết xuất 3D Gaussian Splatting cho Three.js
  • Được tạo bởi World Labs
  • Có thể tích hợp vào cảnh Three.js hiện có để sử dụng cùng với các mesh và splat khác

Tính năng kết xuất và các định dạng được hỗ trợ

  • Được giới thiệu là cung cấp kết xuất nhanh trên mọi thiết bị
  • Hỗ trợ các hiệu ứng splat động có thể lập trình
  • Các định dạng được hỗ trợ như sau
    • ply
    • sogs
    • spz
    • splat
    • ksplat
  • Tài liệu bắt đầu có tại Get started

1 bình luận

 
GN⁺ 2025-06-13
Các ý kiến trên Hacker News
  • Demo thật sự ấn tượng, chạy tốt cả trên iPhone đời cũ
    Từ góc nhìn của một nhà phát triển game nghiệp dư không có nhiều kiến thức lập trình 3D, sẽ rất tốt nếu ở đâu đó trên GitHub hoặc trang web có một dòng định nghĩa Gaussian splatting là gì
    Chỉ cần mức như Wikipedia: “Gaussian splatting là một kỹ thuật kết xuất thể tích, kết xuất trực tiếp dữ liệu thể tích mà không chuyển dữ liệu thành các primitive bề mặt hay đường” thôi cũng khiến dự án và các khả năng ứng dụng trở nên đáng kỳ vọng hơn nhiều
    Nếu có thể tạo ra mây, lửa, khói hiệu năng cao thì thật tuyệt

    • Nhất định nên thêm FAQ
  • Demo quét đồ ăn, đặc biệt là phần ví dụ “Interactivity”, rất ấn tượng
    Tôi đặc biệt thích cảnh nhìn vào bên trong lỗ trên bánh mì ở Mel's Steak Sandwich, và so với mức độ chi tiết nhìn thấy được thì hiệu năng trên cả laptop dùng đồ họa tích hợp cũng tốt đến bất ngờ
    Không rõ kỹ thuật này hiện được dùng phổ biến nhất ở đâu

    • Có một cộng đồng rất nhiệt huyết với việc dùng thiết bị cầm tay hoặc drone để quét các vật thể nhỏ
      Tipatat đã cung cấp khá nhiều bản quét đồ ăn cho demo, và tôi cũng thích các bản quét hoa của kotohibi: https://superspl.at/user?id=kotohibi
    • Với mức chi tiết đó thì dung lượng truyền tải cũng không tệ. Chỉ khoảng 80MB
      Không mỉa mai đâu, thật sự rất gọn gàng
  • Cái này cũng hay, và BabylonJS cũng hỗ trợ Gaussian splatting khá tốt: https://doc.babylonjs.com/features/featuresDeepDive/mesh/gau...

    • BabylonJS và Aframe [1] trong bài gốc có vẻ tương tự nhau về giấy phép, số sao và số fork trên GitHub, nhưng Aframe có vẻ mới hơn và tập trung hơn vào game/VR
      Tôi tò mò nếu so sánh Babylon, Aframe, Three.js, PlayCanvas [2] từ góc nhìn của người đã dùng qua thì sẽ thế nào
      Theo tôi hiểu, PlayCanvas là cái trưởng thành nhất, nhiều tính năng nhất và hiệu năng tốt, nhưng là thương mại; Babylon là một engine 3D giàu tính năng; còn Three.js thì khá gần với dạng thô. Nó có những thành phần tốt như animation, texture, v.v., nhưng cuối cùng vẫn giống như tự xây bộ công cụ của mình
      Không rõ có ai có trải nghiệm tốt hay xấu với các lựa chọn này không
      Demo thật sự rất ổn định. Tôi tò mò sức hấp dẫn cốt lõi của Aframe là gì
      Tôi cũng tò mò tương lai của Gaussian splatting sẽ diễn ra thế nào. Liệu nó có công dụng nào ngoài trực quan hóa hay “digital twin” công nghiệp không, liệu trong tương lai gần có thể chỉnh sửa hoặc tạo animation cho nó không, và khi nào nó sẽ hữu ích trong lĩnh vực sáng tạo và game
      [1] https://github.com/aframevr/aframe
      [2] https://playcanvas.com/
  • Để dễ thấy hơn, đây là link repository: https://github.com/sparkjsdev/spark

  • Rất tuyệt
    Tôi tò mò hiện nút thắt hiệu năng nằm ở đâu, đặc biệt là có insight gì về phía cảnh động không
    Ví dụ mô phỏng hạt bị giật, nhưng khi xoay camera thì cải thiện rõ rệt; có vẻ nền tĩnh nặng hơn nhiều so với vẻ ngoài
    Ngược lại, không tính nút thắt, kim tự tháp Sierpinski tạo theo thủ tục thì xuất sắc

    • Số lượng splat trong cảnh và phân bố của chúng ảnh hưởng đến hiệu năng
      Có lẽ bạn đã xoay camera về hướng có ít splat hơn
      Vẫn còn nhiều việc phải làm để có hiệu năng ổn định, và tiếp theo có lẽ sẽ xem xét hệ thống LOD
  • Tôi vẫn khá hoài nghi liệu Gaussian splatting đã có ý nghĩa vượt ra ngoài demo hay chưa
    File quá lớn. Ví dụ một chiếc steak sandwich đã 12MB
    Ở SIGGRAPH năm ngoái có một bản sao Matterport dựa trên Gaussian splatting, và để xem một căn hộ 2 phòng thì phải stream 1.5GB
    Bản thân demo thì rất hay

    • Cũng nên lưu ý rằng chiếc steak sandwich 12MB đó thuộc nhóm lớn nhất
      Các cái còn lại dưới 10MB, và nhiều cái khá thuyết phục nằm trong khoảng 1–3MB. Ví dụ Iberico Sandwich là 1MB, Clams and Caviar là 1.8MB
      Các phương thức nén cao cấp hơn cũng đang xuất hiện. Ví dụ có SOGS. Cái này là 30MB
      https://vincentwoo.com/3d/sutro_tower/
    • Nén SOGS hoạt động tốt
      Có thể chứa khoảng 1 triệu Gaussian, bao gồm toàn bộ hệ số spherical harmonics, trong khoảng 14MB
      Blog PlayCanvas có một bài viết hay: https://blog.playcanvas.com/playcanvas-adopts-sogs-for-20x-3...
    • Dung lượng file lớn chủ yếu là để lưu hệ số spherical harmonics, và đây là vấn đề có thể giải quyết
  • Công trình này rất hay, nhưng trên Firefox của laptop có GPU Nvidia RTX A3000 thì hiệu năng khá tệ
    Máy này có đủ shader core để gây bỏng độ 1 đấy

    • Điều đó xảy ra với demo hay ví dụ cụ thể nào à?
  • Liệu có thể cầm điện thoại đi quanh và capture Gaussian splat của những thứ như cỏ, bụi cây, đất không
    Rồi chọn một mảnh đất hình vuông 1 mét hoặc một vùng lập phương 1 mét có bụi cây, sau đó lặp các khối cỏ, thỉnh thoảng trộn đất và bụi cây vào để tạo một thế giới “trông như Minecraft” không
    Có lẽ sẽ cần phần cứng khá mạnh để render hàng nghìn khối

    • Prototype như vậy chắc hoàn toàn có thể làm được
      Nhìn thực tế chắc sẽ rất tuyệt
  • Trông thật sự rất ấn tượng
    Khi mở trang web trong trình duyệt, nó có chạy được trong VR không? Nếu có thì còn tuyệt hơn nữa

    • Có chạy trong VR. Sắp tới sẽ công bố demo