- Qt 3D Studio
- Best Practices
- 3D Assets
- Qt 3D Studio 2.8 Manual

# 3D Assets

In Studio, you can import 3D models and scenes created in 3D modeling tools. The following file formats are supported:

### COLLADA (.dae)

Depending on the 3D modeling tool, you might need to install a specific COLLADA export plugin to be able to export in this format.

### Autodesk FBX (.fbx)

- Studio supports either ASCII or Binary FBX files. ASCII files are preferred for any bug reports.
- Studio supports FBX version 2013 and later.

## 3D Content Overview

In this section, you will find an overview of creating and exporting 3D assets to use in Qt 3D Studio. For more detailed information, see the section for the specific 3D modeling tool that you are using.

### Geometry

- Use Triangles - Qt 3D Studio only supports geometry exported as triangles. Many 3D modeling tools provide an option to triangulate meshes during export, while you will have to do it manually before the export with some tools.
- Handling Pivot Points - DCC packages all handle pivot points differently. In Qt 3D Studio there is only one pivot per object and it is used as the origin for position, scale, and rotation operations. In your DCC package, feel free to adjust the position of a 3D model's pivot as needed. However, extreme edits to pivots in 3D modeling tools can cause problems upon import into Studio, especially if animated. This difference is often manifested as a difference in the position or orientation of an object. As an artist, you can prevent these kinds of problems by only making simple edits to your pivot points. Keep your pivot points to the default (world) alignment, don't scale them, and make sure that if you have multiple pivots (Maya) that they are all at the same location in space.
- Transformation - As you would expect you can import full 3D transform information including position, rotation, scale, and pivot. Studio can import left and right-handed coordinate systems, Y-up or Z-up and rotations applied in any order. The principal limitation in this area is pivot points. As discussed above, only simple edits to pivot points are supported.

  Most DCC tools allow artists to freeze transformations and we highly recommend performing this operation before importing mesh data into Studio. This operation ensures that the mesh coming into Studio has clean transformation data and no arbitrary transformation values which can be confusing or an impediment to your work.

  Note: After freezing transforms, you may have to reposition the pivot point in some DCC tools.

### Animations

Animations can be brought into Studio using COLLADA or FBX. Animations are supported on any imported attribute. Position, rotation, scale, and pivot can all be animated. An example of our advanced support for animations would be a hierarchy of items, rotated simultaneously on arbitrary axes in arbitrary axis order. Studio also supports importing bezier tangent value tweaked into animations.

- Time-based Animations - By default, in many 3D modeling tools, when you are creating keyframes you are associating them with certain frame numbers. This is great in the film industry where frame rates are constant, but this technique necessarily has problems in applications where the frame rate may or may not be rock solid. Our solution to this problem is to express the locations of keyframes in time values instead of frame numbers. That way, if you say "this logo animation will play for 3 seconds", we can guarantee that it will play for 3 seconds. If you express it in frames, "this logo animation will play for 180 frames", it may play for 3 seconds if you're getting 60 fps, but if you drop to 30 fps the animation is going to go much slower.

  Luckily, accounting for this is relatively simple. Many 3D modeling tools default to a setting of 24 frames per second, so your keyframes will be translated at that ratio. If you want a keyframe at one second, put it on frame 24. Two seconds? Frame 48, etc. Usually, configurable frame rates are offered, and the frame rate setting should be respected upon import. It's also worthwhile to note that i.e. Maya, by default, starts at frame 1. If you have a keyframe at frame one, the time for that keyframe will be 1/24 or 0.041 seconds. It may be a good idea to go into your Maya animation settings and start your animations at frame 0, or 0/24 = 0 seconds.

- Different Animation Systems - 3D modeling tools offer highly complex and specialized animation systems. We recommend using Studio's animation capabilities whenever practical. This helps keep mesh information on import clean and reduces conflicts between imported mesh animation and Studio's animation upon refreshing.

  The animation system in Studio is a full implementation of bezier keys, and the full complement of bezier animation that you can create with 3D modeling tools and export will be represented in Studio. The more extreme differences between the various animation systems are mitigated by the limitations imposed by the COLLADA and FBX formats.

- Baking Animations - You need to bake all animations before exporting.

### Materials

For materials, material slot IDs and UV layouts will be imported into Studio. You will need to UV unwrap and assign material slot IDs to your meshes.

### Lights and Cameras

- Lights - Lights can be imported to Studio. Position, rotation, scale, brightness, light color, and the cast shadows property will be imported.
- Cameras - Perspective and orthographic cameras can be imported to Studio. Position, rotation and scale properties will be imported as well as start and end clipping. For perspective cameras, field of view will also be imported.

### Other

- Axis Conversion - Qt 3D Studio uses a Y-up coordinate system, ensure that `Up Axis` is set to `Y`.
- Hierarchy - Studio supports importing hierarchical information into Scene Graph information. Hierarchies of arbitrary depth are supported, including grouped nodes. Hierarchical transforms are applied as expected.

## Exporting from Different Tools

Tool
Maya
Blender
3D Studio Max
Modo