The rendering engine integrated in ARGO native applications (SnapPress or White Label applications) allows to display, in augmented reality, static or animated 3D objects.
- The creation of 3D content 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 to export in OBJ or FBX format. Only OBJ/MTL & FBX 3D object extension are supported by the mobile engine.
- 3D objects 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. We recommend that 3D object not exceed 50 000 polygons and final ZIP package should not exceed 5 MB. You can download our example file. 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.
- Any 3D object must be of polygonal type (excluded nurbs type), and must contain only polygons with 3 or 4 sides.
Only one kind of effect can be activated inside your materials:
- Color (Base Color / Albedo)
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.
Please note that if you want to play with transparency, a PNG texture (linked to the color channel) with a transparent part is enough for our rendering 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.
- We do not recommend linking several materials to a 3D object. One material can be linked to several objects but an object should be linked only to one material.
- The textures (.jpg/.png/.gif) must be linked with a relative link to your 3D object through your 3D software. 3D objects with a simple internal color inside the shader could not be displayed correctly in augmented reality. If you want to transform your internal color to an external texture you can "bake" your 3D object.
- 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.
- In order to optimize the number and weight of the textures, two objects can refer to the same material/shader, but with coordinates of different textures.
- To reduce the final size of your textures, you can use image compressor websites such as https://tinyjpg.com/
- The rendering engine automatically creates a homogeneous ambient light within the 3D scene, so all 3D objects will be uniformly illuminated, regardless of the angle from which they are observed. If you want to bring a specific light reflection on one of your 3D objects, or on one of the parts of your 3D object, you will have to apply this "effect" directly inside the external texture linked to the object.
- The lights in the 3D scene are to be avoided (they won't be taken into account in this constant shading environment).
- 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 too. But you mustn't exceed 12 bones in hierarchy and 50 bones in total.
In this example, we have maximum 7 bones in hierarchy and 23 bones in total. The 3D object respects the bones animation constraints.
- Any other type of advanced animation will not be supported: deformer, blendmorphs, animated textures.
- The 3D engine supports object hierarchies. An object can therefore be animated relative to another animated object relatively.
Here, a classic hierarchy. Each object is animated relative to its parent
- In some case, it is possible to conform a complex animation (rebound of a cube on the ground with gravity for example). But the animation should be transformed into key animation images.
Rendering (from the ARGO editor or from your mobile application):
- 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 editor/mobile app.
- The 3D scene must be articulated around the point of origin (x: 0, y: 0, z: 0). In order to be displayed close to your marker in augmented reality.
- The cameras in the 3D scene are to be avoided (as the user represents the camera in augmented reality).
The 3D scene can only be exported as 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 good parameters.
The Maya export FBX panel, with the good parameters.
- FBX version shall be between 2012 and 2014.
- Your 3D file must be compressed in ZIP format, with the textures used inside the packaging (textures must be linked to your 3D file through a relative path, from the 3D modeling software). It's this ZIP Package who will be imported in the ARGO Editor, inside the 3D interaction.