Currently junaio supports md2 and obj formated 3D models. Below you can find some information about those formats if you are not familiar with them and why you should choose one over the other.
You can have a look at the specification of the metaio Unifeye mobile SDK for further information as well as a step-by-step guide about model creation and conversion with Blenderand 3DMax.
To use models within junaio, they can be encrypted. Please use the online Model Encrypter if you want to do so. Note: Only since junaio 3.1 (apilevel 3) unencrypted models are supported. Earlier versions need encrypted models.
Please keep in mind that only the model itself (md2 or obj) needs to be encrypted, no textures or material files.
For an easy example of including 3D Models in junaio, have a look at the Quickstarts.
Downloads
To help you off the ground, we will provide some examples and downloads to tools that you might find helpful.
Example Models
You can download one of the following models:
- MD2 Model
One of the Quickstarts using this: LBS Quickstart: Animated T-Rex - OBJ Model
One of the Quickstarts using this: LBS Quickstart: Location-based 3D Objects - Image Plane (for easy mapping of images with junaio GLUE)
(Image Plane unencrypted)
One of the Quickstarts using this: GLUE Quickstart: More than 1 Image - Movie Plane (for movie textures)
Please have a look at Media in Junaio for more Movie Planes
One of the Quickstarts using this: GLUE Quickstart: Movie Textures in junaio
Tools for md2s
There are several 3D Tools out there. Most of them will be able to support obj models, so here an overview of some helpful tools will be given, to view and create your md2 models.
md2 modelling, animating, texturing
- Blender (< 2.49) with this export script. Have a look at the Step-by-Step example
- Blender (2.5+) with this addon [Updated 2012-04-05] (install via File > User Preferences > Addons > Install Addon and don’t forget to activate it). Have a look at the Step-by-Step example
(Please mind that the rotation will be exported exactly as seen in Blender with this script, so there is no longer an offset rotation necessary) - 3D Max with QTip md2 exporter. Have a look at the Step-by-Step example
- Cinema 4D. Have a look at the How -To by Lennart
md2 viewing and small adjustments
- Fragmotion (Hint: Do not change the animation name of your md2, because this leads to errors due to random characters being added)
- Quake 2 Model Editor v0.90 - probably more powerful than we know ;)
- Misfit Model 3D - a free all around tool it is worthing looking into
- Low overall size due to network bandwidth
- Maximum amount of vertices: recommended 500 - 1000 polygons per model, on lower-end devices about 5-6k per scene, iPhone4 (and similar) about 10-12k per scene, tablets about 15-20k per scene - the lower the better
- Texture size (max 1024x1024 -> 256x256 recommended)
- The models need to be encrypted. Textures or material files are not encrypted.
- PNGs and JPEGs are supported as texture formats
Supported Formats
md2 Models
The MD2 file format supports animated models, whereas animations are calculated on per-vertex base (no bones) and are very efficient for mobile devices with weak processors. Please keep in mind, that MD2 models cannot have different colours but use textures. Therefore, textures have to be baked in case for instance "vertex colours" shall be shown.
One MD2 file can contain a set of different animations. Although the MD2 file format is a vertex-animation format, the file itself is very small in size compared to other vertex-animation supporting formats (like VRML for example). A Model with around 500 Vertices, 1000 Polygons and a total frame number of 200 with all animations will consume about 480 KB of storage on the mobile device. When this exemplary model is loaded into the renderer it will consume additionally 750 KB of system memory. Please consider that 200 frames in MD2 at 25frames per second can be actually about 600 frames when considering some steps ongoing in MD2 content preparation. Usually, MD2 models do not need to have more than 500 - 1000 vertices.
IMPORTANT: The junaio client caches models and textures based on the URL and always in packages of those two. So if changing the texture, you have to change the model url as well.
Also do not use the same texture URL for multiple objects or the same object URL with multiple Textures. This can cause errors on Android devices.
Update: Since junaio 3.1 (apilevel 3), you can also zip the unencrypted md2 model (also with it's texture if liked) and reference this in the mainresource. This is especially senseful, if you do not need to encrypt your model and work with bigger or a lot of models to reduce data to be downloaded.
See e.g. the Quickstart LBS Quickstart: Animated T-Rex.
obj Models
The OBJ file format is a model format for static meshes and supports multiple meshes with different textures and materials. Meshes can also have assigned different materials to their polygons.
Thereby, the OBJ format provides more flexibility with respect to textures than the MD2 format which can only use one texture. However, the OBJ format does not support animations. Thus, it is recommended to use the OBJ format for high quality static objects and rely on the MD2 format for animated models.
OBJ models have a model file with referenced material (mtl) and textures. To use OBJs within junaio, please zip all files belonging to the model and place the zipped archive in the mainresource.
Make sure to place only necessary files in your zip (*.obj_enc, *.mtl and textures specified in the *.mtl), as well as have them flat in the archive (no subfolders unless specified in the *.mtl for your textures).
See e.g. the Quickstart LBS Quickstart: Location-based 3D Objects.
Specifications Overview
Model Settings
When placing your models in junaio, you can apply animations as well as define models as occlusion models. Occlusions means, that those models will hide all renderings behind them. For example if you want to create a window with 3D space inside, you can put a cube defined as occulsion model around the window, so you can not see the 3D models looking from a side around the window.
Further interactions are possible, such as opening a website or starting a sound based on user interaction. Please have a look at User Interaction for more information.
Animations
Animations are only supported with md2 models. You will provide the animation identifier to junaio as defined in the md2 and set when the animation will be started.
Based on the following user interactions, events can be triggered:
idle: The animation specified starts when the model is done loading, no matter whether it is seen by the user or not.
click: The animation specified is started, once the user clicks the model.
hit: The animation specified is started, once the model has been hit. This is used in a Shooter scenario.
Further, you can set the animation length, where animation length 0 means looped.
See e.g. the Quickstart LBS Quickstart: Location-based 3D Objects.
Starting junaio 3.0, you can also control animations to react to onTargetDetect and once an animation has ended. Please keep in mind, that the animation name, the animationEnded tag should react to, is considered globally. So you can also trigger an animation once the animation of a different POI has ended.
onTargetDetect: start an animation once the reference image is detected
animationEnded: start an animation once another one ended
See e.g. the Quickstart GLUE Quickstart: 3D World Interactions
Occlusion
In order to assign a model as a occlusion model, please set a customization with node_id and type "occlusion" and value "true".
Important: Occlusion models may not be given any resource
Model Encrypter
For using models in junaio they need to be encrypted. This is a protection measurement for your content, since they are being transfered online and might be cached on the device.
Please use the Online Model Encrypter to encrypt your models


