Hello!
I was simply wondering why is Houdini generating so many vertices? Normally when I would create a similar mesh in Maya, I obtain almost 4 times less vertices and they act more like points do in Houdini. So my question is basically why does Houdini seperate points and vertices as different things, and how could I go about having vertices that are positioned more like points?
Why is houdini generating so many vertices on my sphere?
6657 13 2- Maxime Bruneau-lavoie
- Member
- 15 posts
- Joined: 2月 2016
- Offline
- malexander
- スタッフ
- 5161 posts
- Joined: 7月 2005
- Offline
A Vertex in Houdini is unique to a polygon. A Point can be shared between adjacent polygons. They allow for different frequencies of attributes on the geometry, so that you can put uvs or normals on vertices (allowing for discontinuities between quads, like cusps) but still have a connected mesh.
The sphere above has a single point in the middle of those vertex clusters, shared by all 4 quads. If you turn on point display (Display Options, Markers, Point Markers) you'll see a blue dot in the middle representing the point.
The sphere above has a single point in the middle of those vertex clusters, shared by all 4 quads. If you turn on point display (Display Options, Markers, Point Markers) you'll see a blue dot in the middle representing the point.
- goldleaf
- スタッフ
- 4170 posts
- Joined: 9月 2007
- Offline
- anon_user_37409885
- Member
- 4189 posts
- Joined: 6月 2012
- Offline
- Maxime Bruneau-lavoie
- Member
- 15 posts
- Joined: 2月 2016
- Offline
Thank you for this graphic goldleaf, this cleared up some of my confusion about attributes in general as well.
The thing that really confused me the most is when I imported this mesh inside of UE4 and made the engine display all of the vertices. The extra 3 vertices were right on top of each other at the polygons intersections so they were kind of useless in my case. Is there a way to make Houdini treat vertices more like points when exporting? Or maybe a way to retrieve the position of the points inside UE4? Is the point position information even available once imported in UE4?
Could you explain how being able to add UVs and normals on vertices can be useful? I don't understand what you mean by “allowing for discontinuities between quads” and it's hard to visualize what having cusps in the mesh quads looks like. :p
Sorry if this is a lot of questions all at once, thanks for all the information so far everybody.
twod
A Vertex in Houdini is unique to a polygon. A Point can be shared between adjacent polygons. They allow for different frequencies of attributes on the geometry, so that you can put uvs or normals on vertices (allowing for discontinuities between quads, like cusps) but still have a connected mesh.
The sphere above has a single point in the middle of those vertex clusters, shared by all 4 quads. If you turn on point display (Display Options, Markers, Point Markers) you'll see a blue dot in the middle representing the point.
The thing that really confused me the most is when I imported this mesh inside of UE4 and made the engine display all of the vertices. The extra 3 vertices were right on top of each other at the polygons intersections so they were kind of useless in my case. Is there a way to make Houdini treat vertices more like points when exporting? Or maybe a way to retrieve the position of the points inside UE4? Is the point position information even available once imported in UE4?
Could you explain how being able to add UVs and normals on vertices can be useful? I don't understand what you mean by “allowing for discontinuities between quads” and it's hard to visualize what having cusps in the mesh quads looks like. :p
Sorry if this is a lot of questions all at once, thanks for all the information so far everybody.
- malexander
- スタッフ
- 5161 posts
- Joined: 7月 2005
- Offline
Maxime Bruneau-lavoie
Could you explain how being able to add UVs and normals on vertices can be useful? I don't understand what you mean by “allowing for discontinuities between quads” and it's hard to visualize what having cusps in the mesh quads looks like.
Sure. Take for example a cube. When you place a Box SOP down in the viewport, it looks very oddly shaded because the normals are computed on the points themselves (of which there are 8 ). This is because it's putting one normal at each point which is shared by all 3 vertices, and it gives the box a “smooth shaded” look.
If you dive inside the box object and switch “Add Vertex Normals” on, you'll see it now looks like a proper cube. This is because all the normals are now on the vertices (4/face) and the normals are unique to each face, and they're all pointing in the same direction.
Now, if you turn on “Display Normals” on the right viewport toolbar (sort of looks like a pizza cutter icon halfway down), you can see the diffference in the normals when you toggle “Add Vertex Normals” on and off. There will be 24 vertex normals drawn when it's on, and 8 point normals when it's off.
UVs can also be treated the same way - with vertex UVs, you can have a fully connected mesh with no “double points” and a clean separation between two UV islands - say, where the clothes and skin meet on a character. One polygon edge will have one set of vertex UVs, and the other polygon that shares that edge will have a different set of vertex UVs, making this clean texture separation possible.
As for exporting to UE4, I don't know much about that You may want to post that question on the Unreal Engine forum below for the Engine folks to answer.
- Maxime Bruneau-lavoie
- Member
- 15 posts
- Joined: 2月 2016
- Offline
twodMaxime Bruneau-lavoie
Could you explain how being able to add UVs and normals on vertices can be useful? I don't understand what you mean by “allowing for discontinuities between quads” and it's hard to visualize what having cusps in the mesh quads looks like.
Sure. Take for example a cube. When you place a Box SOP down in the viewport, it looks very oddly shaded because the normals are computed on the points themselves (of which there are 8 ). This is because it's putting one normal at each point which is shared by all 3 vertices, and it gives the box a “smooth shaded” look.
If you dive inside the box object and switch “Add Vertex Normals” on, you'll see it now looks like a proper cube. This is because all the normals are now on the vertices (4/face) and the normals are unique to each face, and they're all pointing in the same direction.
Now, if you turn on “Display Normals” on the right viewport toolbar (sort of looks like a pizza cutter icon halfway down), you can see the diffference in the normals when you toggle “Add Vertex Normals” on and off. There will be 24 vertex normals drawn when it's on, and 8 point normals when it's off.
UVs can also be treated the same way - with vertex UVs, you can have a fully connected mesh with no “double points” and a clean separation between two UV islands - say, where the clothes and skin meet on a character. One polygon edge will have one set of vertex UVs, and the other polygon that shares that edge will have a different set of vertex UVs, making this clean texture separation possible.
As for exporting to UE4, I don't know much about that You may want to post that question on the Unreal Engine forum below for the Engine folks to answer.
Hey twod thank you for the explanation. I can clearly see the difference in shading with the vertex normals added so that does answer my initial question. That got me curious so I looked at how the vertex normals for a cube in Maya were setup, and they do indeed have 4 vertices per face as well. But why is it that Houdini needs to have a vertex for each normal, whereas Maya has the normals shared by a single vertex and obtains the same result?
Houdini:
http://imgur.com/0fZS8Nd [imgur.com]
Maya:
http://imgur.com/l6nQGfp [imgur.com]
So going from that example alone, this doesn't answer the question of why have so many more vertices. That example does explain why you need those extra normals but it doesn't explain why you need to have a vertex for each normal instead of having one vertex for 3 normals like Maya does for example.
- jerry7
- Member
- 622 posts
- Joined: 11月 2013
- Offline
- sidenimjay
- Member
- 702 posts
- Joined:
- Offline
I believe in your maya example, there are the same number of vertices, that actually live on top of one another, which is why you see 1 vert, but 3 normals
In houdini, the verts also live on top of one another, but the display is shown such that you can actually see that there are 3 vertices at the corners rather than obscuring the fact as is done in the maya viewport
In houdini, the verts also live on top of one another, but the display is shown such that you can actually see that there are 3 vertices at the corners rather than obscuring the fact as is done in the maya viewport
- malexander
- スタッフ
- 5161 posts
- Joined: 7月 2005
- Offline
sidenimjay
In houdini, the verts also live on top of one another, but the display is shown such that you can actually see that there are 3 vertices at the corners rather than obscuring the fact as is done in the maya viewport
Yes, we offset all Vertex decorations into the parent polygon slightly so that you can read them and tell them apart (Vertex Markers, Normals, Numbers). In reality, all vertex markers are in the same location as the point they reference.
- Maxime Bruneau-lavoie
- Member
- 15 posts
- Joined: 2月 2016
- Offline
sidenimjay
I believe in your maya example, there are the same number of vertices, that actually live on top of one another, which is why you see 1 vert, but 3 normals
In houdini, the verts also live on top of one another, but the display is shown such that you can actually see that there are 3 vertices at the corners rather than obscuring the fact as is done in the maya viewport
That's what I assumed at first, but that doesn't explain why the actual vertex count is higher in Houdini compared to Maya. If Maya simply made these vertices invisible in the viewport because they're on top of each other, the vertex count would be equal.
- sidenimjay
- Member
- 702 posts
- Joined:
- Offline
- Maxime Bruneau-lavoie
- Member
- 15 posts
- Joined: 2月 2016
- Offline
sidenimjay
I stay out of Maya as much as possible, where are you seeing that the vertex count is lower than Houdini?
Ignore that, I did another test today and simply made a cube in both maya and houdini and they both came out with the same amount of vertices. So it was probably a dumb mistake on my part when I was trying with different meshes. This makes a lot more sense now :p
- sidenimjay
- Member
- 702 posts
- Joined:
- Offline
-
- Quick Links