5
$\begingroup$

I have a problem with a Surface Deform Modifier when I try to bind my mesh an error appears Target contains concave polygons!.

I already tried:

  • Mesh ‣ Clean up ‣ Split Non-Planar Faces
  • Manually filling faces
  • Subdivide surface

I don't know how can I fix it, does any one knows how?

My model: https://drive.google.com/open?id=1JLdkRbxSIxokihoFKmLkzMTXT6JZL9-9

$\endgroup$
1
  • 1
    $\begingroup$ it looks like the front of your plane mesh is a little bit messy, if you make a classical mesh with square faces it seems to work $\endgroup$
    – moonboots
    Commented Jun 24, 2018 at 8:52

4 Answers 4

7
$\begingroup$

From the manual, at https://docs.blender.org/manual/en/dev/modeling/modifiers/deform/surface_deform.html , the target

Must not contain faces with collinear edges.

You have at least two faces with three collinear points (what I've heard called a degenerate quad). That's what you can't have. I've selected one in the image below.

enter image description here

To add to this, the quickest way to fix this problem (and non-destructively to boot!) is to use a triangulate modifier. On your model, if you put a triangulate modifier on your plane, after the cloth modifier, your fish will bind properly.

That's not always going to be the case; surface deform gives that warning inappropriately sometimes, when the problem is something other than concave polys. (It's interesting to me that binding a Suzanne to a Suzanne is basically impossible...) But in general, whenever you want to use a surface deform and can't bind, the first thing to do is triangulate the target.

$\endgroup$
2
  • $\begingroup$ It doesn't really matter here.. but do you happen to know if triangulation has any effect that hurts or improves a cloth simulation? What topology the simulation expects? $\endgroup$
    – Robin Betts
    Commented Jan 12, 2021 at 18:30
  • 2
    $\begingroup$ @RobinBetts Not sure with recent changes (new cloth model), but in previous versions, triangulation did matter-- I believe there was some both-diagonals shear control in cloth that went away when you triangulated, letting the triangles bend more independently of each other. As you say, here, it doesn't matter, because you can do the triangulation after the cloth. In general, topology is very important for cloth and soft body, and the topology you want for your physics isn't necessarily the topology you want for your normals + subdiv.... $\endgroup$
    – Nathan
    Commented Jan 12, 2021 at 18:37
0
$\begingroup$

Finally found a workaround by hiding the problematic geometry with the "Mask" modifier.

The "Mask" modifier must be active; otherwise, the bound mesh will explode but you can save the deformations/animation by exporting it: File -> Export -> Pointcache (.pc2) (uncheck "Convert to Y-up" checkbox) You can disable the "Mask" and "Surface Deform" Modifier now. Add the deformations back to your object with a "MeshCache" Modifier.

With this mask modifier technique, you can also localize which part of your mesh is preventing the bind.

$\endgroup$
1
  • $\begingroup$ .mdd seems to work aswell $\endgroup$ Commented Dec 6, 2023 at 15:00
0
$\begingroup$

Following workflow will split all the concave faces into triangles

  • Select all vertices in Edit Mode
  • Mesh > Cleanup > Split Concave Faces
$\endgroup$
-1
$\begingroup$

Try to merge vertices by distance. May help in some cases. The most confident here is just to triangulate the whole thing, bind it, after tris to quads.

Take care

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .