I have a quad-based 3D mesh. I want to:

  • remesh it while keeping the shape the same
  • the end output should be in quads
  • ideally it should have a similar number of verts / polys as the input
  • ideally the remeshing would be random, and output mesh would be distinct from the input

Right now I'm remeshing with Meshlab, which outputs tris. I then use the Tris to Quads function from Blender. The problem is that that function is not perfect, and leaves many tris.

So ideally there'd be a quad-based random remesh tool, but if anyone knows of a better tri-to-quad tool that would also be helpful?

Thank you.

  • $\begingroup$ What does it mean to "remesh" a mesh? $\endgroup$ – Nicol Bolas Feb 15 '18 at 1:40
  • 2
    $\begingroup$ Typically those remeshers voxelize a mesh and then use algorithms like dual contouring to recreate a polygonal mesh. @NicolBolas It's usually a way to clean up the topology in modeling. For example, if you use boolean/CSG operations to create a mesh, the resulting topology might be nasty and not work so well for subdivision surfaces and might not be so suitable for sculpting (the control points might be unevenly distributed). "Remeshing" would keep the overall shape but give you a very uniform topology that can be easier to work with for some cases. $\endgroup$ – DataMatters Feb 15 '18 at 4:43
  • $\begingroup$ Thanks @TeamUpvote. In this case I am not looking for uniform topology (necessarily), as I just want the meshes for machine learning purposes. $\endgroup$ – ganesha123 Feb 16 '18 at 20:43
  • 2
    $\begingroup$ It's a bit tricky -- mainly the fact that the input mesh is quad-based shouldn't matter so much, at least I can't think of remeshing algorithms that would care, so to speak -- only thing important typically is the output requirements. Voxelization followed by an algorithm to turn those voxels back into a polygonal mesh tends to be one of the most straightforward ways to do it with lots of control over the resolution of the results. Is Blender's remesh inadequate in some way? I think it's using the method I proposed: docs.blender.org/manual/en/dev/modeling/modifiers/generate/… $\endgroup$ – DataMatters Feb 17 '18 at 5:21
  • 1
    $\begingroup$ When I used that tool, either it would lose the quality of the mesh (shape was distorted). To avoid that it lets you increase the poly count, but to keep the shape the same you need to blow up the poly count by 10x or more. $\endgroup$ – ganesha123 Feb 17 '18 at 9:05

I'd recommend using OpenVDB. It's quite battle-tested.

Use meshToVolume to voxelize the mesh. Then use volumeToMesh to produce a high-quality quad mesh.

meshToVolume voxelizes the mesh into a SDF. volumeToMesh seems to use dual contouring / SurfaceNets.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.