Search Unity

Smooth surfaces act like they're bumpy (physics)

Discussion in 'Formats & External Tools' started by Dreamcube017, May 14, 2011.

  1. Dreamcube017

    Dreamcube017

    Joined:
    Dec 20, 2009
    Posts:
    253
    Hi guys.

    I've created some meshes in Sketchup and then exported them to Cinema 4D. From there, I just changed the UVs around and then exported them as an FBX 6. They appear just fine... however, when I try to roll a sphere across them, they act like they're very bumpy surfaces when theyare infact smooth. The geometry is pretty simple. It's basically flat planes with some walls on the side.

    I'm not sure but I think it maybe something with Sketchup, although I can't tell what since I'm looking at the geometry and it looks just fine. Here is what the objects look like.





    As you can see, the geometry is fairly simple. I've removed the top faces (not in the images) to see if there were any underlying lines or something and there wasn't. I think there may have been a problem with the collider being created for some odd reason.

    Here's a small video if you don't quite get what I mean.
    http://screencast.com/t/fSI1km2I

    Why does it do that... it should be a smooth roll down. Is it something to do with how I'm importing my objects? A friend of mine's tried making an object out of splines in C4D then exporting it as an FBX, just to have the same problem. What's going on here?

    Thanks for you help.
     
  2. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    You get more physical stability if you either use the built in colliders, such as box colliders, or create several convex mesh colliders instead of the concave one you are using.
    If you need to use a mesh collider, you mostly need to create a new mesh or several new ones that have the same shape as the graphical mesh. As many of those collission shapes should be convex, as those ones have a more stable behaviour. You need to set them as convex in Unity.
     
    Last edited: May 14, 2011
  3. Dreamcube017

    Dreamcube017

    Joined:
    Dec 20, 2009
    Posts:
    253
    So I should toss out the mesh collider and use convex... what does a convex even look like? I suppose I could use some box colliders... but later in this stage I want to make a half pipe... what kind of collider would I use for that?

    Also I've made shapes like this before (but modeled them directly in C4D with no splines) and they worked just fine. Is this a unity thing or...
    what?

    Thanks for your reply. I'll experiment with different colliders and see what works. I saw this thing on the Unity blog that could duplicate shapes and make curved objects. Is that in the asset store yet... have you seen it?
     
  4. Quietus2

    Quietus2

    Joined:
    Mar 28, 2008
    Posts:
    2,058
    Have you tried checking "smooth sphere collisions" on the collider?
     
  5. Dreamcube017

    Dreamcube017

    Joined:
    Dec 20, 2009
    Posts:
    253
    Yes I did, but it's still not working. I'll have to do some more experimenting later. I'll post back if anything changes. Thanks for the help guys.
     
  6. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    With convex I mean the option in the mesh collider. If you don't select that option, it is concave (Mesh Collider). Here is a small explanation what the difference between convex and concave is http://www.rustycode.com/tutorials/convex.html.

    Use box colliders and all other built in shape colliders if you can! A half pipe is one of the few shapes that have to be concave.

    Sorry, I don't understand what you mean.

    No, I haven't seen it.
     
  7. Dreamcube017

    Dreamcube017

    Joined:
    Dec 20, 2009
    Posts:
    253
    Chicking the Convex box doesn't work.

    I mean that I don't see why I make a shape one way and import it into Unity and it works, then I make the vey same shape the other way and then import it and it doesn't work. I guess that's not Unity's fault though.
     
  8. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    You can only use the convex option if you really have a convex shape. It has two advantages. It is faster and physically more stable. That's the reason why you should do it.
    If that does not work, you may try to change the parameters of your sphere, such as the bouncy ones.
    Or you may increase the solver iteration count, but I don't expect that this is going to help. (Physics Manager)
    The last one that should have a positive effect is to have a lower fixed timestep (Time Manager). But you can get stable behaviour with your simple physics stuff without changing that one.
     
  9. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    if the surface is not flat in the sense of that the ball gets accelerated in one direction, also check and set the physics material, especially set it, otherwise such stuff can happen due to incorrect and missing parameters too.
     
    Last edited: May 16, 2011