Jump to content

pcopen function clarification


Recommended Posts

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 by BlackPariah
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 by BlackPariah
punctuation
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...