Translating Primitive with maketransform

   1457   3   0
User Avatar
Member
2035 posts
Joined: Sept. 2015
Offline
Hi, I have simple set up that uses the maketransform function on a primitive.

The scaling and rotating works fine but doesn't respond to any translation inputs.

I tried ‘casting up’ the primintrinsic from a matrix3 to matrix to be on par with the maketransform.

That doesn't work - I guess it might by manually setting up a matrix from primintrinsic transform data, through trial and error to get the same ‘sequence’ as what the maketransform establishes for the translates, rotates, scale, etc.

If of course that's the issue happening.

Insight is appreciated - Thanks.
Edited by BabaJ - Aug. 19, 2018 16:32:36

Attachments:
Translate Prim with maketransform.hiplc (590.4 KB)

User Avatar
Member
8508 posts
Joined: July 2007
Online
that's because “transform” intrinsic of most primitives is matrix3 so can hold only rotates and scales (and skews, etc.), but no translates
so you'll have to translate the P of the point the primitive is attached to

the exception is VDB volumes for example, whose “transform” intrinsic is full 4x4 matrix, not sure why this discrepancy, but currently that's what it is
Edited by tamte - Aug. 19, 2018 23:09:16
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
7727 posts
Joined: Sept. 2011
Offline
If you use transform by attribute sop, you can create your own matrix4 attribute, and you don't have to worry about intrinsics.
User Avatar
Member
2035 posts
Joined: Sept. 2015
Offline
Thank you both Tomas and jsmack. You guys are very helpful here on this forum - it's appreciated.

For those who might search in the future the attached file has both solutions applied.

Attachments:
Translate Prim with maketransform v1.hiplc (604.2 KB)

  • Quick Links