Home Technical Talk

[3ds max] Automotive modelling for racing games question(s).

Hello, i searched for a while to find an answer for my questions about a topic , but finally, left with some haziness about it. So, I've imported a mesh from NFS : Rivals game to  see how do the making such clear meshes. I decided to try this nurbs-like low poly technique, but here is a problem. They are using some tricky vertex normals techniques - so lowpoly model have very properly settled vNormals like this (1) and looks perfectly:
Even with meshes which contains multiple triangle junctions (2).
But, when i trying to average normals i always have something like (3). Even if i will work with normals manually, still i will have artifacts with triangles. Maybe very small once but, anyway.
And here in the original mesh i see a really master-peace - just like after mesh smoothing. They even done damaged parts that looks exellent (4-5) and u will never know that there are two parts here untill u select it.

If someone knows how to achieve such smoothing quallity - please help me with that :)
Thanx for your time!

Replies

  • Steppenwolf
    Options
    Offline / Send Message
    Steppenwolf polycounter lvl 15
    They use face weighted vertex normals. Ther's a thread floating around about custom vertex normals on the first or second page. Should have some useful scripts for you.
    edit: http://polycount.com/discussion/154664/a-short-explanation-about-custom-vertex-normals-tutorial/p1
  • LeighT
    Options
    Offline / Send Message
    Trying to figure it out and made some tests./ALmost always i have such artifacts:

    And, for example, Rhino3d makes crazy mesh with a lot of conected tris and it has perfect vnormals and reflections.
    How could i get rid if this smoothing artifact in some tris-junctions?
    How do u usually solve this? There is an option to tweak vnormals manually , but output quallity is(usually) not suitable.


  • JedTheKrampus
    Options
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    Try making a highpoly model with traditional subd modeling (or use Rhino or Alias if appropriate.) Then, take the cage that generates the highpoly and reduce its polygons until you have the right number of polygons. Finally, transfer vertex normals from the highpoly to the lowpoly.

    Highpoly:



    Lowpoly with default vertex normals:



    Lowpoly with normals from the highpoly:



    IDK if it will work for an entire car but that's what I'd try.
  • LeighT
    Options
    Offline / Send Message


    Thanx for your answers, will try this!
    Then, take the cage that generates the highpoly and reduce its polygons until you have the right number of polygons. Finally, transfer vertex normals from the highpoly to the lowpoly.

    So, that means that i can potentially make a mid poly vehicle model for game engine, then subdiv it and grab vnormals from subdiv? So, in fact i only need to model once instead of classic "highpoly - retopo" workflow?
  • JedTheKrampus
    Options
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    I neglected to save the .blend for some reason but for comparison here's the highpoly topology recreated.



    So it's about double the resolution of the final lowpoly, just to have enough mesh resolution to model details effectively and to have enough resolution for the detailed areas in the lowpoly. To reduce it I used the Blender tools "select shortest path" or "select edge loop" and then "delete edge loop"; or "select edge ring" and then "collapse edges", depending on the situation. 3ds Max should have similar tools to do the reduction step.
  • JedTheKrampus
    Options
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    Think of it like baking a normal map to the vertices. Any time you need to completely avoid texture compression or interpolation artifacts you should consider using vertex attributes instead.
  • LeighT
    Options
    Offline / Send Message
    THanx, will try  this stuff in my next 3d work :)
  • LeighT
    Options
    Offline / Send Message
    And, i am here again :)
    Carefull - long post here.
    Did a lot of research. Searched all possible options via google - seems like no one models mid-poly cars these days :D
    What i am trying to achieve: nice smoothed mid poly car model with proper reflectons and without normal map on its body. Stuff that we can see in every modern racing game.
    What i've tried to do:
    1) Most obvious thing - just modelled a low poly with one smoothgroup, chamfers, some support edges and stuff. But there is always some shading artifacts. Even if its relatively smooth at viewport, in game engine (unity for instance) there will be incorrect reflections. If i am right - reflections are depens on vertex normals.  Actual topology is not so important - reflection are good as long as we have proper vnormals.
    And 3ds max / Maya cant do proper vnormals approximation automatically.
    2) I've tried lots of  vertex normals related scripts that can be found here and via google. They cant solve smooth problem.
    3) Tried noorbs modelling package - Rhinoceros. Exported mesh is terrible - has a lot of tris junctions but perfectly smoothed vNormals. Almost nice, but topology is really weird.
    4) Next i tried "baking approach". The idea is to make an ingame middle poly, subdiv it and then project vertex normals from Hipoly to lowpoly.
    The only tools i(and guys that suggersted those ones for me above) found was "maya transfer data", and blender's "transfer data". Maya's one makes it really weird.
    Blender's version is much better. But very unstable. Sometimes it transfers - sometimes not. It can transfer only some part of vNormals and then make an awful mess with others.
    There is a "Noors Normal Thief" for 3ds max as well. It works - there is no messed up vNormals after that. But it cant  do proper baking from hi poly. I still have artifacts .
    Baking can potentially work on simple stuff like cube or squared curved plane(mentioned at posts above), but when dealing with complex shapes like car body - not reliable. The only thing that is always reliable - shading artfacts :)

    5) Subdiv em all.
    Finally i could just subdiv it.
     Subdiv can partially solve my problem. There is no creepy shading artefacts like at low poly anymore. But, subdiv cant reach straight geometry like this :

    And almost every cut and new triangles on already subdived geometry will cause shading / reflection errors as usual.

    My test wireframes exported to engine:
    Low poly option:

    High poly option:
    So, any curvature of subdived topology will cause reflection  bugs in game engine(but if rendering in vray or such stuff - just fine), mb, because 3ds max calculates vNormals this way.
     As end result i have these two meshes in engine:

    And how the gods from "Ghost studios" done this at NFS Rivals (there is still some little distortion, but i think its just edges - not vNormals):):
    And same model with recalculated vNormals:


    Thanx for your time! So, mb i cant understand something very simple and silly, but anyway, if you know some technique for modelling proper vehicle midpoly assets, give me some advise, please.
Sign In or Register to comment.