3D Gaussian Splat Model
During my internship at ITRI, I worked on capturing multi-view images of physical objects to generate 3D Gaussian Splatting (3DGS) models. After taking photos from various angles, the images were processed into .ply files using our in-house pipeline. Unlike traditional point clouds, these models use anisotropic Gaussians with spherical harmonic shading, allowing them to reflect color and detail based on viewing direction.
Higher-order spherical harmonics result in more vivid, accurate models—but also require more storage. This technique excels at capturing surface details such as scratches, engravings, and textures, but has limitations when handling transparent, reflective, symmetric, or low-contrast objects due to challenges in feature detection.
Personally, I find 3DGS a meaningful way to digitally preserve sentimental items without taking up physical space. Below are two examples I reconstructed:
- Slinky Dog, which is my favorite Pixar character. I purchased at Tokyo Disneyland.
- Einstein doll, which my dad bought for me when he traveled to Europe, symbolizing our shared physics background.
3DGS Animation
🔗 More details available here (repository is private due to confidentiality agreement).
To explore real-to-sim animation, I created an animated demo of a fridge model reconstructed using 3DGS:
- A 3DGS fridge model (with open door) was provided by a teammate.
- Using SuperSplat as editor, I segmented the fridge door and adjusted both fridge body and door models’ pivot axis to the closest principle axis for animation.
⚠️ Note: Avoid large model rotations since spherical harmonics don’t rotate with the geometry. - I implemented the animation using Three.js, rotating the door to simulate an opening sequence.
Final Scene
To complete the simulation, I placed the fridge in a virtual room and added interactable elements such as a cake inside the fridge or on a table.
Demo
The demo website currently (Dec. 15 2025) operates based on the PlayCanvas engine.