Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Is there a "cheater" way to render smooth curves without lots of polys?

Discussion in 'General Graphics' started by jarombra, Mar 21, 2017.

  1. jarombra

    jarombra

    Joined:
    Sep 23, 2015
    Posts:
    8
    I have some basic primitive shapes that have some smoothly curved faces, but ideally I'd like to make them as light-weight as possible without compromising the smooth appearance of the curved faces.

    Does Unity have any kind of shader that might be able to mimic smooth curves perhaps through normal maps, or can one use nurbs/isocurves for assets? I'm obviously not a seasoned Unity dev, but thanks for your input!

    For example, imagine a skate park half-pipe section, is there a way to make the surface as smooth as if it had lots of polys but with a greatly reduced actual topology? Here is a possible solution:

    but let me know what you all think, thanks!
     
  2. Mauri

    Mauri

    Joined:
    Dec 9, 2010
    Posts:
    2,663
    In Blender, there is a setting called Smooth Shading. Other 3D programs probably can do this, too.
     
  3. jarombra

    jarombra

    Joined:
    Sep 23, 2015
    Posts:
    8
    Yeah, I use Modo and there are a few ways to smooth meshes. But how can Unity interpret the modeling program's smoothing algorithms, or can it at all? Do you personally import 3D assets to Unity as smoothed meshes from Blender, and does those models maintain their smoothness once in Unity?
     
  4. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,790
    I don't use modo, but this a general 3D question so I'll chime in with my 3D Max/Unity knowledge. ;)

    Yes - smoothness based on polygon angle can be controlled in Unity, you can even change mesh smooth settings upon import, regardless of the settings used in the 3D app.

    Essentially it seems like your just missing a little basic info. Have you gone through the learn section videos? Most models shown in those videos have normal maps, and the import video (can't remember which one) shows how to import content and assign textures using the standard shader. It might be the standard shader or new lighting video (new since Unity5).
    Check out the Ethan model in the asset store, he has a pretty good normal map, as does the high quality Blacksmith characters.

    Unity can even convert an old grey scale bump map to a normal map with one click - and it does a pretty decent job - as long as the artist isn't going for an ultra realistic look using this converter.

    Regarding half pipes - check out @JamesArndt skateboarding wip thread for reference on a half pipe setup.
    IMO - a half pipe is a model that won't be a high poly model anyway. The polygon density will only be in the curvature of the ramps. So there will be no need to reduce the polygon detail of a model like this, nor any need to normal map it to have higher resolution surface details. Although if you have normal maps on all other mesh pieces in a scene, not having even a subtle surface detail normal map on the half pipe will look odd.

    I've never worked on a skate board game - but I would guess the polygons in the curves of the ramp are desired for the controls of the skate board to identify the polygon surface with a ray cast setup. I'm only guessing - but this is one control option that a programmer might want to use instead of a animation controlled skate board.
     
  5. bijukchheaashish92

    bijukchheaashish92

    Joined:
    Jan 10, 2017
    Posts:
    5
    i personally used blender to smooth out my mesh, smooth edges works perfect after i import into unity. I did smooth settings inside blender. there are 2-3 way of smoothing mesh in blender. then use shader from unity.