@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); `
Category: hou-general
Archived post by eetu
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
Archived post by bonsak
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
Archived post by profbetis
@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)
Archived post by eetu
@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
Archived post by TOADSTORM
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`
Archived post by friedasparagus
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
Archived post by mestela
Archived post by tjeeds
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
Archived post by profbetis
using this btw: www.desmos.com/calculator