Found 342 posts.
Search results Show results as topic list.
Technical Discussion » Scatter Points only on Polygons which are facing upwards
-
- AndyW
- 342 posts
- Offline
Turn on with a Group SOP turn on Keep By Normals and set your angle and spread threshold, scatter to that group
Technical Discussion » primitive groups and packed prims
-
- AndyW
- 342 posts
- Offline
I'm confused why my prim groups get screwed up after assembling to packed primitives, I need to delete the inside groups of my fractured geometry after RBD sim. In the enclosed file I'm coloring the inside prim groups before and after they're converted to packed prims, what am I missing? thanks!
Technical Discussion » Cellular infection growth a la Entagma
-
- AndyW
- 342 posts
- Offline
Thanks, that's the ticket. My implementation isn't the greatest at the moment but it does seem to work, here's an example file
Technical Discussion » Cellular infection growth a la Entagma
-
- AndyW
- 342 posts
- Offline
Ok so put another way, I need to find the vector between the current point and it's neighbor, and weight the ‘infect’ attribute in a certain direction. I've enclosing a simplified infection solver set up with a more compact algorithm
Technical Discussion » Cellular infection growth a la Entagma
-
- AndyW
- 342 posts
- Offline
I've been working with growth solvers using nearpoints() with some initial setups demonstrated by the brilliant folks at Entagma. However I'm getting a little stumped when I try to weight the growth in a certain direction. In other words, I'd like like the solver to find nearest points only in the +x direction of the currently infected points. Pointers? Ideas? Thanks!
Solver code:
float radius = 0.075;
int nbrs = nearpoints(0, “infected”, @P, radius);
int cnt = 0;
float accum = 0;
foreach(int nbr; nbrs){
float infection = point(0, “infect”, nbr);
float dist = length(@P - point(0, “P”, nbr));
float weight = 1 - smooth(0, radius, dist);
accum += infection * @Cd.r;
vector nodepos = point(0, “P”, nbr);
v@dir = normalize(nodepos - @P);
cnt++;
}
f@infect = f@infect + accum/float(cnt);
Solver code:
float radius = 0.075;
int nbrs = nearpoints(0, “infected”, @P, radius);
int cnt = 0;
float accum = 0;
foreach(int nbr; nbrs){
float infection = point(0, “infect”, nbr);
float dist = length(@P - point(0, “P”, nbr));
float weight = 1 - smooth(0, radius, dist);
accum += infection * @Cd.r;
vector nodepos = point(0, “P”, nbr);
v@dir = normalize(nodepos - @P);
cnt++;
}
f@infect = f@infect + accum/float(cnt);
Technical Discussion » Vellum collision - what am I doing wrong?
-
- AndyW
- 342 posts
- Offline
Technical Discussion » Vellum collision - what am I doing wrong?
-
- AndyW
- 342 posts
- Offline
As you can see in the example file, I'm trying to settle the cloth on the floor to create some gathering and bunching, I'm new to Vellum so I'm sure I'm wiring this wrong because it's not working. Any pointers are greatly appreciated
Technical Discussion » @id attribute with copy stamp (point change number during simulation)
-
- AndyW
- 342 posts
- Offline
I prefer to set copy stamp attributes on the points/particles themselves and reference that in the copy SOP, it's more controllable and predictable. Also, a lot of the erratic motion you're getting is coming from the transforms you have on your copy geo, but I'm not sure what you're after. The enclosed file is how I would go about it, I hope it's helpful
Technical Discussion » timeshift material texture on Each copyed geometry
-
- AndyW
- 342 posts
- Offline
On second thought, Renderstate won't work because it's called at render time, AFAIK textures are called in and filtered prior to rendering. I think this is a task for Material Stylesheets
Technical Discussion » timeshift material texture on Each copyed geometry
-
- AndyW
- 342 posts
- Offline
I haven't had the time to test it, but my bet is you could build a string attribute on your copied geo to set the filepath and frame number using sprintf(), and query that with a Renderstate piped into your file texture in your material. I haven't done this with file textures, but it works great with geometry so I don't see why not.
https://www.sidefx.com/docs/houdini/vex/functions/renderstate.html [www.sidefx.com]
https://www.sidefx.com/docs/houdini/vex/functions/sprintf.html [www.sidefx.com]
https://www.sidefx.com/docs/houdini/vex/functions/renderstate.html [www.sidefx.com]
https://www.sidefx.com/docs/houdini/vex/functions/sprintf.html [www.sidefx.com]
Technical Discussion » Rendering outside of $HIP
-
- AndyW
- 342 posts
- Offline
Why is it that necessary? Why not just make a path variable called $RENDERS or something, then it won't matter where your save your HIP files?
Technical Discussion » Desperately need some guidance with creating a field of dynamics objects and constraints
-
- AndyW
- 342 posts
- Offline
Technical Discussion » Desperately need some guidance with creating a field of dynamics objects and constraints
-
- AndyW
- 342 posts
- Offline
Is there a reason they need to be rigid objects? Seems like this is something better accomplished with a noise field on the endpoint of the curves, with the flowers copied to those same points. It might help if you post your current hip file
Technical Discussion » Grab the Geometry node name in SOPS
-
- AndyW
- 342 posts
- Offline
Technical Discussion » Grab the Geometry node name in SOPS
-
- AndyW
- 342 posts
- Offline
How would I go about getting the name of the current geometry container in SOPS? Thanks!
Technical Discussion » Set normals to point at camera, VEX
-
- AndyW
- 342 posts
- Offline
I guess I should've been more specific in that I didn't really need to deal with normals other than that being an easy way to rotate instanced or copied geometry. without an up vector the geometry tends to rotate weirdly around it's local z axis, setting an up vector and using @orient fixes that. I've never used cracktransform, I'll have to dig into that
Technical Discussion » Set normals to point at camera, VEX
-
- AndyW
- 342 posts
- Offline
Ok here's what seems to work best, set @orient instead of N, (cgwiki to the rescue again here http://www.tokeru.com/cgwiki/index.php?title=HoudiniVex#Convert_N_to_Orient_with_dihedral)
vector dir = normalize(chv('../../cam1/t') - @P);
vector up = {0,1,0};
matrix3 m = maketransform(dir,up);
@orient = quaternion(m);
vector dir = normalize(chv('../../cam1/t') - @P);
vector up = {0,1,0};
matrix3 m = maketransform(dir,up);
@orient = quaternion(m);
Edited by AndyW - June 6, 2019 10:43:14
Technical Discussion » Set normals to point at camera, VEX
-
- AndyW
- 342 posts
- Offline
I was just revisiting this too. It works for sure, but the local rotation around the z axis isn't ideal, so I'm looking at adding an up vector to fix that. I'm new to matrix transforms but I don't imagine it's too difficult
Technical Discussion » Set normals to point at camera, VEX
-
- AndyW
- 342 posts
- Offline
Technical Discussion » Set normals to point at camera, VEX
-
- AndyW
- 342 posts
- Offline
I've been using expression like this:
origin(“”,“../../cam1”, “TX”)-$TX
..in a point SOP to face normals in the direction of a camera, feels a little antiquated. Any tips on how I would go about this in VEX?
origin(“”,“../../cam1”, “TX”)-$TX
..in a point SOP to face normals in the direction of a camera, feels a little antiquated. Any tips on how I would go about this in VEX?
-
- Quick Links