Skip to main content

Importing Geometries

Supported Geometry Features

Here is the list of features of the ByMe rendering engine:

  • Vertices: A vertex should have three floating-point coordinates.
  • Triangles: A triangle can be defined by listing the vertices it uses (non-indexed geometry) or by providing the indices of the vertices creating the triangle (indexed geometry).
  • Indices: An index should be an unsigned int on 8, 16 or 32 bits. It is used for indexed geometry. We support triangle strip and triangle fan modes as well as regular mode.
  • UVs: An UV should be a couple of floats. We support mainly one channel for all the materials. The only exception is a second UV channel for lightmaps / ambient occlusion maps. If a second UV channel is present it will be used only for AO.
  • Normal: A normal should have three floating-point coordinates and a vector length of 1.

Other features described in some 3D formats are unsupported in the ByMe platform since they do not make sense in the platform's use-cases. These are most noticeably tangents, vertex colors, and weights / joints for animation.

The ByMe platform supports several input formats for geometries and materials. The exact list of features and parameters supported depends on the format. In general, if a feature is present in the engine and available in the format, then ByMe takes it into account.

Supported Input Workflows

The level of support provided by the ByMe platform is the intersection of three aspects:

  • Is the input format supported?
  • Is the authoring tool and exporter supported?
  • Is every geometric feature of the format supported?

Each is detailed hereafter.
The resulting level of support is of course the lowest common factor.

List of Input Formats

ExtensionFormatNotes
OBJ + MTLOBJ + MTLAny version
GLB / GLTFGLTF version 2.0As .glb or .gltf + .bin + textures. Self embedded GLTFs are not supported.
DAEDAE OpenCOLLADAv1.4.1
DAEOther DAE dialectsNot directly supported: requires conversion to a natively supported format

Supported Authoring Tools and Exporters

ToolExport format to ByMeSupport
Solidworks 2018Native interoperabilityValidated using 3DCloudByMe Solidworks Plug-in
3dsmax 2016 x64DAE (OpenCollada)Qualified using http://www.opencollada.org
3dsmax 2016 x64GLB / GLTF version 2.0Compatible using https://doc.babylonjs.com/resources/3dsmax_to_gltf
Blender 2.79bDAE (OpenCollada)Compatible
Blender 2.79bOBJ + MTLCompatible
Blender 2.79bGLB / GLTF version 2.0Compatible using https://doc.babylonjs.com/resources/blender_to_gltf
Maya 2019GLB / GLTF version 2.0Compatible using https://doc.babylonjs.com/resources/maya
SketchupNot supported
AutoCADNot supported

Supported Geometry Features by format

OBJ Format

Meshes and Primitives

FeaturesSupport
VertexFull
NormalsFull
Texture coordinatesFull
PointsNone
LinesNone
3 points facesFull
4 points facesPartial
>4 points facesNone
GroupsFull
Smoothing groupsNone
Free formsNone
Level of detailsIgnored
Color/Dissolve interpolationNone
Shadow castingIgnored
Ray tracingIgnored

Note:
In >4 points faces, concave polygons may be altered by the conversion process
In Shadow casting and Ray tracing, shadows and reflections are already computed by 3DVIA's planner. They cannot be forced by the models data.

GLTF / GLB Formats

Meshes and Primitives

FeaturesSupport
PointsNone
LinesNone
Line loopsNone
Line stripsNone
TrianglesFull
Triangle stripsFull
Triangle fansFull
PositionsFull
NormalsFull
TangentsNone
Vertex colorsNone
JointsNone
WeightsNone

Note:
In Texture coordinates, only TEXTCOORD_0 and TEXTCOORD_1 are taken into account.
All material textures are applied to the texture coordinates of index 0.
The texture coordinates of index 1 can additionally reference the occlusion map.

DAE (Open Collada)

Geometries

FeaturesSupport
Basic MeshesFull
Convex meshesNone
SplinesNone
Basic verticesFull
Control verticesNone
Material BindingPartial

Note:
In Material Binding, only "technique_common" tag is taken into account

Primitives

FeaturesSupport
LinesNone
LinestripsNone
TrianglesFull
TrifansNone
PolygonsPartial
PolylistFull
info

In Triangles, supported inputs are:

  • VERTEX
  • NORMAL
  • TEXTCOORD

In Polygons, concave polygons may be altered by the conversion process