Houdini Quick tip - slice equally - YouTube
Sometimes the Boolean Fracture lets you down, so use the Voronoi Fracture, and feed a line into the second input. That is pretty much the gist of the video.
Tuesday, 15 November 2022
Cutting/slicing up an object in equal divisions
Thursday, 27 October 2022
GLSL style textures with COPS
Create a COP network.
Create a VOP Generator
Inside this, make a snippet.
below is an example of what you could do inside the texture. This fills the image with pink and has blue borders on the left and right side of the image. The Step function doesn't exist in vex, so I define it in the beginning. So at least functions are code-able. Annoyingly chf("blabla" aren't possible, but you can add parameter inputs to the node.
The bottom line is the important part. It assigns the red, green, blue and alpha to the output (you don't need to plug anything into the output nodes of the VOP network).
Instead of U and V, you have X and Y.
You can still do things like multiply X and the modulo it to achieve tiling. I need to test out things like matrix rotations next. Much excite
float step(float a, b){
float jog=0;
if(a<b){jog=1;
}
else{jog=0;}
return jog;
}
float are=step(0.1,X)*(1-step(0.9,X));
vector4 rgba=set(are,0,1,1);
assign(R,G,B,A,rgba);
ROTATION UPDATE
so I couldn't figure out the matrix stuff...but handily a maths site mentioned that the resultant x' and y'
were: x'= x*cos(angle)-y*sin(angle) AND y'=x*sin(angle)+y*cos(angle)
doing some crap maths in vex gives you this:
vector2 uv=set(X,Y);
vector2 uvN=uv;
uvN.x=uv.x*cos(angle)-uv.y*sin(angle);
uvN.y=uv.x*sin(angle)+uv.y*cos(angle);
so now when you use uvN for any coordinate references the image will be rotated! I think the pivot is broken though...so that's next on the list of things
number padding and clamping file sequences
padding file names and clamping at the same time -
`padzero(7,clamp($F4,1091,1256))`
Think I've shown this snippet before, but maybe not combo'd with the clamp. Remember to use the back ticks to evaluate the expression when using it in a file name...And use all relevant brackets
accessing COP outputs in textures
use this expression to get to COP stuff -
op:/obj/cop2net1/out
the "op:/" is key!
"shrinkwrap" push faces from one object towards another
More Julian scripting
Use case - an object lying on the floor is not quite touching the surface - so lets pull points of the floor toward the surface. The floor object would go into the first input and the object to "wrap" to goes into the 2nd input. Put this code into a point wrangle -
i@prim;
v@uvw;
@dist = xyzdist(1, @P, @prim, @uvw);
@bias = fit(@dist, 0, .01, .79, 0);
@P = lerp(@P, primuv(1, "P", @prim, @uvw), @bias);
It might be necessary to play with the "fit" values & ensure the objects are kinda close to each other to begin with! This is good for bodge fixing stuff!
Wednesday, 26 October 2022
using a transform that relies on $CEX $CEY $CEZ with a differently shaped/sized object
Use the julian matrix - (point wrangle)
matrix M=detail(1,"xform");
@P=@P*M;
plug the transform you want to "copy" into input 2 ("1") and the object you want to transform with said transform into input 1 ("0").
MAKE SURE the transform node has the xform ticked at the bottom, so the wrangle can actually access the "xform"
This is especially relevant for when you overuse $CEX etc bounding box for pivots & you suddenly change the geo size. Eg you rotate your thing into place, and do so using the centre of a short object, but suddenly you need to substitute it with a much taller thing.
Wednesday, 12 October 2022
exporting alembics or fbx from houdini with transforms
Didn't realise this...and wasted about half an hour figuring it out..
If you, for example, are using a FETCH node or a rivet and need to export an object with the transforms you can a) use the bake animation ROP (must be used in ROP context!) b) click File>export as FBX or Alembic.
For the latter to work, you must place your stuff into a SUBNETWORK, or it will not export correctly. VERY ANNOYING. It's a bit like putting things into a group before exporting an alembic in Maya, just much less obvious.