1. Home
  2. GO
  3. Interactions
  4. 3D (FBX, OBJ)

3D (FBX, OBJ)

The BEAR augmented reality engine allows real-time display of static or animated 3D objects. This 3D engine has a constant shading display, so the 3D objects are displayed in a uniform light from any angle. It supports the use of jpg-like image textures but also png and gif, thus allowing the display of partially transparent objects.

All elements of the animation (model, texture, etc.) should be packed into a single ZIP file. 3D objects and animations are downloaded completely before showing in the app (unlike videos that are streamed) so it is essential to upload files in the platform that are not too large and will be downloaded by the mobile app fast enough to ensure a good user experience.

An animation weighing 20MB may indeed take a long time to appear in the app if the internet connection is not good enough, and discourage mobile users from watching the animation.

Tools to use for creating 3D content

The creation of 3D content for rendering into the BEAR 3D engine shall be done through third-party software. Many solutions exist, such as the open-source software Blender, cinema4D, 3DSmax, etc. The 3D software used must be a polygonal modeler, and allow the export to the FBX format.

The active view display setting should be set to ‘constant shading’ in order to work with a preview that will match the display in the BEAR 3D engine. In addition, the creation of textures will be done through an external image editor such as Photoshop, allowing creation of JPG, PNG and GIF files.

Here on cinema4D, selection of constant shading type display

General Constraints

  • Any 3D object must be of polygonal type (excluded nurbs type), and must contain only polygons with 3 or 4 sides.

  • Any 3D object must have UVW type mapping coordinates. Any other type of mapping will not be taken into account (planar, cubic, cylindrical, spherical …).

  • Each 3D object must have an associated texture. Single objects with a single color will not be displayed correctly (gray).

  • Only the ‘color’ base channel of the material of an object can contain the desired texture. Other channels will be ignored (no current support for reflection channels, bump, specular reflections, etc.).

Here in cinema4D, a mesh object made of 3-sided polygons. The related material has only one color channel comprising a texture. On the right, the mesh is unfolded according to the UVW coordinates embedded in the object, and the related texture.

  • The textures are only displayed on the side of the normals of a 3D object. Thus, in the case of a plane that is desired to be visible on both sides, it will be necessary to create for example 2 planes back to back for a coherent display.

  • Textures must be square, with a maximum resolution of 2048 x 2048 px. Links to the textures must be relative and not absolute.

  • For a display at the center of the Bear marker, the 3D scene must be articulated around the point of origin (x: 0, y: 0, z: 0). The cameras and lights are to be avoided (the user represents the camera in augmented reality, and the lights are useless in a constant shading environment).

  • In general, it is strongly advised to optimize as much as possible the number of polygons of a scene, as well as the compression of images acting as textures. The load times in the mobile application will then be significantly reduced.

Please note that for the use of PNG textures with transparency, it is not necessary to have either an alpha or transparency channel activity: the color channel with a png texture is enough for transparent display in BEAR 3D engine.

In case you want to use several objects with transparency into the same 3D scene, you will have to follow the following hierarchy : objects at the foreground of your scene should be positioned first in your objects list (e.g. at the bottom of list in cinema4D).

Plan 1 at the very bottom of list, then Plan 2, and so on so forth.

As an alternative, you may also merge all your objects into a single one.

Animation-specific constraints

  • A 3D object can be animated with the position, rotation and scale parameters, and only from keyframes.

  • A 3D object can be animated with the bones. You mustn’t exceed 12 bones in hierarchy and 50 bones in total.

  • Any other type of animation will not be supported: deformer, blendmorphs, textures.

  • The BEAR 3D engine supports object hierarchies. An object can therefore be animated relative to another animated object relatively.

Here in cinema4D, a classic hierarchy. Each object is animated relative to its parent

  • In case of scale animation, all objects in the scene must have x / y / z scale coordinates equal to 1/1/1 at the first frame of the animation.

Creating compatible export files

Exporting the created 3D scene can only be done via the FBX or OBJ format. The export settings must be:

  • General: ‘light / camera / spline’ disabled.

  • Animation: ‘Track’ activated in case of animation, other settings disabled.

  • Added: ‘textures and materials’ enabled, ‘textures included’ disabled

The cinema4D export FBX panel, with the parameters required for use in BEAR 3D engine.

The Maya export FBX panel, with the parameters required for use in BEAR 3D engine.

  • The created FBX file must be compressed in ZIP format, with the textures used at the same level (in the root of the FBX, without any additional files).

  • A single final ZIP file is created, including all data from the 3D scene. This file will be uploaded for rendering in the BEAR 3D engine.

  • FBX version shall be between 2012 and 2014.

  • We recommend that FBX file should not exceed 50 000 polygons and ZIP file should not exceed 4 MB, you can also download our example file.

Case Studies

Here are some examples and recommendations to investigate if you want to improve the quality of your 3D content:

  • Disappearance of an object during an animation: 3D object may disappear when assigning an animation key with coordinates of scale x / y / z equal to 0/0/0.

  • In order to simulate shadows and lights on a 3D object, it may be useful to conform its texture (baking textures) by assigning it to ambient occlusion or global illumination for example.

  • In the same way it is possible to conform a dynamic animation (rebound of a cube on the ground with gravity for example). The animation will be transformed into key animation images and recognized in the 3D Bear engine.

  • Playing on scale animations can bring dynamism to the appearance of an object for example and thus simulate a rebound effect.

  • It is possible to simulate a shadow of an object on the ground by using a horizontal plane and a transparent png texture.

  • In order to optimize the number and weight of the textures, two objects can refer to the same material, but with coordinates of different textures.

Was this article helpful to you? Yes No

How can we help?