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.
The quickest way to add a 3D object is to simply drag the file from your desktop, directly into either:
You can also:
Once you've added a 3D Object it will be listed in the Scene panel and 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:
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.
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 make an object the child of another, simply drag it onto the object in the Scene panel.
To edit the appearance of a 3D object, apply a material to its mesh.
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.
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.
Actions
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.
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.
You can adjust the Layer, Position, Scale and Rotation of a skeleton in the Inspector.
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.
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.
Find out more about reducing the impact 3D objects have on the performance of your effect.
If you create 3D objects with Blender, use Spark AR Toolkit to optimize your objects before exporting them to Spark AR Studio.
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:
Avoid using complex blend shapes 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:
If you see any of those objects, you should try importing the object into Blender: