Skip to main content

Multi segement motion blur with particles



Was trying to find a clean solution to rendering particles with multi segment motion blur, found a way that is quite quick...


A bunch of points are created at 0,0,0. The number of points is equal to the largest ID at the end of the particle sim.

A VOP SOP loops through the particle sim and tries to find a particle with the same ID as the current point number. The position is copied onto the point, and a matchedPt attribute is created that stores the point number of the particle in the sim. This is so that the point() expression can be used later to copy attributes from the sim.

The point count is constant so deformation blur will work with this setup. The alpha is set to hide the points when the particle dies and before it is born, with 1 frame buffer at either end of the particles life so that you don't see it streaking back to 0,0,0. That could be set to a 1 frame / oversamples buffer, I just haven't tried that yet...

Oversampling of the popnet is 30 and geo time samples is 5 for the render. I wish popnets would interpolate between oversamples .... cache node might do it but I don't think so...

hipnc is here - created with build 10.0.346

Comments

Popular posts from this blog

Cloth tear geometry and shading detail

Been adding geo detail to the torn cloth and shading the additional geo. Shading sure is fun! :) Thickness added to the cloth geo Extrude sides are extruded out again  The second extrusion is done twice, once for the U direction, and once for the V direction. Polyframe is used to get the UV gradient to extrude along, vopsops are used to move the extrudeFront points after extrusion as you can't control the extrusion per point with just a polyExtrude node... The extrusion is done twice so that the two different surfaces represent the opposing thread directions. since my geometry (and therefore tears) are in line with the U and V direction, the effect is not obvious in this case. The extra geo after shading The .hip file below has a slightly newer shader than in the video and the image above, I removed the part of the shader that created the soft ramp for the alpha edge and used just the thread noise instead; it now looks more like: Slightly newer shader than

Wire solver and wire deformer.

Just playing around with the wire solver and deforming wires onto wires... rendered as tube primitives, 2 area lights and an env light, took about an hour to render 2K :/ hipnc is here

Worm locomotion with FEM

I have always wanted to do a dynamic locomotion setup, I have tried in the past with wire and sop solver with .... interesting results ;) With FEM in Houdini 13, the rest attribute is stored on vertices which allows a tetra to change its rest state independently of the surrounding tetras. With this, parts can be expanded and shrunk to get a muscle type action. I have started with a worm since it is quite simple, the contractions and expansions move back along the worm in a wave, opposing the travel direction. It took quite a bit of tweaking to get him moving at all. One major element of a real worm's action that's missing is the little hairs that grip the ground. I couldn't find a way to change the friction per point so I have gone a bit hacky and multed down v wherever I didn't want the worm to move. I would love to hear if there is a per point friction control! Here is the video Houdini 13 FEM Worm locomotion from Sam Hancock on Vimeo . ...and the .hip is