Archived post by Lewis Orton

TLDR: Pop fluid node is based on PBD fluid which is partially based on XSPH with some fundamental difference, but it’s not part of the vellum solver, not yet. The Pop Fluid node contains a PBD fluid solver, which is based on the paper by Miles Macklin and Mattias Muller in 2013 from NVIDIA. The difference between traditional SPH and PBD fluid is, SPH uses a kernel to “smooth out” essential attributes around every particle, whose neighbors are within the smoothing radius, so it tends to get unstable when nearby density is inconsistent and requires lots of substeps to solve the problem, very costly. PBD fluid (which contains parts of the XSPH) tries to solve this problem by bringing the pressure solving stage(where the density problem happens) into the PBD framework, which uses constraints to solve problems (constraints avoids). Basically, a new type of constraint which is based on the positions of each particle, rather than a smoothing kernel, is introduced to help to get a more consistent density with iterations(by updating positions directly within each iteration, not accumulating pressure throughout all the substeps and then apply forces).

feel free to correct me if I am wrong

Archived post by legomyrstan

`hou.Node.type().name()` returns name of type of given node

best way to find all instances of given node it’s hou.NodeType instances

so eg to find all instances of mantra node: “`python hou.nodeType(hou.ropNodeTypeCategory(), ‘ifd’).instances() “`

other useful thing about searching nodes is that we have access to build in search framework(one that appears after ctr+f)

it’s in the packages called nodesearch at `$HFS/houdini/python2.7libs/nodesearch`

Archived post by lcrs

my fave for doing extract transform in SOPs is this, which gets the full 4@ including scale and possibly skew

instead of using the first 3 points of the first prim you can use first/middle/last points of the full mesh if you have worries about there being some non-affine local deformation

Archived post by Nick D

Here’s a script to flipbook stuff out, and then mp4 it: “`python import toolutils import os import subprocess
def flip(): scene_viewer = toolutils.sceneViewer() flipbook_options = scene_viewer.flipbookSettings().stash() flipbook_options.frameRange( (hou.playbar.frameRange()[0],hou.playbar.frameRange()[1]) ) output = hou.hscriptExpandString(‘$HIP/flipbook/$HIPNAME/$HIPNAME.f.png’).replace(‘.f.’,’.$F4.’) if not os.path.exists(os.path.split(output)[0]): os.makedirs(os.path.split(output)[0]) flipbook_options.output(output) scene_viewer.flipbook(scene_viewer.curViewport(), flipbook_options) ffImage = output.replace(‘$F4′,’%04d’) movPath = output.replace(‘$F4.png’,’mp4′) proc = subprocess.Popen(r’ffmpeg -y -start_number %s -i “%s” -c:v libx264 -preset slow -pix_fmt yuv420p -crf 22 -c:a copy %s’ %(hou.playbar.frameRange()[0],ffImage,movPath)) proc.communicate() proc.wait() print(‘Done’) “`

hmmm, that’s maybe a bit spammy, sorry