Archived post by mattiasmalmer

I’m trying to wrap my head around the linear solver node. Since there is very little out there on its functionality I thought I might share this very simple initial setup i cobbled together that just does an “attribute fill”.
it was painful to get this working. wish i had @jake rizzler 😮 brains.

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20253709/12/25/attribute_fill_using_linear_solver.hiplc
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20253709/12/25/image.png

Archived post by lewis.taylor.

I don’t like how the guide process core and hairgen core are C++

great nodes, but the decision to make them C++ operators locks you out of some of the building blocks

there’s also a nasty bug in a couple of those hardcoded nodes

“`Hello, I have found that using hairgen SOP to generate guides will result in making: skinprimuv 3flt, but is using guidegroom(in for example draw, or plant, or any mode that creates guides) it will make: skinprimuv 2flt16 This comes down to the guidegroomcore and hairgencore spitting out the different bit depth/types. That will cause groomblend to break, as it reports it “cannot find skinprimuv” , the error coming from the guidemaskcore node, another C++ hardcoded base node.“`

love the toolset, but not sure the speed increase reason was good enough to make these into compiled nodes

@astv this you? 1minutevex.com/books/OneMinuteVex.html

lovely stuff

Archived post by sniperjake945

I will say for tree sims that i’ve found a lot of the suggestions from this paper from this year’s siggraph to be really helpful: storage.googleapis.com/pirk.io/projects/stressful/index.html
Here’s the method that seems to work for me! The input is a connected set of tree edges, with pscales, and branch_ids: Generate a bunch of fake tree strands (i use find shortest path from every point in the tree, back to the root). Generate an orientation frame along the findshortest path curves (orient along curve). Randomly rotate the resulting normals strand wise (so every normal in a strand is rotated the same amount). Then I offset the resulting curves along the normal multiplied by pscale and a random value from 0-1 per strand Then you randomly resample them and subdivide ( i wrote my own stupid little subdivide node, just to add exactly one point at the midpoint between any two points on a given strand). Then you make glue constraints between nearest subdivided points on the same branch (taking advantage of our branch_id attribute). And then lastly you can embed your original tree curves into this as well with glue constraints, so you an easily extract it post sim.
But this seems to do a good job of letting you really get stiff results with vellum, like a wire solver. And then you can inject forces at brinch tips (leaves) and ideally the forces will propagate.

i find that the random resampling and subdivision is like incredibly important to add structure to the wires. Because otherwise the distribution of glue constraints is too regular, and it causes the whole thing to buckle

Oh and in my case i would turn off self collisions because i didnt want to recompute pscales for the strands out of laziness. But you’ll need to compute non intersecting pscales if you want to keep self collision on

I’ll see if i have any time today to whip up an example

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20251808/08/25/image.png

Archived post by mattiasmalmer

two useful camera tools:
a frustum outline that you can add to your camera to easily see what your camera is up to.
a backplate card that follows the camera that you can use as phantom backplate for renders and such.

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20255606/24/25/image.png
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20255606/24/25/sop_mattias.cameracard.1.0.hdalc
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20255606/24/25/sop_render.frustum.1.0.hdalc