Back to main page    






gaussian splat particle

week 10&11 - Shots  completion 01









/// Goal ///






To finish the rest of the work in Houdini.



/// Shot 1 ~ 3 Completion ///






Using the scanned interior and exterior views of the room, I’ve set up the scenes for shots 1 through 3. 


After a series of crops, transformations, and merges, I ended up with the perfect wall and a merged interior. Fortunately, the transparency and reflectivity of the window weren't significantly affected. Although some of the particles making up the reflective portion were cropped, it isn't very noticeable. Then put the snow globe and tree into the scene.


Earlier, I created the snow globe and tree-growing effects. Since these two effects are actually continuous (see Shots 1–3 in the storyboard)—with particles floating out of the disintegrating snow globe and giving rise to the growing tree—it's necessary to link the particles from these two effects. I adjusted the shape of the particle stream slightly so that it looks more like it's winding its way up around the tree. Some particles fly directly onto the trees, and as the trees grow, this process makes it seem as though the particles are driving the trees' growth.


To make the scenes less monotonous, I added a few extra effects—a gradual transition from a monochromatic particle cloud to the final splat scene. Many splat sequences are done this way, though they typically rely on built-in effects from After Effects or NUKE plugins. Doing it in Houdini, however, gives me much greater control over every individual property.

A test flipbook. Although there are some mistakes, it is generally complete. One key issue that remains to be resolved is that objects do not cast shadows. Earlier this year, Octane announced its Gaussian Splat rendering solution, which allows for shadow casting on Gaussian Splat objects during rendering. Unfortunately, Houdini has not yet implemented the new version of the Octane renderer. Therefore, I have no choice but to use the method of converting GS objects to meshes to obtain shadow AOVs.


Luckily, Houdini 22 has already introduced XPU rendering for Gaussian Splat, so I no longer need to look for other plugins or renderers. The original glass effect here was poor, so I recreated a glass dome. To my surprise, this glass dome blends perfectly into the Gaussian Splat environment, and the reflections look very realistic.

splat
mesh





/// Shot 6 ~ 8   Preparation ///






Splat lawn photogrammetry

This shot requires a large expanse of grass. My original plan was to scan a small patch of grass and then use “Copy to Points” to replicate a large lawn, but it turned out that even a small patch of grass had a staggering 1,800,000 particles.  So I use these smaller lawn only for close-up shots. In addition, I built a small controller to create the rough texture along the edges of the lawn after it has been cropped.
By the way, placing markers along the edges of the lawn you want to scan can significantly increase the number of photos accepted by Postshot and improve the accuracy of GS generation.



However, too many points is still troublesome. For optimization purposes (my computer can't handle too many particles), I reduced the number of particles in the lawn. By using the “Random Selection” option in the Group menu and then deleting the selected points, I found that the lawn didn't lose much quality even after removing some of the points. Deleting 70% seemed like a good balance to me.


Even after reducing the number of particles, the number of particles required to replicate a small patch of grass dozens of times to create a large lawn is still too large. Houdini obviously can’t handle such a massive number of particles, so a better approach is to use LiDAR to scan the entire lawn. Although the results aren’t as good, at least the number of particles is manageable.








/// Shot 10   Completion ///






This sequence of shots demonstrates how a particle stream drives the dispersion of particles across the map. First, I used PopNet to create the particle stream. Since I wanted part of the particle stream to rise upward, I added a slight upward wind force in PopNet. In addition, I created some scattered particles to make the image more dynamic.


Then, use the same method I used for the table transition before to create the transform effect, but this time on a larger scale. I used masks based on the age of the particles to control the animation and range of influence of the dispersion wave across the city map. These masks control different attributes: scale, orient, position and color. The areas affected by the mask (red regions) will change from blue particles to their original GS appearance.

scale mask
orient mask
spread mask
Cd mask


The following is a test render. The results show that I accidentally deleted the particle stream ID, which caused an error with the particle trails. I will correct this in the final shot. Overall, it still looks pretty cool.







/// Next Plan ///






1. Finish shot 4~6






Entire contents copyright © 2020−2026, Burson Lin
All rights reserved




















  



                                                                                                                               
                                                                                                                                                                   
Go Top