Description
Intuiface natively supports 3D models. With this support, users are able to rotate and zoom 3D models using their fingers. In addition, through the use of triggers and actions, you can cause 3D models to rotate and zoom to specific orientations and levels of magnification. Action-initiated rotation and zoom can create animation with an engaging effect.
To add a 3D model to your experience, either drag it into the active scene from Windows Explorer or import it into the Content Library.
Note: Under the covers, Intuiface uses the third-party, open-source ThreeJS 3D engine. In our experience, the quality of format support can vary widely within ThreeJS. Try any of the formats listed below but as import quality will vary, be alert to differences and let us know what you see. In addition, test your 3D models in Player on your target devices early and often to ensure you are getting maximum performance.
Prepping for use of 3D models on Windows PCs
Composer (and Player for Windows) enables you to configure how aggressively you'd like it to address performance in the 3D Model Asset. Read the article about Composer and Player settings for details.
In addition, make sure your Windows PC is always updated to the latest video drivers for your graphics card to get the best performance out of the 3D Model asset.
Supported formats
The following list applies to all platforms supported by Intuiface Composer and Player.
All non-Windows Player-supported platforms
You must use
- glTF (.gltf & .glb)
Using other formats? Try Microsoft 3D Builder, which can open multiple 3D formats and save them as glTF.
Player on Windows
Recommended format
- glTF (.gltf & .glb)
Using other formats? Try Microsoft 3D Builder, which can open multiple 3D formats and save them as glTF.
Also supported and fully tested
- Collada ( .dae )
- Wavefront ( .obj & .mtl )
- 3ds Max ( .3ds )
Supported and tested
- Microsoft XAML 3D ( .xaml )
- Stereolithography ( .stl )
- Babylon ( .bablyon )
Supported but not tested
If you intend to use such models, let us know how it goes.
- Standard Polygon Library ( .ply )
- Filmbox ( .fbx )
- Biovision ( .bvh )
- Quake II ( .md2 )
- Assimp JSON ( .json )
- OpenCTM ( .ctm )
- Visualization ToolKit ( .vtk )
- 3D Manufacturing ( .3mf )
- Additive Manufacturing ( .amf )
- Keyhole Markup Language ( .kmz )
- MikuMikuDance (game) ( .mmd )
- Nearly raw raster data ( .nrrd )
- Point Cloud Library ( .pcd )
- Packed Raw WebGL Model ( .prwm )
- Open-source format for Sea3D game engine ( .sea3d )
- 3D Data Compression ( .draco )
Unsupported formats
This list is not exhaustive.
- 3ds Max ( .ase / .max )
- tga"tf" is a property of material file to specify the transmission filter. It is not managed by Three.js (the 3D rendering engine used by IntuiFace)
- Blender ( .blend )
- PDF including 3D Models ( .pdf )
- Solidworks ( .smg )
- Universal 3D ( .u3d )
- Ogre XML ( .xml )
- Lightwave ( .lwo / .lws )
- Cinema 4D ( .c4d )
- AutoCAD DXF ( .dxf )
- TrueSpace ( .scn )
Best practices for textures
- Texture files located in the root folder of the 3D object will always be loaded.
- For experience portability purposes, avoid using absolute paths (e.g. C:\...) to reference textures. That said, textures can be referenced within the material file (*.mtl) using a relative file path (i.e. relative to the .mtl file).
- Textures referenced in the material file (*.mtl) with a relative path must be located in the following folder of the Intuiface project:
[Experience Name]/Files/Object3D/[My3DModelFolder]/[TextureFolder]
.- [My3DModelFolder] is the folder Intuiface created when you added your 3D Model to the experience. It contains your .mtl file
- [TextureFolder] is a folder you create, referenced with a relative path in your .mtl file. It is in here that you put your texture files.
- The supported file formats for textures are .jpg, .png, .bmp and .tga.
- Models with tga textures having "tf" property in the material file are not supported.
Lighting Options
Player on Windows
Intuiface supports four lighting options for 3D models. These options and their configuration are accessed through the Properties panel for the 3D model in Composer. For a description, see the Appearance category in the Properties section below.
Player on any platform other than Windows
Lighting cannot be controlled by Intuiface. Lighting decisions must be preconfigured for 3D models prior to importing them into Composer.
Properties, Triggers & Actions
Properties
See our list of common properties for details about properties shared by all asset types.
Appearance
Camera
- X rotation: the initial camera angle around the X-axis.
- Y rotation: the initial camera angle around the Y-axis.
- Auto-rotation: automatically rotates the camera around the Y-axis. If checked, a new property becomes available:
- Auto-rotation speed: speed of the automatic rotation in degrees per second.
- Zoom level: the initial zoom percentage for the 3D model
Light Configuration
(only for Player on Windows)
- Hemisphere: Sets three light sources:
- Ambient light intensity: intensity, between 0 and 1, of the ambient light of the scene
- Ambient light color: scene ambient light color
- Hemisphere light intensity: intensity, between 0 and 1, of the hemispherical light of the scene
- Sky light color: color of the light coming from the sky of the scene
- Ground light color: color of the light coming from the ground of the stage
- Directional light intensity: intensity, between 0 and 1, of the light following the camera
- Directional light color: color of the light following the camera
- Three Points: Sets three light sources:
- Key light intensity: intensity, between 0 and 1, of the light following the camera
- Key light color: color of the light following the camera
- Fill light intensity: intensity, between 0 and 1, of the light on the side of the model
- Fill light color: color of the light on the side of the model
- Back light intensity: intensity, between 0 and 1, of the light behind the model
- Back light color: color of the light on the back of the model
- Key light intensity: intensity, between 0 and 1, of the light following the camera
- Camera: Sets a single light source
- Camera light intensity: intensity, between 0 and 1, of the light following the camera
- Camera light color: color of the light following the camera
- Model: Sets the light sources defined in the 3D model
Model Orientation
- Use default model orientation
- If deselected, you are presented with options for setting X, Y, and Z offsets from the default model orientation
Behavior
- Interaction Mode: defines the interaction mode when the user touches the 3D model. It can be:
- None: no interaction is allowed.
- Orbit: camera will move in all three X/Y/Z axes but constraints can be applied to the X/Y axes. For example, use Orbit to prevent users from turning a model upside down.
- Trackball: camera will move in all three X/Y/Z axes without constraint
- Pan: camera will pan across the model; the model will not move or rotate.
- Min X Rotation: defines the minimum angle for the camera angle around the X-axis.
- Max X Rotation: defines the maximum angle for the camera angle around the X-axis.
- Min Y Rotation: defines the minimum angle for the camera angle around the Y-axis.
- Max Y Rotation: defines the maximum angle for the camera angle around the Y-axis.
- Soft move speed: defines the soft move speed when the model is manipulated.
Zoom
- Allow zoom: lets users zoom the 3D model.
- Min zoom: the minimum zoom percentage for the 3D model.
- Max zoom: the maximum zoom percentage for the 3D model.
Triggers
3D Model specific triggers:
- Auto-rotation is changed: Raised when the auto-rotation property is changed. This trigger raises the following read-only parameters:
- Auto-rotate
- Auto-rotate speed
- Interaction mode is changed: Raised when the Interaction mode property is changed. This trigger raises the following read-only parameters:
- New interaction mode
- Old interaction mode
- Light configuration is changed: Raised with the light configuration is changed. This trigger raises the following read-only parameters:
- New light configuration
- Old light configuration
- Viewport is changed: Raised when the viewport has been changed. This trigger raises the following read-only parameters:
- X: camera angle around the X-axis.
- Y: camera angle around the Y-axis.
- Zoom: zoom percentage
- Viewport is reset: Raised when the viewport has been reset.
Actions
3D Model specific actions:
Camera
- Reset camera: Resets the camera to its original position.
- Set auto-rotation: Toggles auto-rotation mode and speed.
- Set camera: Specifies camera position using X/Y rotation angles and a zoom factor.
- Set interactive mode: Sets the interaction mode.
Light configuration
- Set camera light: Changes the light configuration setting to "Camera"
- Set hemisphere light: Changes the light configuration setting to "Hemisphere"
- Set model light: Changes the light configuration setting to "Model"
- Set three points light: Changes the light configuration setting to "Three Points"
Model
- Change 3D Model: Replace the current content with new content located at a specified URI.
- Set model rotation: Displaces the orientation of the model by specified offsets in relation to the default model orientation.
Limitations
- Some *.3ds models might be rendered with separated parts. In other words, models may present components that are rendered apart from each other.
- Limit 3D models in collections to 10k facets. 3D models consume a lot of system resources so a collection filled with very large 3D models could severely impact PC performance.
- The Container property must be set to Static or Pinnable to enable users to manipulate the 3D model.
- You can zoom and change the view angle / direction in 3D models but you cannot change the camera position to perform a virtual visit. For virtual visits, we recommend the use of videos.
- In addition to the use of 3D models added to the Content Library, the 3D Model asset can reference a 3D model via an absolute file path. Reference via URL, on the other hand, will not work.
- Textures referenced with a URL in the material file (*.mtl) will not work. See textures best practices.
- Some models could not appear to render correctly because of the texture occlusion applied to the models. The 3D engine we use, Three.js, does not render texture occlusions properly. As a work around, you will need to remove the texture occlusion for the model.
You can see how a 3D model will render in Intuiface by testing it here: https://modelviewer.dev/editor/
Comments
0 comments
Article is closed for comments.