Revit FBX to Unity Help - No auto assigned textures

I’m just completely :face_with_spiral_eyes: :face_with_spiral_eyes: :face_with_spiral_eyes: lol.

I see that other people have worked around this by assigning materials after importing a Revit FBX file into Unity, but is there a way to get the textures to automatically assign itself to the model after it’s been imported? All I get when i import a Revit FBX file is a blank model. The textures are in the asset folder; I can browse them, but they aren’t associated with the model in any way. When I assign the texture to the material that Unity has created for my model the textures don’t come in at the right size. Now, I know an FBX file can come in with textures correctly mapped because I imported an FBX file from Sketchup and everything came in 1 to 1. The textures were correctly mapped to the model without me doing any extra work. Does anyone have a fix for this because I’ve been searching high and low for an answer and coming up with no dice. It would be great to get a Revit model imported directly into Unity without any extra work and then have Unity 3 bake some shadows into it for quick walkthroughs and renderings. Thanks for reading this, and any help would be much appreciated.

Thanks,
Dan

I take it that your revit model loads its textures from your projects asset folder before you export? Thats how I do it in 3dsmax (using standard material with diffuse textures)

I ve got the same problem.

Revit doesn’t use a physical materials library.
They are embedded in the project in some kind of way.
So the FBX is un-materialised.

I think if you assign a texture to each material, it will assign them to every instance of that material in your project. This isn’t too terribly time consuming, unless you happen to have a model with a prohibitive number of textures?

I go into this in some brief detail in these video tutorial describing how to import a Revit Architecture model into Unity3D. Its a very basic overview, and doesn’t get into much detail, but maybe it will help? Video Tutorial: How to Import Revit into Unity3D | Arch Virtual VR Training and Simulation for Education and Enterprise

Good luck!

Jon, Again - I was wondering how things went after that tutorial.

I’m trying to help an architect friend.

Thanks

Hi gl33mer - I’m not sure what you mean you’re waiting for? Sorry! The technique I described in that video seems to work for most people I’ve heard from, although those using Revit 2011 seem to have an issue with FBX not generating a .fbm file. However, they’re lucky enough to have a dynamic updater link to 3DS, which would seem to imply that they could just save the 3DS file directly to Unity Assets folder, and essentially have a dynamic link to their Revit file… the holy grail for Revit → Unity, imho.

Hope that helps!

I finally got Unity 3d to recognize the .fbm file under the Project Tab. However, all the materials are there, but when I select an object in the model, the material is not editable, like in the video. That is, in the video, you change the color and it identifies the layer that is selected. When I change the color of the selected object, the whole model changes color. However, when I select the .fbm file under the Project Tab, I can drag and drop the individual materials to their objects. This would take forever to assign each object to the material rather than globally to the layer. Also, the textures and materials have imported with .xml files and texture maps with long numerical names such as 456457A2-4990-478E-B06F-6A49D… .xml and so on. I feel that part of the problem has been resolved as I got Unity 3d to recognize the .fbm from Revit 2011, but can you suggest a way to globally assign the materials to the layers, rather than each object? I’m also using Max 2011, but non of the geometry imports from the .fbx from Revit 2011. Any ideas?

@cummings9306 I’m hearing the same from quite a few other Revit 2011 users, and am still trying to find a workable solution. However, I still believe the path through Max 2011 is the answer, and potentially a huge benefit to Revit users hoping to use Unity. I know that lots of architects use the dynamic link between Revit and Max for rendering illustrations and animations, and that Unity is able to dynamically update Max 2011 files… so that’s where the great potential would be.

Instead of exporting from Revit and trying to import into Max - isn’t there some kind of direct ‘Link’ option? I’ll be doing more testing with 2011 in a few weeks, and will let you know if I find anything. Good luck, and let us know if you find a solution!

Have you got any further with this one? It is causing me no end of problems.

Thanks

Mat

No, not yet. I decided to take some classes in C++ and eventually C #. I know that you’d have to assign shaders to really make it look good.

Perhaps this is part of the problem:

http://thebuildingcoder.typepad.com/blog/2011/01/material-assets-and-fbx.html

I wonder if it’s possible to use Autodesk’s own FBX converter to expose the materials in Revit 2011/2012 FBX files to Unity.

http://usa.autodesk.com/adsk/servlet/pc/item?id=10775855&siteID=123112

All my Revit data is at work. I’ll give it a go tomorrow.

Edit:
I could not find a way to make the Autodesk FBX exporter expose the FBX materials to Unity.

Twinmotion offers a very simple and functional Revit plug-in (one-click export) that makes the Revit-to-Twinmotion process fast and easy.

Though it’s clearly a long shot, please consider voting for a similar plug-in for Unity export here:
http://feedback.unity3d.com/forums/15792-unity/suggestions/2244241-revit-plug-in-and-workflow

1 Like

Your issue is with the Autodesk Materials - they need to be converted into standard ones that Unity can use. You can either buy Universal material converter for 3ds and do it yourself, or use an online converter like http://materialconverter.com. I’ve used both and prefer the online solution as it’s worked quickly and perfectly for all my revit files and HoloLens