Lusion
Published in

Lusion

From Concept Prototyping to Production in a Creative Studio

Screenshot from Surface Floater
  1. Mood Board and Visual References
  2. Concept Prototyping
  3. Production
Color Palette on Adobe Color CC
Models from ThreeDScans.com
A short clip created by Robert Hodgin
Prototyping withHoudini
Screenshot from https://surface-floater.lusion.co/

Technical Bits

Volume visualizer in Houdini
SDF information from the Surface Floater
Set the collusion pos to zero in the demo to see the results
int closePts[] = pcfind_radius(0, "P", "pscale", 0.2, v@P, @pscale + 0.02, 2);float restitution = 0.5;if (len(closePts) > 1) {
int closePt = closePts[1];
vector closePos = point(0, "P", closePt);
float closePScale = point(0, "pscale", closePt);
float closeMass = point(0, "mass", closePt);
vector closeVel = point(0, "v", closePt);

// https://stackoverflow.com/questions/345838/ball-to-ball-collision-detection-and-handling

// get the mtd
vector delta = @P - closePos;
float d = length(delta);
// minimum translation distance to push balls apart after intersecting
vector mtd = delta * (((@pscale + closePScale)-d)/d);
// resolve intersection --
// inverse mass quantities
float im1 = 1 / @mass;
float im2 = 1 / closeMass;
// push-pull them apart based off their mass
@P += mtd * (im1 / (im1 + im2));
closePos = closePos - (mtd * (im2 / (im1 + im2)));
setpointattrib (0, "P", closePt, closePos);
// impact speed
vector v = @v - closeVel;
float vn = dot(v, normalize(mtd));
// sphere intersecting but moving away from each other already
if (vn > 0.0f) return;
// collision impulse
float i = (-(1.0 + restitution) * vn) / (im1 + im2);
vector impulse = mtd * i;
// change in momentum
@v += impulse * im1 * 0.5;
setpointattrib (0, "v", closePt, closeVel - impulse * im2 * 0.5);

}
Figure 29–8 from GPU Gem3

Tips

About us

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Lusion Ltd

Lusion Ltd

Lusion is a creative studio specialized in creating immersive design, VR/AR, digital campaigns and installations.