alexcb

alexcb

About Me

Connect

LOCATION
Not Specified
WEBSITE

Houdini Skills

Availability

Not Specified

Recent Forum Posts

new Houdini 15 documentation March 11, 2016, noon

Agree with this.

I've found myself using online H14 documentation instead because its much faster and easier to find what you're looking for.

I wouldn't expect the new layout to be reverted unless the Houdini community makes enough noise, so if you also prefer the old way speak up!

point cloud confusion March 10, 2016, 9:47 a.m.

Thanks for your explanations SYmek and Jeff, it's really good to be able to link these unfamiliar terms (at least in this context) to the legacy as to why they are used. It helps me link things together in my mind!

Nope. Any attribute of the points you created your points cloud from, can be queried. I'm not sure why your scene doesn't work, but it seems it behave correct once you specify a file in pcopen with Opinput2, not the expression you use.

Hmm, this functionality would be very useful then if I could get it to work!! So you're saying instead of pointing the second input to an operator I should point it to a .pc/.bgeo file on disk and it will work?


I'll check out the pcfind vop also! Thanks again.

point cloud confusion March 5, 2016, 12:52 p.m.

Hello,

I am having trouble understanding some of the concepts included under the topic of point clouds. It seems very esoteric to me. This is what I currently understand (or think I understand):-

Pcopen
Pcopen opens a point cloud file for searching through and returns points based on search parameters like radius (distance from the query position), and only returns up to a maximum number of points (specified by the user).

This node I think I understand. My only questions are ones of terminology.

1. Why is the point cloud to search through called the 'point cloud texture'?

2. Why are the various bits of data you lookup in the ‘point cloud texture’ called ‘channels’? Why are they not called attributes? When the pcopen vop asks for what the bit of data is called in the point cloud texture that stores each points position, why is it labelled and refered to as the ‘position channel’? Suddenly with point clouds attributes become channels?

3. Why are the returned points called the 'point cloud handle'?

I guess these questions aren't too important, but personally I find the unfamiliar terminology is one of the factors in impeding (at least my) understanding of the subject. If I knew why these terms are used, hopefully it will help cement my understanding.

Pc filter
Another one I think I am fairly clear on. Pc filter takes the point cloud ‘handle’ returned by pcopen, and looks at the data on them (data/attributes/channels) and returns an averaged result based on the weighting formula given on the help card.

My questions for this node:-

1. What ‘channels’ can be queried? In the attached hipfile, pc filter successfully queries P and successfully queries the created attribute, ‘pointnum’. As I am only returning 1 point from the pcopen search, no weighting or averaging takes place so I get back P or pointnum with the same value from the closest single point returned. That's fine. Why doesn't it return anything for the other attribute, ‘myrand’? Does pcfilter only return channels/attributes of specific names like P and pointnum? If that's the case, are these the only 2, are there more? Are they documented?


Pc Iterate
I think this one is fairly simple. Starts the iteration over or moves on to the next point in the iteration, of the point cloud handle of found points from pcopen. Plug this into a while vop which is basically saying ‘while there is another point to iterate over, do the stuff inside the while vop’.


Pc Import
Only use inside the pc iterate loop. Takes the current iteration point and pulls in data from its attributes/channels. Questions for this node:-

1. The helpcard says you can import 2 special channels, point.number and point.distance. Are these the only 2 channels/attributes you can import? If so how do you import other channels/attributes/data from points returned by a pcopen search if seemingly pc Filter doesn't do it either (in the above example of ‘myrand’)? I guess store the result of point.number and then use that after with an import attribute vop?


pcunshaded/pc export
Now this one I'm totally in the dark about. The helpcard states that this is somehow different to pc iterate in that it ‘only iterates over each point once’.

1. How is this different? It was my understanding that pc iterate iterated over all points one by one, hence once per point?

2. Again I am confused by the terminology. The helpcard says you should then use pc export to store ‘shaded information’. What does it mean by ‘shaded’ and ‘unshaded’? I have absolutely no idea!

3. The pcunshaded vop has a ‘unshaded channel’ parameter. What sort of attributes/channels should be plugged in? The help card for the vex function says its for channels that have not been written to. Does this mean its for empty attributes? If so how do you create an empty attribute? They usually have default values.

Generally speaking, I guess I have no idea what pcunshaded is for.

General Questions

1. The help says that generally you should use pc close to close the point cloud you've been iterating over. Where should this go? I was playing around with where to put it, but it either seemed to stop the loop working as it no longer outputted data or didn't get rid of the warning. As with the other point cloud nodes, there doesn't seem to be any examples of how to wire these nodes together in the help card, or to show how they should be used/how they are useful.

2. In the attached hip file (I can't remember where I got the hip from, I must have d/loaded it from here or OdForce at some point), pc closed has not been used, but instead inside the while vop there is a switch and an extra pc iterate which seems to satisfy the need to close the point cloud, but I have no idea how/why? The switch index is not wired to anything.


I know this is a long post with a lot of questions, so I'd like to say thanks in advance to anyone who can finally shed light on this for me, for years its been something I have used but never really understood, and skirted around.