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
Extension | Format | Notes |
---|---|---|
OBJ + MTL | OBJ + MTL | Any version |
GLB / GLTF | GLTF version 2.0 | As .glb or .gltf + .bin + textures. Self embedded GLTFs are not supported. |
DAE | DAE OpenCOLLADA | v1.4.1 |
DAE | Other DAE dialects | Not directly supported: requires conversion to a natively supported format |
Supported Authoring Tools and Exporters
Tool | Export format to ByMe | Support |
---|---|---|
Solidworks 2018 | Native interoperability | Validated using 3DCloudByMe Solidworks Plug-in |
3dsmax 2016 x64 | DAE (OpenCollada) | Qualified using http://www.opencollada.org |
3dsmax 2016 x64 | GLB / GLTF version 2.0 | Compatible using https://doc.babylonjs.com/resources/3dsmax_to_gltf |
Blender 2.79b | DAE (OpenCollada) | Compatible |
Blender 2.79b | OBJ + MTL | Compatible |
Blender 2.79b | GLB / GLTF version 2.0 | Compatible using https://doc.babylonjs.com/resources/blender_to_gltf |
Maya 2019 | GLB / GLTF version 2.0 | Compatible using https://doc.babylonjs.com/resources/maya |
Sketchup | – | Not supported |
AutoCAD | – | Not supported |
Supported Geometry Features by format
OBJ Format
Meshes and Primitives
Features | Support |
---|---|
Vertex | Full |
Normals | Full |
Texture coordinates | Full |
Points | None |
Lines | None |
3 points faces | Full |
4 points faces | Partial |
>4 points faces | None |
Groups | Full |
Smoothing groups | None |
Free forms | None |
Level of details | Ignored |
Color/Dissolve interpolation | None |
Shadow casting | Ignored |
Ray tracing | Ignored |
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
Features | Support |
---|---|
Points | None |
Lines | None |
Line loops | None |
Line strips | None |
Triangles | Full |
Triangle strips | Full |
Triangle fans | Full |
Positions | Full |
Normals | Full |
Tangents | None |
Vertex colors | None |
Joints | None |
Weights | None |
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
Features | Support |
---|---|
Basic Meshes | Full |
Convex meshes | None |
Splines | None |
Basic vertices | Full |
Control vertices | None |
Material Binding | Partial |
Note:
In Material Binding, only "technique_common" tag is taken into account
Primitives
Features | Support |
---|---|
Lines | None |
Linestrips | None |
Triangles | Full |
Trifans | None |
Polygons | Partial |
Polylist | Full |
Note:
In Triangles, supported inputs are:
- VERTEX
- NORMAL
- TEXTCOORD
In Polygons, concave polygons may be altered by the conversion process