richnosworthy Posted September 16, 2019 Share Posted September 16, 2019 Hey guys, sorry this is a basic question, just wanted to understand this bit more clearly. If i convert say a voronoi fracture - or even just a 'copy to points' to packed geo, what i love is i can then manipulate each piece like a single point. Say grab a few pieces and move them across or run a noise through the positions to offset the pieces. But I'm getting confused as to whether this packed geo is represented as a point or a primitive at this level. When looking at the attributes in attribute spreadsheet it feels like you are dealing with points as the position values are still on points. Also i can run noise through a point vop to randomise the position (trying the same on a primitive vop doesn't work). But if i try and select and move some of the pieces i have to be in primitive mode to select them. I've been able to work with this fine so far, but just wanted to know more about whats going on under the hood Heres an attached example though probably not needed packedprims.hiplc Quote Link to comment Share on other sites More sharing options...
StepbyStepVFX Posted September 16, 2019 Share Posted September 16, 2019 (edited) I think that makes sense when you think of how Houdini does structure geometry : primitives are made of vertices that refers to points. The "position" of a primitive is the barycentre of its components (and is calculated like that under the hood, in a Prim Wrangle for example, when you use @P for a prim). A packed primitive is a "fictitious" primitive that contains only one point. So it makes sense that moving the point position moves the prim. And if I remember correctly, the orientation of the primitive is an "intrinsic" attribute of the prim, not the point. That explains why you need to be in Primitive mode for the select tool to orient it, move it etc.... I think you can read more about that here : But that is just my guess, I don't really have info about the philosophy the dev used when coding that :-) I hope it helps you a bit... Edited September 16, 2019 by StepbyStepVFX Quote Link to comment Share on other sites More sharing options...
richnosworthy Posted September 16, 2019 Author Share Posted September 16, 2019 ah that makes sense in terms of what i was seeing happen. I've only just started looking at intrinsic attributes for packed geometry but thats good to go on. Seems like packed geo almost has two hierarchies of being moveable - the original packed geo 'points' which you could translate around and then also the intrinsic transform which can do the full orientation and scale aswell. Still slightly confused but much less confused! Definitely gotta read up on that stuff some more, but i can see why the selection thing was happening now. Thanks Quote Link to comment Share on other sites More sharing options...
StepbyStepVFX Posted September 17, 2019 Share Posted September 17, 2019 By the way, I read also that intrinsic are attributes that are computed on the fly, not stored on the primitive. Not sure if that’s true for all intrinsic for packed prim : it is clear for position, it can be computed from the unique point of the packed prim, but don’t know how to calculate orientation from just a point without other point attributes. That’s still obscure for me :-) But it does not prevent to manipulate them and do cool stuff ;-) Quote Link to comment Share on other sites More sharing options...
richnosworthy Posted September 17, 2019 Author Share Posted September 17, 2019 Hey thanks thats good to know Quote Link to comment Share on other sites More sharing options...
anim Posted September 18, 2019 Share Posted September 18, 2019 (edited) 19 hours ago, StepbyStepVFX said: By the way, I read also that intrinsic are attributes that are computed on the fly, not stored on the primitive. Not sure if that’s true for all intrinsic for packed prim : it is clear for position, it can be computed from the unique point of the packed prim, but don’t know how to calculate orientation from just a point without other point attributes. That’s still obscure for me :-) But it does not prevent to manipulate them and do cool stuff ;-) it's not true for all intrinsics for common ones like bounds, measured(area, perimeter, volume) it's probably true but definitely not for transform, pivot, unexpandedfilename, geometryid, viewportlod, ... and many others that you simply can't just derive from other data, they need to be stored and passed with the prim, like when you have class in programming, some getter functions return member variable values directly, but some will compute the values on the fly from others while you can't compute orientation from just a point, there are also no point intrinsics so it's not like Houdini can either, unless you extract it from transform intrinsics of attached primitive for example if it has it Edited September 18, 2019 by anim 1 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.