BlackPariah Posted July 3, 2018 Share Posted July 3, 2018 (edited) Hello! I can't wrap my head around the "pcopen" function. SideFX Help states "This node opens a point cloud file and searches for points around a source position." Okay... but all the points already have a position vector attribute... otherwise they wouldn't exist... so what exactly is this node/function accomplishing? What is the source position... source of what? I'm looking at a volume vop network where this node is being used to fetch point attributes from a curve sop into a volume but I still don't quite grasp it... is that what pcopen does? sort of "map" point attributes into a volume? I would appreciate any clarification... thanks! Edited July 3, 2018 by BlackPariah Quote Link to comment Share on other sites More sharing options...
Yon Posted July 3, 2018 Share Posted July 3, 2018 A volume vop runs over each voxel like a point wrangle runs over each point, It is iterating. and the position of every point is not stored in each iteration by default. The source is the currently processed voxel or point. And you can imagine a radius growing around it that captures points and returns position data into current iteration. Quote Link to comment Share on other sites More sharing options...
BlackPariah Posted July 3, 2018 Author Share Posted July 3, 2018 (edited) Thanks for the reply James! So if I get it right, it's like an "attribute transfer" node between objects that have points & objects that are volumes? Makes volumes have access to point data kind of deal? I know volumes work with fields, not points... so I'm guessing pcopen is what allows data interaction between these 2 object types inside a vop network or vex wrangle. Edited July 3, 2018 by BlackPariah punctuation Quote Link to comment Share on other sites More sharing options...
toadstorm Posted July 3, 2018 Share Posted July 3, 2018 Point clouds can be used for attribute transfer, but they're not solely for that purpose. They're intended to gather attributes from points within a radius of a given position vector. Those points could be particles, or the points of a mesh; doesn't matter. You can then iterate quickly over those points using pciterate and process those values as you see fit, or use the handy pcfilter function to apply a simple smoothing filter to your sampled points, getting something like an average result. In a volume VOP / wrangle you could use these functions to sample a set of points within a specified radius of each voxel and use those samples to set some value for each voxel, but you could do the same thing to a mesh; it's not volume-specific. Quote Link to comment Share on other sites More sharing options...
BlackPariah Posted July 7, 2018 Author Share Posted July 7, 2018 Ok makes sense now! It was being used to generate some velocity vector fields from a sop that was then injected into a pyro sim... but it looks like it has other uses I have yet to discover! You guys rock! Thanks 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.