3D Objects
3D Objects

3D Objects

A pink, 3D heart shown in the Simulator and Viewport.

You can insert your own 3D objects into projects and use Spark AR Studio to edit them, add interactivity, logic and animation.

If you don't have your own 3D objects ready you can choose from a huge range in the AR Library. Check the supported file formats first.

3D objects can include bones and joints, which you can use the Patch Editor or scripting to animate. They can also have materials, textures and animations baked into the file.

Adding 3D objects to your project

The quickest way to add a 3D object is to simply drag the file from your desktop, directly into either:

  • The Scene panel.
  • The Assets panel.
  • The Viewport.

You can also:

  1. Click Add Object at the bottom of the Scene panel.
  2. Select 3D Object.
  3. Choose the object you want from your computer.

Once you've added a 3D Object it will be listed in the Scene panel and the Assets panel:

  • The version of the object in the Assets panel is the Main object.
  • The version of the object in the Scene panel is an Instance of the Main object. It'll be automatically added to the Scene panel if you use the Add Object button. You'll need to add it yourself if you imported the 3D object into the Assets panel.

Depending on the object you've added, the Instance will have children listed underneath it. For example, bones, null objects and mesh. If you select one of these objects in the Scene panel, it will be highlighted in the Viewport:

A screenshot showing a part of the 3D model has been selected, and is highlighted in the Viewport and Scene panel.

In the project above:

  • origami_diamond_box is the 3D Object (Instance).
  • The 3 objects underneath it - diamond_box, diamondA and diamondB - are mesh. This is where you'd apply materials to change the appearance of your object.
  • In the Assets panel, origami_diamond_box is the 3D Object (Main).

Changing position, scale and rotation

Use the manipulators to change these properties. Or, select the object in the Scene panel and edit its Position, Scale and Rotation values in the Inspector.

Tracking 3D objects

You can make 3D objects respond to other elements in your scene.

To do this, the 3D object should be a child of the element it should respond to. For example:

  • To position objects on the face, like glasses or crowns, a 3D object should be a child of a face tracker
  • To make objects appear when the camera detects a real surface like a table, the object should be the child of a plane tracker. Enable real scale in the plane tracker inspector to make sure the object is sized for the real world.

To make an object the child of another, simply drag it onto the object in the Scene panel.

Editing 3D objects

To edit the appearance of a 3D object, apply a material to its mesh.

Properties - 3D Object (Instance)


Clear this box to stop the instance and any children from being rendered in the scene.


The main object, from which the instance was created.


Edit the position, scale and rotation of the instance in your scene. If your 3D object is animated, these properties will be controlled by the animation.


Insert combinations of patches into the Patch Editor, like tap gestures.


If your 3D object has animations, they'll be listed here. Clicking the circle next to the animation will open the Patch Editor and create an animation patch. Find out more about creating animated effects using the Patch Editor.

Enable For

Choose the camera or cameras on a mobile device in which you want to render the instance and its children.

Properties - Mesh


clear this box to stop the mesh and any material from being rendered in the scene.


The part of the object to which the mesh is bound.


Edit the position, scale and rotation of the mesh.


Choose the material you want to apply to the mesh or create a new one.


Insert combinations of patches into the Patch Editor.

Enable For

Choose the camera or cameras on a mobile device in which you want to render the mesh.

Properties - Animation


The object (Main) that contains the animation.


Length of the animation in seconds.


The object that the animation targets.

Spark AR Studio only supports position, scale and rotation properties in imported animations. The Inspector will show any unsupported components.

Properties - Skeleton

You can adjust the Layer, Position, Scale and Rotation of a skeleton in the Inspector.

Properties - Joints

You can adjust the Layer, Position, Scale and Rotation of a joint in the Inspector.

Click the arrows next to the position, scale and rotation properties to create patches representing them in the Patch Editor. You can then use patches to animate the joints.

Properties - 3D Object (Main)

The 3D Object (Main) will be in the Assets panel. It's the original asset file you've imported into Spark AR Studio.


The name of the object file.

File Size

The size of the object file.


You'll see any mesh associated with the object. The mesh are where you apply materials and textures.


You'll see any animations included in the object.

Optimizing 3D Objects

Find out more about reducing the impact 3D objects have on the performance of your effect.

Optimizing 3D objects with Spark AR Toolkit

If you create 3D objects with Blender, use Spark AR Toolkit to optimize your objects before exporting them to Spark AR Studio.

Reducing triangle count

3D objects contain triangles. The number of triangles in a 3D object, or 'triangle count', is a useful way to tell how big or small an object is. This count has the most impact on the size and performance of 3D models, so to achieve a performant effect it’s a good idea to keep the triangle count as low as possible.

We recommend keeping the maximum number triangles per object below 50,000. Keep the total triangle count for all objects in an effect below 150,000.

You can check the triangle count in your 3D modeling software.

You’ll also hear some artists refer to the polygon count. Because polygons are made up of triangles, it’s best to focus on the triangle count for the most detailed and accurate view of the size of your mesh.

Generally, it's better for performance to have a small number of objects in your effect with a higher number or triangles and vertices, than many objects with a slightly lower count.

Where possible, you should also:

  • Mirror geometry.
  • Keep polygons in triangles and quads.
  • Keep in mind that if you've combined 3D objects with other Spark AR Studio capabilities, your effect might still have a slow frame rate, even after you've reduced the polygon count.

Using blend shapes

Avoid using complex blend shapes where possible.

Optimizing 3D objects with animations

To reduce the impact of 3D objects with animations on your effect, use the least amount of bones possible.

Optimizing animations with Blender

When animated 3D objects are exported directly from Maya to Spark AR Studio, they'll generally have a scene hierarchy made up of lots of different objects. This can have a negative impact on FPS. There is a way to reduce the number of objects contained within animated 3D objects, and improve FPS as a result.

You can do this by taking FBX files created in Maya, and importing them into Blender. When you export the same object from Blender and use it in Spark AR Studio, there will be fewer scene objects in your project.

Using this technique will improve performance on Android devices of all types. On low end Android devices, FPS can get 2 or even 3 times better.

Performance on iPhones will also improve, it's just not as obvious because high end iPhones generally cap the FPS limit to 30 on most effects.

To check if an animated 3D object in your project could benefit from this technique:

  1. Expand the object in the Scene panel.
  2. Check whether you see any objects labeled RotationPivot, RotationPivotInverse, ScalingPivot, or ScalingPivotInverse, in any combination.

If you see any of those objects, you should try importing the object into Blender:

  1. Open the FBX file in Blender.
  2. Save the object.
  3. Export the object from Blender.
  4. Import the object into your Spark AR Studio project.
Was this article helpful?