3D Model Import
Importing 3D models is a great way to get existing content into Neos, whether it's for building environments, objects, avatars or simply for visualizing them. The provided importer is based on the opensource Assimp library and supports wide variety of 3D formats. Extra formats can be supported by installing 3rd party software on your computer.
It is also possible to write your own importer or extend the one provided with Neos using scripting. The job of the importer is to read the input format and translate it into Neos' native MeshX format for representing mesh data, extract any textures, create and setup appropriate materials, setup the object hierarchy and any other components needed to represent the data from the format.
Once the import is complete, the imported object isn't dependent on the source file anymore and exists as any other Neos object.
Supported file formats for 3D model import will show up in the file browser as light yellow.
While importing 3D models, a wizard dialog will ask a few details about the model, which will help it determine the best settings for setting up the imported mesh, texture and material data. For example 3D scans usually look better with Unlit/PBR Emissive material, otherwise the lighting is applied "twice", leading to a very muddy look.
External Texture Convention for PBR
Because there's no well supported standard for PBR materials in model files, Neos' model importer allows using a naming convention to automatically map texture files to the material based on the file naming.
To enable this option, go to the Advanced Settings in the import wizard and check the Import External Textures option.
This has currently following limitations:
- Works only with single-material models for now
- Each model must be in its own subfolder for now, there can't be multiple models with multiple albedo textures
- Files have to be named in style <myfilename>_<textype>.ext, case is irrelevant
- Valid Examples, all map to albedo:
Potato_albedo.png Potato_Albedo.png Potato_ALBEDO.png Alien Spaceship_albedo.tga _albedo.jpg albedo.jpg
PBS MAPPING TABLE <textype>:
Each property has multiple <textype> strings, only one should be used (preferably the first)
- Albedo: albedo, diffuse
- Normal: normal, bump
- Specular map: specular
- Metallic map: metallic, metalness
- Emission map: emission, emissive
- Ambient Occlusion: ao, occlusion, ambientocclusion
- Heightmap/displacement: height, heightmap, disp, displacement
Specular/Metallic map's alpha channel maps to smoothness (inverse roughness)
Currently Supported 3D formats
These are the 3D formats supported by the Assimp library. Level of support for individual formats might vary.
Common Interchange Formats
- Autodesk ( .fbx ) - Must be FBX 2011, 2012 or 2013, newer ones won't work
- Collada ( .dae )
- glTF ( .gltf, .glb )
- Blender 3D ( .blend )
- 3ds Max 3DS ( .3ds )
- 3ds Max ASE ( .ase )
- Wavefront Object ( .obj )
- Industry Foundation Classes (IFC/Step) ( .ifc )
- XGL ( .xgl,.zgl )
- Stanford Polygon Library ( .ply )
- AutoCAD DXF ( .dxf )
- LightWave ( .lwo )
- LightWave Scene ( .lws )
- Modo ( .lxo )
- Stereolithography ( .stl )
- DirectX X ( .x )
- AC3D ( .ac )
- Milkshape 3D ( .ms3d )
- TrueSpace ( .cob,.scn )
Motion Capture Formats
- Biovision BVH ( .bvh )
- CharacterStudio Motion ( .csm )
Graphics Engine Formats
- Ogre XML ( .xml )
- Irrlicht Mesh ( .irrmesh )
- Irrlicht Scene ( .irr )
Game File Formats
- Quake I ( .mdl )
- Quake II ( .md2 )
- Quake III Mesh ( .md3 )
- Quake III Map/BSP ( .pk3 )
- Return to Castle Wolfenstein ( .mdc )
- Doom 3 ( .md5* )
- Valve Model ( .smd,.vta )
- Open Game Engine Exchange ( .ogex )
- Unreal ( .3d )
Other File Formats
- BlitzBasic 3D ( .b3d )
- Quick3D ( .q3d,.q3s )
- Neutral File Format ( .nff )
- Sense8 WorldToolKit ( .nff )
- Object File Format ( .off )
- PovRAY Raw ( .raw )
- Terragen Terrain ( .ter )
- 3D GameStudio (3DGS) ( .mdl )
- 3D GameStudio (3DGS) Terrain ( .hmp )
- Izware Nendo ( .ndo )
Installing Blender will improve the support for importing .blend files, as Neos will use Blender to export the file into FBX in the background, rather than use Assimp's limited support for the file format. For this to work Neos needs to be able to find the Blender installation you are using.
By default Neos will search the following directories to try and find a Blender installation:
C:\Program Files (x86)
C:\Program Files (x86)\Steam\steamapps\common\Blender
If that doesn't work you can also install Blender to the Tools folder of your Neos Installation. E.g.
C:\Program Files (x86)\Steam\steamapps\common\NeosVR\Tools\Blender.
If you have another common location that you know Blender installs to please open a GitHub Issue to suggest its addition.
3rd Party Software
FreeCAD Installing the FreeCAD software on your computer into the default directory will enable support for additional formats, particularly various CAD Files.
- STEP Files (ISO 10303-21) ( .stp, .step )
- Open CAD format ( .oca, .gcad )
- Abaqus (.inp )
- CAD data NBSIR 80-1978 ( .iges, .igs )
- BREP Files ( .brep, .brp )
- Inventor ( .iv )