Importing .fbx files from Maya.. large numbers of objects in a group

I am trying to import a building I made in Maya and recreate it in UE4… but the issue is : I rather not have to re-align all my assets as I import them piece by piece…

I can’t merge them all on import… because each piece will need its own material and textures…

so is there a way to “freeze transformations” and get UE4 to see the 0,0,0 placement of each asset so I can import them all “in place” as there are in maya ?

You could just create material slots for your mesh in maya -> e.g that’s how you do it in blender: and then import the entire building. I think otherwise there is no way how you could do what you want :slight_smile:

This topic has been covered numerous times on the forums. It is currently not possible to import and have your meshes use the pivots they originally used in your modeling software. This is why it is suggested to move all your meshes to the world origin (0,0,0) of your modeling software before importing into UE4. UE4 will only recognize the 0,0,0 world origin.

However, there are a couple of considerations to this. If you plan on reusing assets from you import for multiple things then set these to the world origin. If you have no intention of moving the assets you could keep them at their position and when placing the pivot will be offset. (This was used for our ShooterGame example. All the meshes use this offset rather than pivots at the mesh)

There has been a feature request submitted a while back for this, but there is no timeline if/when this will be implemented.

Thank you!

so if my group uses multiple materials… THOSE will import when I import the group, even if I choose to merge it ?

then I can edit each separate material in UE4 and have the materials I assigned to each mesh in maya, remember the mesh it was assigned to ?

Well at the moment I’m doing 100% of my map construction inside of 3ds and be it 3ds or UE4 the origin is always the origin as to how objects relate to other as to world space and distance from one another.

A self promoting example :slight_smile:
v=V1SsETZrSLA
Every single building was constructed inside of of 3ds and exported as an object that fills the space and since in UE4 it’s transform will always be 0 0 0 as to origin one only needs to set it’s location in the detail panel to 0 0 0 then all of the parts will snap together just like Lego blocks.

It’s not a bug but a feature. :wink:

As for importing with material it’s a choice.

When importing you can tell UE4 to either import each of the objects as individual objects or as a single object but either way you still have access to individual materials at the material ID level.

For example if you import your model as a single object with 10 materials attached when you view it in the mesh editor all ten materials are exposed and can be managed the same way you would with an object with a single material.

thanks for the info !

I was also wondering… I used to work with Cryengine… and I would duplicate a model inside the engine… then simply reconnect it to another assets I would import in place of the duplicate… is that also possible in UE4 ?

this way I can export each piece where it is in maya… then duplicate my floor.fbx inside UE4… and reconnect the floor without moving it… to “wall1.fbx”… and so on and so on…

Well you can replace any model at any time by selecting it in the browser and telling any model in the scene to use the current browser selection.

But

UE4 takes it a step further because it supports FBX both ways…sort of.

The magic to it all is to create a solid source chain, which is not the same as source control, where objects necessary to fill a space can mirror the build in an application like 3ds , or any application that supports FBX, that can be replaced through iteration.

If anything learn what FBX really is and understand it’s full potential as what you see so far is just the tip of the iceberg.

Diversion aside and through iteration you could/would set up your world space first as to the idea that it is an environment that player will run around it so you only need to put in an object that represents by proxy what will be used to fill that space with a name easy to pick out when things begin to build up.

To keep it simple if you export a simple primitive box and call it the Tower of London and import it into UE4 you now have a defined area as to placement, scale, and relative world position. Through iteration of building the completed tower each time you export, using FBX as the source chain, all you would have to do is hit re-import inside of UE4 and tada over time a simple box primitive becomes the Tower of London.

Its even better than that because you can export out of UE4 to FBX and that opens up a ton of possibilities.

Normally yes :slight_smile:

I don’t know if this falls under the same category, but I was able to break apart my house model into smaller models, each having their own pivot points, and then imported all of those within unreal and all the models retained their original positions.
I didn’t move each segment to the (0,0,0) world position but rather left where they are supposed to be and just freezed transformation. Upon importing, I selected all the models from the content browser and just dragged it to the scene.

I had this same issue, here is my solution. Create a new folder in UE4 for your building. Import the FBX into this folder. You will have many assets imported that make up your building. Now select all of the imported assets at the same time. Drag them into to the editor window. Your building will now be in altogether with every piece in place. Now marquee select all those pieces, right click on any one of them and select group. Now your pieces can be moved anywhere as a group but they all still retain their UVs and other details. I could be wrong and have not tested this yet but as long as you build on the grid in maya and set your pivots in maya for each piece, they should be retained upon import to unreal and you can use vertex and grid snapping as well as temporarily moving to pivot to any vertive using middle mouse + V. I hope this helps. I know its not perfect but its the best I could find.

Sorry, forgot to tell you, you can ungroup at anytime if you need to move any asset individually that comprises your building, then group it back. I think you can possibly even make a folder for everything in the scene outliner so they can all be easily selected again for regrouping.

When you just export as it is, that will place their pivot points at 0,0,0 so when you place them in UE4 they will end up in the position you want, however the pivot won’t be where you likely want them to be because they will all be at 0,0,0. Makes it easy to place the objects but not to reuse them later, also doesn’t maintain your instances.
However, there is a feature added a few versions ago that allows you to export your scene to FBX and import which will maintain the correct pivots and positions and instancing and will place everything into the level as a Blueprint:
https://docs.unrealengine/latest/INT/Engine/Content/FBX/FullScene/index.html

darthviper… this looks like good news! Thank you so much! I thought I was slick with my workaround, but if this works… hell yeah! Again thank you so much. Is this new? I’m curious why it has not been mentioned before. Anyway I’m going to test this right away. Thanks.

It’s more recent, I think maybe 4.12