Hi guys,
Okay, after a lot of blood, sweat and tears, I finally figured out how to make my own poly extrude network, i.e. something that extrudes each separately connected set of polys along it's own vertex normals. At the moment, I've got a primitive group which I pass into the network to indicate which polys to extrude.
My question is, what's the best way in Houdini to package this network together into something that can be re-used easily?
I suspect the answer is to make a digital asset? If so, is there a way to make it as seamless as possible with the other SOPs? E.g. how do I pass the current polygon selection to it instead of passing a group name? Do I use a string with the primitive indices? How do I tie that in with the selection when the node/asset is created?
Also, I've played around with VOP SOP definitions which seem pretty cool. But am I right in thinking that you can't create new geometry with these? You can only deform existing geometry? What about if I used VEX code itself? Does that open up any possibilities?
Sorry, lots of questions I know, but I think I'm nearly there in terms of figuring out how all this stuff fits together, so whatever light you can throw on this will no doubt help enormously.
Thanks a lot.
Andy
Creating my own Extrude
5765 7 3- fxnut
- Member
- 19 posts
- Joined: Feb. 2006
- Offline
- hoknamahn
- Member
- 398 posts
- Joined: July 2005
- Offline
E.g. how do I pass the current polygon selection to it instead of passing a group name? Do I use a string with the primitive indices? How do I tie that in with the selection when the node/asset is created?You can bind selectors to parameters of your asset which will allow you to work with your asset in the viewport as with any other Houdini operator. And of course you can mimic a behaviour of the Group parameters using Script Type Menu.
You can only deform existing geometry? What about if I used VEX code itself? Does that open up any possibilities?With VEX SOPs (and VOPs which are just visual representation of VEX code) you can only modify attributes. With HScript/Python you can create new operators (so you can create geometry). With Python probably… maybe in the nearest future… you can generate geometry. But I suppose that now you can only modify existing geometry.
f = conserve . diffuse . advect . add
fx td @ the mill
fx td @ the mill
- fxnut
- Member
- 19 posts
- Joined: Feb. 2006
- Offline
Okay cool, thanks for the help. It's good to know I'm heading in the right direction. After I posted, I started to look at getting my network into a digital asset and I started to come across the technique of “binding selectors” that you mentioned.
However, I'm finding the docs on “omsbind” a little hard to figure out. This is what I've got so far…
omsbind -t sop group1:pattern prims “APNExtrude” “Select polygons” 0 1 poly 1 “” 1
which I've put inside the “Before First Create” event.
The problem is that I'm just guessing what to put in for the node and parameter name. At the moment, it's set to “group1:pattern” which is the first group SOP in the asset which sets the primitive group so that my extrude network knows which polys to work with. The “pattern” bit is the name of the pattern parameter in the group SOP.
When I create the asset I don't get a prompt to select anything, so I'm guessing that what I've put here is wrong. Any clues as to what I should be putting in here?
Thanks
Andy
However, I'm finding the docs on “omsbind” a little hard to figure out. This is what I've got so far…
omsbind -t sop group1:pattern prims “APNExtrude” “Select polygons” 0 1 poly 1 “” 1
which I've put inside the “Before First Create” event.
The problem is that I'm just guessing what to put in for the node and parameter name. At the moment, it's set to “group1:pattern” which is the first group SOP in the asset which sets the primitive group so that my extrude network knows which polys to work with. The “pattern” bit is the name of the pattern parameter in the group SOP.
When I create the asset I don't get a prompt to select anything, so I'm guessing that what I've put here is wrong. Any clues as to what I should be putting in here?
Thanks
Andy
- davedjohnson
- Member
- 221 posts
- Joined: July 2005
- Offline
it's been 4 months since you posted this and I am exactly where you were at that point.
I've done this before, but it was a long time ago and now I want to do it again.
Did you ever get an answer as to what to put in that field? I thinkyou put the name of your HDA. If I get this figured out, I'll write back here.
Dave
I've done this before, but it was a long time ago and now I want to do it again.
Did you ever get an answer as to what to put in that field? I thinkyou put the name of your HDA. If I get this figured out, I'll write back here.
Dave
- Simon
- Member
- 2199 posts
- Joined: July 2005
- Offline
The sop will be the name of the asset you have created and the bit after the colon is the name of the parameter to bind to. To get this to work you need to promote your group parameter for the group sop inside the asset to the top level and then supply that as the path to bind to.
The trick is finding just the right hammer for every screw
- davedjohnson
- Member
- 221 posts
- Joined: July 2005
- Offline
What if I don't have a particular group parameter to promote, can I just make the omsbind point to any string field on my HDA?
What I want to do is to parse the numbers that end up in that line and use parts for one sop and other parts for other sops inside my HDA. And I'm still doing this part in h8.
Dave
What I want to do is to parse the numbers that end up in that line and use parts for one sop and other parts for other sops inside my HDA. And I'm still doing this part in h8.
Dave
- Simon
- Member
- 2199 posts
- Joined: July 2005
- Offline
- davedjohnson
- Member
- 221 posts
- Joined: July 2005
- Offline
-
- Quick Links