has this been posted in here before? wordpress.discretization.de/houdini/
some really good stuff in here
has this been posted in here before? wordpress.discretization.de/houdini/
some really good stuff in here
@Jonesy this may be late and not sure if I know exactly what it needs but maybe something like this in a point wrangle ` int ptn = i@ptnum;
int s = chi(“stairs”); int f = chi(“floor”);
int l = s+f;
int spts = s*2; int lpts = spts+f;
int x = max(ptn%lpts-spts+1,0)+min(floor(ptn%lpts*.5),s-1); int y = min(floor(float(ptn%lpts+1)*.5),s);
int inc = floor(float(ptn)/lpts); int linc = l*inc; int hinc = s*inc;
v@P = set(x+linc, y+hinc, 0); `
gahh took a while
but starsteps with landings
the conceptual idea is to take a larger stairstep of (x+y) steps in size, plus add to it a clamped sawtooth that has x steps of the clamped part and y steps of the unclamped part
scaling it all properly took a while 😃
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20194403/21/19/stairsteps_landings.png
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20194403/21/19/ee_stairlandings.hiplc
Just realized that you get a merge node if you hold down alt while dragging from the out port of multiple nodes. This is so cool!
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20191303/05/19/2019-03-05_09-14-04.gif
@flight404 you can interact with ramp keys just like a multiparm block. The ramp parameter itself has the value of how many keys there are
“`c int rampkeys = chramp(“ramp”);
for( int i=i; i<=rampkeys; i++){ float pos = ch(sprintf("ramp%gpos", i)); float val = ch(sprintf("ramp%gvalue", i)); // Do stuff }```
(I normally don’t condone 1-based loop indices but the keys do start at 1 and not 0. I supposed you could switch to doing `i+1` in the `sprintf` calls though if you wanted)
@jacobs ok, hacked the fourth dimension into alligator noise. quite slow compared to the builtin one but seems to do approximately the right thing
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20194802/21/19/ee_4dalligator.hiplc
okay i got it.
in order to force houdini to use its own internal openCL dll, you need to add the following key to your environment:
`HOUDINI_USE_HFS_OCL = 1`
you can also use primuvconvert to move between arc length measurements (UNITLEN -> UNIT for example)
summint like that…
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20195401/08/19/resampleCurveu_primuvconvert.hiplc
oh one other aspect, do your noise lookup on the surface, so use VDB Analysis to make a Closest Point field that you use for noise lookup
this is the basic idea
it’s also helpful to use curvature to modulate it when applying multiple times
Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20185411/07/18/starterPuff.hip