Large 3D CADs use or not to use? That is the question.

Hi,

I have large 3D cad files of a building with 4 floors and my client wants a walkaround of the new building to train staff to become familiar and locate safety items around the building and carry out emergency scenarios.

At the moment I trying to work out whether its worth trying to utilise the CAD data break it down in to rooms and optimise the meshes so that each separate models with in the rooms are less then 50,000 (is this still the limit?) and then texture. My worries with this is the CAD data contains a lot of data and very large poly counts and would take a lot of effort to optimise and manage it all. My biggest concern how will unity cope with large CAD data performance wise in runtime.

I have three directions that I could take…

1- Use optimised CAD data and save time modelling but well I spend more time preparing and optimising the CAD just to get the whole building into unity and then suffer with performance.

  1. Low poly model the shell of the rooms and floors as the base model and then add CAD models of the furniture optimised. I could low poly the easy to model furniture and just have complex furniture as cad data.

  2. Low poly the whole building using the cad as a reference to draw the low poly models from. All so maybe render the Cad to make normal maps.

The latter of low polygon modelling the lot might be the most time consuming but would it? Would I spend just as much time managing and optimising all the thousands of CAD data just to get it to work within unity?

Anyone with any experience got any advice before I set out with this project? :expressionless:

Thanks

M.

I’m fully trained in Auto-desk Inventor assembly’s and CAD design and drafting for the real world. So this large project happens to me a lot.
What I would do is break the model up into as many part files as you can, anything with specific alignment can be imported as a group but as individual objects, take all of your props and just have 1 of each active in the scene. Once you are done, export everything out into packages, like chairs as one save file, desks as another, windows, tools, etc… so you have folders of your model types, then you export the building itself into clean sections like, floors, ceilings, and walls as there own package with detailed part object naming for finding stuff later.
This way you can build your model in unity floor by floor and move stuff around as needed, and also scale parts of your level independently if needed, as well as the ability to re use floors for other buildings various combinations.
Also allows you to make edits without re exporting the whole model.

Thanks that’s been a great help in guiding me the right way. Looking forward to giving it ago.

Also unity will automatically split meshes over 65k vertices.

Main problem with those kind of scenes is usually draw calls count,
thousands of small objects…(many which wont be ever even visible)…

I’d try first just “raw” full export, see how slow it is,
then could try making each floor as different scene.

If models are very polygon heavy, like cad pipes usually are,
i’d try 3ds max pro optimizer, collapsing objects together…

in unity marking objects static, making colliders for walkable areas manually (if its not overly complicated room layout).