One of the most irritating things i have encountered is importing 3D models from a variety of 3D modelling programs like 3DS Max, Cinema and others. Every time when you import an asset its units are incorrectly converted causing big numbers in the transformation component of my models.
HoloLens app expectations
HoloLens applications expects the units in the transformation to be as meters. Running HoloLens applications using these units causes problems when the values are too high. HoloLens does in practice operate best when values are between 1 and 10 meters. Actually according to Microsoft practices even less. Above those values it has a hard time to get the holograms placed at the correct location. That is caused by the fact that HoloLens is continuously (re)positioning the holograms based on the scan of the environment. That scan works best between 1.25 meters and 5 meters.
When these values are large you get the issue that objects are moving together with you when wearing the HoloLens instead of staying pinned at their location. It also is hard to place them at the correct position in your scene since the units there are in meters.
Importing a 3D model as FBX file
I have tried several ways to get 3D models correctly imported and found the best way of doing this. It is actually easy to get it to work. 🙂
First open the 3D model program you are using. Than load the 3D model and export it as an FBX file.
The FBX file does not contain any of the materials and textures. So make sure that you store the FBX file at the same location of the original program file. For example when using Cinema, the original file is a cd4 extension (Cinema version), store the FBX file in the same folder. Now copy the folder containing the FBX file and all subfolders containing the materials and textures to the assets folder of your Unity project.
When opening Unity the 3D model is loaded and converted to the Unity project standards.
The result
In case your project is a HoloLens project it is converted to the units in meters. You do not have to close Unity. By activating the application it scans the assets folder and correctly imports the objects and if already done its changes.
The result is a 3D model converted to the correct units in meters in Unity. As you can see in the transform component the units are in the same size as the original in Cinema.