Revit to Unity Workflow

I am currently looking at developing a prototype to test the design of a Healthcare Facility. Basically the end-user would virtually run through different day to day processes within Unity to test the design.

I am having trouble trying to get my Revit model into Unity. The current workflow that I am using is Revit export of a DWG file → import it into 3ds Max Design and saved as a .max file → import the .max file into Unity 3D. The problem that I am having is that I am having trouble getting the textures to transfer through the entire workflow. (I have also tried the export an fbx file from revit directly to Unity and I have had similar problems.)

I see articles like this one; Welcome to my home: first attempts at using Unity3D for architectural visualization | Arch Virtual VR Training and Simulation for Education and Enterprise, that make it sound very easy.

Has anyone experimented with a similar workflow? Any feedback would be much appreciated.

I’m not familiar with 3ds Max, but when I was reading through the Unity Manual, I noticed one gotcha - Textures are not automatically assigned to a Material. You have to manually drag/drop them to the asset in Unity to apply them:

http://unity3d.com/support/documentation/Manual/Importing%20Assets.html

http://unity3d.com/support/documentation/Components/class-Texture2D.html

John C>
“For all your days, prepare, and meet them ever alike;
When you are the anvil, bear - when the hammer, strike.”

I’m still on a learning curve with Unity, but I’ll relay the various steps I used to import that Revit model in hopes that it might help.

First, I would definitely stick to FBX directly out of Revit, so you can enjoy the automatic updates and bypass 3DS (unless you want to bake shadows, etc). If you export it to your Unity project folder, the model in Unity will update automatically each time you save an export from Revit, making design revisions very easy to accommodate.

Once you have it in Unity, find the file in your Project tab/view and click on one of the meshes found there. In the Inspector tab/view you should see the different materials assigned to each mesh. If you open ‘select’ under a texture, you should be able to find a material that sounds appropriately matched to that mesh’s name, or you can usually trial and error to see what part of the model that texture is assigned to. Here, you can also try different Shaders for a variety of nice effects. If you don’t find the right materials there, you might have to copy the textures to the Materials folder in your Unity project. Once copied there, Unity will automatically find them - and make them available in your project.

The good news is that once you assign textures to each material, each new exported save out of Revit will retain its assignments (unless you add new kinds of components, etc.).

For anyone else trying this for the first time, you might want to check ‘Generate Colliders’ (in the Inspector tab), unless you want the walls/doors to be phantom. Also, you can test-drive the walk through by dragging the ‘First Person Controller’ Prefab from your Standard Assets folder into the scene (positioned and rotated to your desired starting position). Clicking the Play button at the top will now show you the Game view in first person.

I hope that helps!

This might be obvious, but I should also add that you don’t actually have to go through every single element in the imported file and assign the materials to every single mesh. You only have to assign a texture to each material once. For example, if you have the same wood trim species/stain material assigned to base boards, door trim and window trim and you assign the texture in the door mesh, you’ll see the material appear on the window and base trim in your scene view.

I made this tutorial series to help provide an overview of the Revit to Unity import process. It isn’t very detailed, and there may be more efficient ways of doing this, but hopefully it will help! Video Tutorial: How to Import Revit into Unity3D | Arch Virtual VR Training and Simulation for Education and Enterprise

With any version of Revit after 2013, you’re going to need to convert the materials otherwise they come in as grey into Unity. Personally, I’ve used http://materialconverter.com for all my HoloLens/Revit work.

This thread is literally nearly a decade old.

1 Like