Clear
Back

There may be differences between your version of Spark AR Studio and this tutorial because the product is currently in beta and we update it regularly.

Tutorial: 2D Objects and Layers

In this tutorial you'll create a 2D frame using 2 objects included in Spark AR Studio - the canvas and rectangles.

Something Went Wrong
We're having trouble playing this video.


You'll learn to:

  1. Add a canvas - the first step for building 2D effects.
  2. Build a frame using rectangles and a texture.
  3. Add layers.

Download the sample content to follow along. If you open the unfinished effect in the sample content folder, you'll see we've imported a custom texture. It's called frame and listed in the Assets panel. You'll use this to add extra detail to the frame you build. In another tutorial, we'll show you how to add text to this frame.

To create a simple frame for your Facebook Profile, you can use Frame Studio instead.

The canvas

The first step for building effects with 2D objects is to add a canvas. The canvas creates a space to lay-out 2D objects like the rectangles you're going to add to this effect.

To add a canvas:

  1. Click Add Object.
  2. Select the Canvas from the menu.

You'll see canvas0 listed in the Scene panel.

If you look at its properties in the Inspector, you'll see an option labeled Mode. This is set to Camera Space by default. Any objects grouped underneath a canvas in camera space can be positioned and set to scale in relation to the size of the device screen.

In the Inspector you’ll see that the Size property can't be changed. This is because it will always match the size of the screen of the device.

If you changed the Mode to World Space, you'd be able to use the canvas to create 2D world effects. When a canvas is in world space, it's decoupled from the camera field of view. This means it can be positioned in 3D space. Follow this tutorial to use a canvas in world space

We want this effect to scale with the screen of the device, so keep the Mode set to camera space.

Adding rectangles

You'll use 4 rectangles to create the frame. You'll then add a texture to a final rectangle, that you'll position in the center of the scene.

To add a rectangle:

  1. Right-click on canvas0.
  2. Select Add.
  3. Select Rectangle from the menu.

You'll see the rectangle in the center of the Viewport.



To add 3 more rectangles, you can either repeat these steps, or copy and paste the rectangle you just made:

  1. Select each rectangle.
  2. Press command c, then command v on your keyboard - if you're using a mac. Hit control instead if you're using a windows machine.

It's worth renaming the rectangles so you can keep track of them as you build your effect. To do this, right-click on each rectangle and select rename.

To reflect where they'll be positioned, rename:

  1. Rectangle0 - top_rectangle.
  2. Rectangle1 - bottom_rectangle.
  3. Rectangle2 - left_rectangle.
  4. Rectangle3 - right_rectangle.

Adding materials

In Spark AR Studio materials define the appearance of objects in your scene. You can add materials and textures to rectangles to build colored filters, vignettes and frames.

In this effect you'll use the same material for each rectangle, and add a color to it.

You can create the material and add it every rectangle at the same time. Start by selecting the rectangles. You can select them all at the same time holding down either command or control on your keyboard, and clicking each rectangle in the Scene panel.

Then, in the Inspector click + next to Materials. You'll see the new material listed in the Assets panel under Materials, as material0.

Select the material to view its properties in the Inspector. You can make all kinds of changes to the material here. For this effect, start by changing the Shader Type. Click the dropdown next to Shader Type and select Flat.

The flat material is the best option for materials applied to 2D objects, because it doesn't emit or respond to light. This means it has less impact on the performance of your effect.

Next add a color using the Color option under Diffuse:

  1. Click in the box next to Color.
  2. Select a shade from the color palette. We're going to choose a shade of blue

Editing size

Now let's edit the size of the rectangles to start building the shape of the frame.

If you select the top_rectangle in the Inspector, you'll see 2 options next to Size. Use the first option to change the Width of the rectangle, and the second option to change the Height.

You're going to make two of the rectangles the same width as the canvas, and two of the rectangles the same height.

For top_rectangle, click in the first box. You'll see the Fill Width option appear which will make the rectangle fill the width of the canvas. Select this option.



Do the same for bottom_rectangle:

  1. Select it in the Inspector.
  2. Select Fill Width.

For both right_rectangle and left_rectangle:

  1. Click in the second box next to Size.
  2. Select Fill Height.

Here's how your project should be looking once you're done:



So these rectangles completely fill the space around the texture we're going to add to the center of the effect, make a second edit to the Size option.

Select top_rectange and bottom_rectange. Again, you can select them both at the same time by holding down command on your keyboard. Change the Height to 140 in the Inspector.

For right_rectangle and left_rectangle, change the Width to 30:

Using alignment to position rectangles

To position the rectangles we're going to use alignment. Alignment moves a 2D object around within the canvas.

Each of the buttons here will move the rectangle to a different position:



Start by setting alignment for top_rectangle:

  1. Select the top_rectangle in the Scene panel.
  2. Under Alignment click the first button from the left. This will align the rectangle to the top of the canvas.

Do the same for the other 3 rectangles. Align:

  1. bottom_rectangle to the bottom of the canvas.
  2. left_rectangle to the left of the canvas.
  3. right_rectangle to the right of the canvas.


The frame is really taking shape now. But, if you were to change the size of the device in the Simulator - for example to iPad Pro - you'll see the rectangles stay the same size and in the same position. We can use the flexibility and pinning features to change this.

Setting flexibility

Flexibility scales the height and width of each rectangle in relation to the canvas. This means objects will stay in proportion on all devices.

To set flexibility:

  1. Select top_rectangle in the Scene panel.
  2. Click the arrows next to Flexibility in the Inspector.

If you changed the device type to iPad Pro in the Simulator, you'd see the rectangle at the top of the screen get bigger in sync with the device screen - but the others won't.

Set Flexibility for the remaining 3 Rectangles:

Pinning rectangles

So now we've set flexibility the rectangles will scale with the size of the device screen. However, they'll stay in the same place.

Using pinning will change this. Pinning a rectangle means it will maintain the same distance to the border of the canvas, however big or small the canvas is.

Start with the rectangle at the bottom of the scene:

  1. Select bottom_rectangle in the Scene panel.
  2. In the Inspector, select the bottom symbol next to Pinning.

This will pin the rectangle to the bottom of the canvas.

Pin the other 3 rectangles, so:

  1. Top_rectangle is pinned to the top of the canvas.
  2. Left_rectangle is pinned to the left.
  3. Right_rectangle is pinned to the right.

Adding the texture

Now the frame shape is finished we can add the texture.

First, add another canvas:

  1. Click Add Object.
  2. Select Canvas.

Canvas1 should now be listed in the Scene panel.

Next, insert another rectangle as a child of canvas1:

  1. Right-click canvas1.
  2. Select Add.
  3. Select Rectangle.
  4. Rename the rectangle frame.

The next step is to add a material to the rectangle which we'll then apply the texture to. To do this:

  1. Select the frame rectangle in the Scene panel.
  2. Click + next to Materials in the Inspector.

Select the new material - it'll be listed as material1. Like before, set the Shader Type to Flat. Then, to add the texture:

  1. Click the dropdown under Diffuse.
  2. Select frame from the menu.


To make the black section in the center of the texture transparent, adjust the Render Options:

  1. Click the dropdown next to Blend Mode.
  2. Select Add.

This mode will make the black section in the texture appear as if it's transparent because it adds the color information in each channel together.

You should now be able to see the white frame in the scene, but it's a little smaller than we need it to be. To change this, change the size of the rectangle:

  1. Select frame in the Scene panel.
  2. In the Inspector, change both Size values to 400.

This rectangle is pinned to the center of the canvas by default - which is right for this effect. Make sure flexibility is set for both the height and width of this rectangle, by clicking the arrows next to Flexibility.

As the rectangle is supposed to stay in the middle of the scene, there's no need to set alignment.

Creating the layers

To make sure the objects in your scene show up in this effect in the right order, you need to adjust the layers.

For this effect, the texture on the second canvas should render after the rectangles on the first, so it's at the front.

To do this, select canvas1 in the Scene panel. In the Inspector, click the dropdown next to Layer and select Create New Layer. The second canvas and all the objects underneath it have now been assigned to this layer.

If you click onto the layers panel, you'll see the new layer - Layer1 - is at the top of the list. This means objects on this layer will render first. You can change this order, by dragging the layers to a different position. For this effect, they're in the right place.

Learn more

Join the Spark AR Creator's community

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

Join Community

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?