3D Model Import

From NeosVR Wiki
Jump to: navigation, search

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.

Import Wizard

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 wary.

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 )

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 )

Blender Installing the Blender software 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.