Home Technical Talk

3D Max -> Multiple Instances Mirrored -> Unity Correct Rotation :(

rasdaniil
null
Hi

I'm modelling a train (still..) in 3D Max which of course has some repetitive objects in it. I really wanted to avoid setting correct transform manually in Unity as well as reassembling the model in Unity from pieces. Fortunately Unity supports fbx instances, unfortunately transformation messes up somewhere on the way.  Needless to say that I've spent already about 5-6 hours trying to figure out the proper workflow, trying all possible combinations of mirroring, resetting transform and scale, freezing them, using reset xform.

The point is to save some resources by having  one mesh in unity instead of four. Same for lights, doors etc.

Let's say this door handle. Need four of them. 

Is there any possible workflow for that?  Tried googling a lot, no luck for instances problem

Thanks a lot in advance 

3D max: 




FBX Rev


Unity :(


Replies

  • rasdaniil
    Options
    Offline / Send Message
    rasdaniil null
    On the other hand maybe I shoudn't use instances at all when exporting? Just thinking about baking maps like AO
  • vertex_
    Options
    Offline / Send Message
    vertex_ polycounter lvl 7
    I have never exported instanced meshes to a game engine, I would advise combining your meshes by using the Attach command to merge the first handle with the second, I would also combine them with the chassis of the train unless you have reason not to. You can UV map one handle and duplicate it so that all handles share the same texture space.

    In any case, reset xForm and flipping the faces of the duplicated object should fix that problem.
  • Eric Chadwick
    Options
    Offline / Send Message
    Never use the Mirror tool in Max's top toolbar. This tool applies a negative scale, which no game export formats interpret properly. As you've seen, they flip all the polygons instead.

    You can fix this by using Reset Xform, and adding a Normal modifier. But then it won't be an instance any more.

    Instances in Unity (or any other game engine) can only use position, rotation, and scale. Not mirroring.

    Actually, you could technically use negative scale, and a double-sided shader. But that's too expensive to render in most cases.

    Most of the time, a train model like this would be one single model, with only the windows and lights separated (for different materials) and also any doors or moveable pieces separated for interactivity. 

    And then you would instance the train car itself to make the whole train. In which case, you would set up a single car in Unity, then duplicate it in Unity with all its setup intact. Not in 3ds Max.
Sign In or Register to comment.