3
$\begingroup$

I'm trying to work with physics using an imported .SVG file (tried several files). Steps followed:

  1. Imported an .svg
  2. Extruded the .svg
  3. Converted curve (svg file) to mesh
  4. Created a plane.
  5. Applied 'rigid body tools' to plane -> Passive
  6. Applied 'rigid body tools' to svg -> active
  7. Created and applied 'rigid body tools' to cube (for reference/test purpose).

The result is this: https://www.youtube.com/watch?v=AAHoA264mW8

Why doesn't the imported .svg collide correctly?

$\endgroup$
5
  • $\begingroup$ can you upload the svg or blend file? $\endgroup$
    – Vader
    Mar 21, 2014 at 21:07
  • 2
    $\begingroup$ It looks like there's an issue with the normals (and possible face overlapping) on your model. Can you post the blend file on pasteall.org/blend like @Vader suggested? $\endgroup$
    – CharlesL
    Mar 21, 2014 at 21:14
  • $\begingroup$ Also is the collision shape convex hull or mesh? maybe enable collision margin or increase the thickness a bit. $\endgroup$
    – sambler
    Mar 22, 2014 at 8:28
  • $\begingroup$ Thank for your replies. I upload my test file: pasteall.org/blend/27768 $\endgroup$
    – Erik
    Mar 22, 2014 at 9:17
  • $\begingroup$ @sambler: after enabling collision margin (0.001 or more), the .svg collides with the surface without trespassing it, but in a very unnatural way..... youtu.be/8UV31rhwtoc $\endgroup$
    – Erik
    Mar 22, 2014 at 14:36

1 Answer 1

3
$\begingroup$

There are several problems in your file:

  • All the objects have un-applied scale, which can cause rigid-body simulations to behave strangely. Apply the scale to the objects mesh data with CtrlA>Scale.

  • The SVG/star object's origin is not centered. The origin is used to determine the center of mass, so if it's in an odd place (as in this case), it will cause strange behavior. Center the origin with CtrlShiftAltC> Origin to Center of Mass.

  • The SVG mesh has some strange topology/overlapping faces:

    The SVG mesh is a little messy, with non-manifold geometry and overlapping faces:

    enter image description here

    Try deleting all the faces and then adding loop cuts at the intersections to get a mesh like this (click for slower speed):

    enter image description here

Optimizations:

There are few minor optimizations you can make too:

  • Make the floor solid. Rigid-body simulation likes manifold meshes more than non-manifold meshes (such as a plane).

    Another advantage to using a floor with thickness is you can use the Box collision shape for it, which tends to be faster and more stable than the Mesh option.

  • Use the Box option for the cube. It's always better to use the primitive collision shapes where possible.

  • Use the mesh collision shape on the SVG. Because the SVG has concave parts, only mesh will allow it to collide accurately.

Result

enter image description here

Example .blend

$\endgroup$
1
  • 1
    $\begingroup$ I'm speechless. Thanks for your perfect explanation. Also tanks to all others guys helped me solve this problem! $\endgroup$
    – Erik
    Mar 22, 2014 at 22:13

You must log in to answer this question.

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