- Tích hợp với pipeline kết xuất của THREE.js để hiển thị đồng thời các đối tượng dựa trên splat và mesh
- Tính di động cao, hoạt động trên gần như mọi thiết bị (hỗ trợ WebGL2 trên hơn 98%)
- Cung cấp hiệu năng kết xuất nhanh ngay cả trên thiết bị di động cấu hình thấp
- Kết xuất đồng thời nhiều đối tượng splat và xử lý sắp xếp chính xác
- Hỗ trợ hầu hết các định dạng tệp splat phổ biến như .PLY (bao gồm nén), .SPZ, .SPLAT, .KSPLAT
- Hỗ trợ kết xuất đồng thời từ nhiều góc nhìn
- Chỉnh sửa động: có thể biến đổi và áp dụng hoạt ảnh riêng cho từng đối tượng splat
- Hỗ trợ chỉnh sửa màu theo thời gian thực, dịch chuyển và hoạt ảnh skeleton
- Với hệ thống shader graph, có thể tạo/chỉnh sửa splat động trên GPU
1 bình luận
Ý kiến trên Hacker News
Bản demo này thật sự rất ấn tượng, thậm chí còn chạy tốt trên chiếc iPhone đời cũ của tôi
Nếu góp ý 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 chuyên sâu về lập trình 3D, tôi nghĩ sẽ tốt hơn nếu ở đâu đó trên GitHub hoặc website có thêm một dòng giải thích “Gaussian Splatting” là gì
Tôi thấy hứng thú và cảm nhận rõ tiềm năng hơn chỉ sau một câu giải thích lấy từ Wikipedia
Gaussian Splatting là một kỹ thuật dựng hình thể tích, trực tiếp render dữ liệu thể tích mà không cần chuyển nó thành các surface hay line primitive
Việc có thể tạo ra mây, lửa, khói... hiệu năng cao là điều cực kỳ tuyệt vời
Tôi nhất định phải bổ sung FAQ
Bản demo quét đồ ăn (ví dụ “Interactivity”) thật đáng kinh ngạc
Đặc biệt là việc nhìn vào bên trong lỗ của ổ bánh trong Mel's Steak Sandwich rất ấn tượng
Ngay cả trên laptop của tôi chỉ có đồ họa tích hợp, hiệu năng vẫn rất tốt so với mức độ chi tiết hiển thị
Tôi tò mò công nghệ này hiện chủ yếu đang được dùng ở đâu
Có một cộng đồng chuyên quét các vật thể nhỏ bằng thiết bị cầm tay hoặc drone
Tipatat đã cung cấp các bản quét đồ ăn cho demo lần này
Tôi cũng rất thích các bản quét hoa của kotohibi
https://superspl.at/user?id=kotohibi
Mức dung lượng truyền dữ liệu cũng không quá lớn so với độ chi tiết này
Chỉ khoảng 80MB nên thật sự rất đáng kinh ngạc
Thật sự rất hay
BabylonJS cũng hỗ trợ Gaussian Splat rất tốt
https://doc.babylonjs.com/features/featuresDeepDive/mesh/gaussianSplatting
Aframe là dự án mới hơn và tập trung nhiều hơn vào game và VR
Tôi muốn biết, từ góc nhìn của người đã dùng cả Babylon, Aframe, Three.js và PlayCanvas, thì nên so sánh chúng như thế nào
PlayCanvas mang tính thương mại, nhưng có vẻ trưởng thành nhất, giàu tính năng nhất và hiệu năng cũng tốt nhất
Babylon là engine 3D thiên về tính năng, còn Three.js chỉ cung cấp những thứ cơ bản
Dù hỗ trợ animation và texture khá tốt, cuối cùng bạn vẫn phải tự xây toolkit của mình
Tôi tò mò về những trải nghiệm tốt hoặc chưa tốt với các engine này
Demo của OP thật sự rất chắc chắn
Tôi muốn biết lợi thế và định vị của Aframe là gì
Tương lai của Gaussian Splatting sẽ phát triển ra sao, liệu không chỉ dừng ở trực quan hóa/digital twin mà còn sớm có thể chỉnh sửa, animation trong lĩnh vực sáng tạo hay game hay không
Aframe GitHub
PlayCanvas
Làm rất đẹp
Nhưng với laptop của tôi dùng Nvidia RTX A3000 GPU và Firefox, hiệu năng rất kém
Với ngần ấy shader core thì máy có thể nóng ran đến mức bỏng tay
Tôi tò mò liệu có thể cầm điện thoại chạy quanh để capture các Gaussian Splats như cỏ, bụi cây, đất... hay không
Chọn một mảng đất hình vuông 1 mét, hoặc một không gian hình lập phương 1 mét có cả bụi cây
Rồi lặp lại các khối cỏ, trộn thêm bụi cây hoặc đất vào giữa để tạo ra một thế giới kiểu "giống Minecraft"
Có lẽ để render hàng nghìn khối như vậy thì cần phần cứng khá mạnh
Nếu thấy tận mắt thì hẳn sẽ rất tuyệt
Thật sự rất hay
Tôi tò mò không biết có góc nhìn nào về các nút thắt hiệu năng hiện tại không
Đặc biệt là các nút thắt trong cảnh động
Ví dụ mô phỏng hạt thì bị giật, nhưng khi xoay camera thì hiệu năng lại tăng lên rõ rệt
Điều đó có vẻ cho thấy phần nền tĩnh nặng hơn tôi tưởng, nhưng ngoài chuyện đó ra thì kim tự tháp Sierpinski dựng theo procedural thật sự rất ấn tượng
Có lẽ người hỏi đã xoay camera sang một hướng ít phức tạp hơn
Việc giữ hiệu năng ổn định vẫn còn là việc phải làm
Sắp tới tôi định áp dụng hệ thống LOD
Đây là link repo dễ thấy hơn một chút
https://github.com/sparkjsdev/spark
Tôi vẫn hoài nghi việc Gaussian Splatting có thể làm được nhiều hơn ngoài demo
Dung lượng file quá lớn
Ví dụ chiếc sandwich bít tết đã là 12MB
Năm ngoái ở SIGGRAPH tôi thấy một bản clone Matterport dùng Gaussian Splat, và cần stream 1.5GB chỉ để xem một căn hộ 2 phòng ngủ
Dù vậy đây vẫn là một demo rất hay
Kỹ thuật nén SOGS khá hiệu quả
Có thể lưu 1M Gaussian kèm đầy đủ Spherical Harmonics trong khoảng 14MB
Có một bài viết khá hay về chuyện này trên blog PlayCanvas
https://blog.playcanvas.com/playcanvas-adopts-sogs-for-20x-3dgs-compression
Để tham khảo thì chiếc sandwich bít tết 12MB là file lớn nhất
Các file còn lại đều dưới 10MB, một vài cái chỉ 1-3MB nên khá thuyết phục
(ví dụ: Iberico Sandwich 1MB, Clams and Caviar 1.8MB, v.v.)
Các phương pháp nén nâng cao như SOGS sẽ sớm xuất hiện
Ví dụ này là 30MB
https://vincentwoo.com/3d/sutro_tower/
Lý do chính khiến file lớn là vì phải lưu các hệ số Spherical Harmonics
Đây là vấn đề có thể giải quyết được
Tôi có cảm giác cái tên này đang bị dùng hơi quá đà
Đã có Apache Spark, SPARK (Ada), sparklines, SPARQL, v.v.
https://en.wikipedia.org/wiki/SPARC