Jump to content


Is it possible to walk the edges in Houdini?


  • Please log in to reply
9 replies to this topic

#1 magneto

magneto

    Grand Master

  • Members
  • PipPipPipPipPip
  • 1,302 posts
  • Joined: 04-October 11
  • Location:Canada
  • Name:Ryan K

Posted 21 June 2012 - 12:27 AM

One of the digital assets I am experimenting, I need a way to get the edge loops from a pair of points:

Posted Image

I thought I might be able to do this in VEX using the Neighbour VOP, and only include ones that are not already in the point selection/group, but I also need to be able to get the primitive neighbours.

If I achieve this in VEX, it will still have to run several times till there is no more room to grow. So not sure if it makes sense with VEX.

I looked at the Python HOM, but that also doesn't seem to have a function that could help.

Can this be done? Am I missing something?


Thanks :)

#2 mantragora

mantragora

    Initiate

  • Members
  • PipPip
  • 236 posts
  • Joined: 08-December 11
  • Location:frozen hell
  • Name:to be, or not to be, TD ?

Posted 21 June 2012 - 02:34 AM

No support for edges in Houdini. Still. In 2012. That's the best procedural program that doesn't support them. It's a feature you don't find in other packages. Every other can get them. But not Houdini.

Clear enough or should I continue ? ;)

And I would not recommend walking on the edge. It's quite dangerous. You may get hurt.

PS.
You can try in HDK. I think you can get there edges.
magic happens here... sometimes

Vimeo
Twitter

#3 petz

petz

    Initiate

  • Members
  • PipPip
  • 213 posts
  • Joined: 30-June 07

Posted 21 June 2012 - 03:11 AM

have a look at the pointneighbour and primneighbour expression. maybe you could adapt the file in the link below to do what you need. the principle is quite similar.
http://forums.odforc...dpost__p__91904

hth.
petz

#4 magneto

magneto

    Grand Master

  • Members
  • PipPipPipPipPip
  • 1,302 posts
  • Joined: 04-October 11
  • Location:Canada
  • Name:Ryan K

Posted 21 June 2012 - 03:15 AM

I was hoping there would be some clever trick. But since the geo engine is new in H12, I assume edges are in their plans for H13 hopefully. Not a small feature, but definitely a key one I think.

Hopefully H13 will deliver us :)

EDIT: Thanks petz, your example looks interesting, will have to take a look at it more closely.

Edited by magneto, 21 June 2012 - 03:17 AM.


#5 rafaelfs

rafaelfs

    Initiate

  • Members
  • PipPip
  • 136 posts
  • Joined: 16-September 10
  • Location:Toronto
  • Name:Rafael Santos

Posted 21 June 2012 - 06:56 AM

View Postmagneto, on 21 June 2012 - 03:15 AM, said:

I was hoping there would be some clever trick. But since the geo engine is new in H12, I assume edges are in their plans for H13 hopefully. Not a small feature, but definitely a key one I think.

Hopefully H13 will deliver us :)

EDIT: Thanks petz, your example looks interesting, will have to take a look at it more closely.

You might be able to traverse the edges using UV coordinates... Just a thought, but in the case of the grid, you would be able to find the UV "latitude" or "longitude" of a point and then just loop through all the connected points that have the same respective coordinate.

Haven't tried, but sounds feasible in some cases at least...

Aslo, the shelf edge loop tool seems able to find a the loops, maybe you could reverse engineer it... :)

Cheers

Edited by rafaelfs, 21 June 2012 - 06:57 AM.

Toronto - ON
My Houdini playground

#6 mantragora

mantragora

    Initiate

  • Members
  • PipPip
  • 236 posts
  • Joined: 08-December 11
  • Location:frozen hell
  • Name:to be, or not to be, TD ?

Posted 21 June 2012 - 07:51 AM

View Postrafaelfs, on 21 June 2012 - 06:56 AM, said:

Aslo, the shelf edge loop tool seems able to find a the loops, maybe you could reverse engineer it... :)

It just calls polysplitSOP. So we are back in HDK/InlineCPP land, if we want to replicate it.
magic happens here... sometimes

Vimeo
Twitter

#7 magneto

magneto

    Grand Master

  • Members
  • PipPipPipPipPip
  • 1,302 posts
  • Joined: 04-October 11
  • Location:Canada
  • Name:Ryan K

Posted 21 June 2012 - 06:25 PM

Thanks rafaelfs, I need this to work for any geometry so UVs like you said might not solve it 100%.

I didn't know about polysplitSOP backend. I will check it out.

Does it use inline cpp?

Edited by magneto, 21 June 2012 - 06:25 PM.


#8 magneto

magneto

    Grand Master

  • Members
  • PipPipPipPipPip
  • 1,302 posts
  • Joined: 04-October 11
  • Location:Canada
  • Name:Ryan K

Posted 21 June 2012 - 09:19 PM

I just actually just looking at the edgeloop code, and it uses customStateTool which returns genericTool. But not sure where 'edgeloop' argument calls the actual tool?

Is there another location for these or are these just compiled thus can't be inspected?

Thanks.

#9 petz

petz

    Initiate

  • Members
  • PipPip
  • 213 posts
  • Joined: 30-June 07

Posted 22 June 2012 - 08:52 AM

attached is the modified file that should do what you need. depending on the number of polygons you may want to go the hdk-route.

hth.
petz

Attached Files



#10 magneto

magneto

    Grand Master

  • Members
  • PipPipPipPipPip
  • 1,302 posts
  • Joined: 04-October 11
  • Location:Canada
  • Name:Ryan K

Posted 22 June 2012 - 07:45 PM

Thanks petz, that's a new interesting trick :)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users