Archived post by petersanitra

@Jonesy But you don`t need to create any VDBs.., you can use same geo(usd primitive), duplicate it and set as uniform volume for rendering(render geometry settings LOP), or use Karma fog(you can unlock it and to understand how it’s done, with custom mesh).

@drewzeefx @Jonesy Uniform volume setup with geo, that is not really uniform, because it does have proper shader with anisotropy and multiple bounces, that checkbox is a bit deceiving…

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20253209/02/25/image.png
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20253209/02/25/not_so_uniform_volume.hip

Archived post by ogvfx

If the point counts are consistent with Id’s all you need to do is calculate the distance between the shapes to get the length and direction.
sops wrangle: vector targetPos = point(1,”P”,@ptnum); vector restPos = point(0,”P”,@ptnum);
v@splashP = (targetPos – restPos) * ch(“splashPMult”); v@splashV = (targetPos -restPos ) * ch(“splashVMult”);
You can create something like a splashP and splashV attribute to control in flip, pops, etc.
I did something like that on the first badguys and some other shows. zerply.com/r/29FebF6u/badguys-fx
I animated sdf’s and controlled the ocean sim to match the shapes and timing.
You’ll want to calculate a birthFrame in sops, then you can animate the force procedurally.
wrangle in dops: float tf = f@birthFrame ; float offset = f@s;
float tfOffset = tf + ch(“offset_mult”);
float timer = fit(@Frame,tf,tfOffset,1,0);
v@P += (v@splashP * timer)*ch(“amount_mult”);
v@v += (v@splashV * timer)*ch(“amount_mult”);
I did something a bit more technical on elemental using jakes optimal transport but the same idea.

Archived post by toadstorm

speaking of windows bullshit, someone just brought a powershell script to my attention that removes copilot from everything

open windows powershell ISE in admin mode, then:

“` & ([scriptblock]::Create((irm “https://raw.githubusercontent.com/zoicware/RemoveWindowsAI/main/RemoveWindowsAi.ps1”))) “`

Archived post by coskuturhan

For various reasons I always end up needing a tree mask in COPS, so I wrote a wrange to generate them.

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20254708/25/25/67D266A0-E79B-4147-B3C5-E5FC57F33AB4.png
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20254708/25/25/C3F7C077-1061-4D7D-A9CF-FEE53962C035.png
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20254708/25/25/message.txt

Archived post by niconghiem

just a heads up there are some ‘theoretical’ guarantees that are not there so it might trip in some extreme cases (probably when the query point is far from the quad)

if I have time I’ll try to find out something I read in a paper the other day that had a more sane approach for this

but I need to find which paper lmao

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20255308/10/25/pointquaddist.hiplc

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