Studio: Basic Objects Palette

The Basic Objects Palette provides a mechanism for creating objects unique to a presentation, not represented by a file on disk in your Project Palette.

Using the Objects

To use an object in your presentation, drag it from the Basic Objects palette into either the scene view or Timeline palette. A corresponding element will be created.

Tip: You often want to create new objects on the Master Slide. Hold down the *Alt key when dropping the object to have it created on the Master Slide for you.

Model Primitives

The Rectangle, Sphere, Cube, Cylinder, and Cone primitives provide a way to quickly add 3D models to your scene without a 3D modeling program. Adding one of these files does not add content to your models folder, but instead references an internal model.

These primitives are created by the installer in a res\textbackslash{}primitives\textbackslash{}*.mesh subfolder. Note that if you modify one of these files, you must also the corresponding file installed with the Viewer application on your target application. Referencing a primitive does not include the mesh definition in your project. Note also that dragging an image into the scene from the project palette uses the Rectangle primitive to display the image; change this primitive only with the utmost caution.


Components are somewhat like mini-scenes. Although they are 3D geometry (not a 2D composition of rendered layers), they have their own slides and timelines.

You may alternatively create a new component in your scene by right-clicking on an element in the Timeline palette and choosing Make Component from the context menu. This will wrap the element inside a new component, allowing you to control its visual state and animation separate from the rest of its siblings.


A group is an empty transform element. Attaching models to the group (placing them as children of the group in the Timeline palette) allows you to move/rotate/scale/hide the group and have this affect all items within it. Note that because groups affect the transformation of their children they do have an effect on runtime speed. Though the performance impact is very slight, you should avoid using groups solely for conceptual organization.

Note that there is no way (currently) to group multiple existing items other than to create a new group and a drag the items in one at a time. We recognize the surprising nature of this and hope to provide more obvious mechanisms (e.g.~multiple select and ctrl-g) it in the future.


A text element is a flat plane of text placed in 3D space. It is basically a transparent image displayed on a rectangle, where the image and rectangle size are dynamically updated whenever the text to be displayed is changed.

Note that if you drag out a text object with no existing fonts in your project, Studio is forced to add a font file ("TitilliumWeb") to your project to support the display of text.

Cameras and Lights

Each layer has exactly one active camera that is used to render the elements inside the layer. If you place multiple cameras inside a layer, the first camera found that is 'active' (eyeballed on and timebar present) is used to render the layer. You could thus use different non-master cameras on different slides to switch between various views, though it is usually easier to just unlink the properties of a single camera on the master slide.

Each layer may have zero, one, or two lights on it. Lights are used to illuminate the models in your scene so that they can be seen. If you have zero lights you will need to set the Lighting property for your materials to None in order to see your models.


An alias is an live copy of another node in the scene graph, with its own 3D transformation. If you create an alias and set its Reference property to a model, any changes to the material of that model will be represented in the alias. However, the position, scale, rotation, etc. of the alias are its own. If you change the scale the original model, the alias will not update.

Aliases are only active during authoring time. At runtime they become a full copy of the referenced object and all its descendants. This allows you to, for example, create a single template component and with 10 aliases of it controlled by script. While each alias will look identical in Studio during creation, Lua script or state machines can customize each instance based on data or application state.

Available under certain Qt licenses.
Find out more.