Learn Spark AR Studio

Everything you need to know to create an interactive augmented reality experience.

Clear
Back

3D Objects

You can insert your own 3D objects into a project, and use Spark AR Studio to change their properties and add interactivity, logic and animation.

If you don't have your own 3D objects ready, you can choose from a huge range of ready made 3D objects 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.

Learn about:

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 Master object.
  • The version of the object in the Scene panel is an Instance of the Master object. It'll be automatically added to the Scene tab if you use the Insert 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:



In the project above:

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

In the Assets panel, origami_diamond_box is the 3D Object (Master).

Changing the position, scale and rotation of 3D objects

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.

Making 3D objects respond to scene understanding

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 if 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.

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

Changing the appearance of 3D objects

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

Properties - 3D Object (Instance)

Visible

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

Source

The master object, from which the instance was created.

Transformation

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.

Actions

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

Animations

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

Visible

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

Source

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

Transformations

Edit the position, scale and rotation of the mesh.

Material

Choose the material you want to apply to the mesh or create a new one. Find out more about using textures, materials and shaders.

Actions

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

Enable For

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

Properties - Animation

Source

The object (Master) that contains the animation.

Length

Length of the animation in seconds.

Target

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 panel.

Properties - Joints

You can adjust the layer, position, scale and rotation of a Joint in the Inspector panel.

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 (Master)

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

File

The name of the object file.

File Size

The size of the object file.

Object

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

Animation

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.

Keep the vertex and triangle count for 3D objects as low as possible.

Vertex count has the most impact on the size and performance of 3D models. We recommend keeping the maximum number of vertices per object below 20,000.

Triangle count also impacts the size and performance of 3D objects. You should keep the total triangle count for all objects in an effect below 50,000. Check these values in your 3D modeling software.

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:

  1. Mirror geometry.
  2. 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.

Avoid using complex blendshapes where possible.

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

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 tab.
  2. Check whether you see any objects labeled RotationPivot, RotationPivotInverse, ScalingPivot, or ScalingPivotInverse, in any combination.

If you do, 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.

Join the Spark AR Creator's community

Find inspiration, see examples, get support, and share your work with a network of creators.

Join Community

Frequently asked questions

Have a specific question? Maybe it's been answered.


Read FAQs
Was this document helpful?