Showing posts with label vex. Show all posts
Showing posts with label vex. Show all posts

Tuesday, March 29, 2022

Saturday, July 14, 2018

Houville :: Alembic transform theft

Now that I'm typing this I'll probably not forget it. If I don't post this, I'll definitely forget it.
//Alembic packed info put onto existing geo.
matrix abc = primintrinsic(1,'packedfulltransform',0);
P *= abc;


This is kind of messed up, but handy if you want to freeze geo, affect it, but then have it resume animation from an incoming abc transform animation. Input 1 is the frozen and tweaked geo, 2 is the animated abc and 3 is the abc frozen on the same frame as 1.
//Alembic packed info from static frame subtracted out, then a the animated one put back in/
matrix abc = primintrinsic(1,'packedfulltransform',0);
matrix abcRef = primintrinsic(2,'packedfulltransform',0);

P *= invert(abcRef) * abc;

Saturday, November 18, 2017

Houville :: iterating in VEX

Urgh, I keep forgetting this. So to iterate in VEX:
//fix negative colours per channel
for ( int i = 0; i < int (3); i++)
{
    if (@Cd[i] < 0) { @Cd[i] *= -1;}
}

Friday, March 3, 2017

Houville :: put points in the centre of prims

Points in centre of prim, and delete points:
addpoint(0, @P);
removeprim(0, @primnum, 1);


==EDIT== Just realised it can be handy to pull attributes from the prim on to the newly created points in the same primwrangle.
Here's how:
int newPt = addpoint(0, @P);
addpointattrib(0,"N",{0,0,0});
setpointattrib(0,"N", newPt, @N, "add");
removeprim(0, @primnum, 1);