BIM models tend to get big and are not optimized for VR and therefore need some special attention before you can load their geometry into Arkio. Here are some steps to keep your Revit models clean and export them to an OBJ format to be loaded in Arkio.
Quest vs PC VR hardware
Since the Oculus Quest uses a mobile processor Oculus recommends not to load more than 100.000 polygons in a scene to keep the experience run at a comfortable 72 fps. We ran tests with models up to 250.000 polygons but we don't recommend this as performance will be low and uncomfortable.
If you want to load bigger 3D files in VR we recommend using a more powerful PC/Laptop connected to a headset. (or your Oculus Quest in link mode with a USB cable)
The maximum number of polygons supported by PC hardware is a lot higher and depending on your GPU can range between 1-6 million polygons. You can easily check your polygon count of the model by opening the OBJ file with the Windows 10 3D viewer.
If your model has too many polygons you can use the following steps to reduce the polygons or optimize the models using 3D Studio Max, Maya or other free 3D mesh editing software like Blender or Simplygon
Revit model preparation - best practices
- Use a 3D section Box to crop away your model into part of the scene
- For exporting, turn off (sub)categories you don't need and hide elements and worksets that are not required (you don’t need to export furniture and casework if you will only work on the exterior)
- The following categories can be hidden by default: Railings, Planting, Lighting Fixtures, Plumbing Fixtures, Electrical Equipment and all Mechanical, Electrical and Piping Categories
- Use Revit families that are simple and don't have small corner fillets, non-essential elements like 3D text, screws, and bolts or many curved surfaces, these objects tend to slow down Revit and also need Mesh optimizations in programs like 3D Studio Max
- Make use of Revit’s built-in detail visibility settings (Course, Medium, Detailed) to reduce the detail of specific sub-elements in Revit families..
- Avoid loading CAD, Rhino and Sketchup references in your Revit model, not only will they make your Revit slow they will also not translate well to VR
- Avoid thin/overlapping surfaces and objects, as they might result in Z-fighting if you like to work on scales up to 1:1000, try to use minimum thicknesses of 100mm
- Apply correct materials to objects and simplify their count and usage. This will keep your Revit models organized and will make the conversion process to VR more quickly. A useful workflow for this is making a multi-category Schedule and organizing it by material name and volume so you can easily spot the messy families and double namings in your project:
Revit to OBJ step by step
1) Export a cleaned and prepared Revit 3D section box scene to an FBX format
2) Load the FBX file in 3D Studio using Link FBX
3) Select Autodesk Revit Combine by material and bind the link after import (needed to see number of polygons and optimize the model later on)
4) Delete all the non mesh elements in the scene (camera, lights, and groups are not supported by Arkio / OBJ)
5) Your Revit origin point might not make sense for placing/loading the object in Arkio, you can fix this for all meshes by right clicking on the transform-tool and filling in a better position (or use the transform arrow with less accuracy)
6) click the [+] on your 3DS max viewport and configure the viewport to show the polygon statistics of your view
7) check the number of polygons of the meshes and use ProOptimize to the ones above 62.000 polygons. Try to keep the total number below 240.000 polygons to keep VR performance high.
8) Optimize a high poly mesh using ProOptimize tool. With the object selected Click on Modifier Tab > drop down list, search for “ProOptimizer”. Select the checkbox to keep the textures, click ‘Calculate’ > Reduce the ‘Vertex %’ to desired level and press ‘Enter. The polygon number of the selected object should be significantly reduced. You can check if the resulting geometry is acceptable in the scene.
9) Autodesk uses a different material system that other apps so the materials have to be converted to Standard Materials using a script or the built-in Scene converter. And the following settings:
10) Now we reached the final step of exporting the OBJ using the following settings. (Don’t forget to check the “flip YZ axis” checkbox as Autodesk uses a different coordinate system).
Congratulations! you are now able to prepare any kind of Revit file to load into other applications and Arkio using the OBJ import function. Unfortunately 3D Studio’s OBJ exporting functionality could be a bit broken at times so please make sure to check your resulted OBJ file by opening the file in another application (Rhinoceros, 3DStudio or Unity) before you try to load the files in Arkio using your \Documents\Arkio\Import\Models folder
Revit OBJ export plugins
There are also Revit plugins that can be used to export OBJ files directly from Revit. They offer different model results and sometimes don’t include/convert the Revit materials very well. Exporting big Revit scenes using these plugins can result in a crash of Revit or result in corrupted OBJ exports that will not load in any app. So always make sure to first check if the resulting OBJ file loads correctly in other apps before trying to take it in Arkio. Please let us know if you have good experiences with a OBJ exporter plugin yourself so we can use that knowledge to simplify our import/export process in the near future.
Export to Unity
Cheap and reliable for small scenes
OBJ Converter for Autodesk® Revit®
Free trial and works for most small scenes