Skip to content
Home » How to Use the Copy Scale Constraint in Blender

How to Use the Copy Scale Constraint in Blender

Spread the love

Today we’ll be talking about the Copy Scale constraint in Blender. I’ll be using the 2.92 version of Blender.

The Copy Scale constraint is used to force its owner, so the object it’s placed on, to have the same scale as another object, known as the target.

In this video we’re going to discuss just some of the most important settings.

Step 1 – Create a Simple Setup

To demonstrate how the Copy Scale Constraint works, let’s create a simple setup. You can leave the default cube, which we’ll put the constraint on. So, this is going to be the owner.

We also need a target. Let’s make it a simple edge. First, go to front view, select the default cube (A) and hit Shift + D to duplicate it. Move the duplicate aside along the X axis (B):

Create a Simple Setup

Now go to edit mode, edge select mode (A) and select just a single edge on the cube (B):

Create a Simple Setup

Hit Ctrl + I to invert the selection:

Create a Simple Setup

And then hit X and select Edges to delete all the selected edges. This will leave us with just one edge, which you can see selected over here:

Create a Simple Setup

Go back to object mode. To keep things clear, let’s move the geometry to the origin. To do that, go to the Object menu and under Set Origin select Geometry to Origin:

Create a Simple Setup

This will do the job:

Create a Simple Setup

Step 2 – Add the Copy Scale Constraint

Now we’re ready to add the Copy Scale constraint. So, select the cube (A) and go to the Object Constraint tab (B). Then click on the Add Object Constraint dropdown (C) to expand it:

Add the Copy Scale Constraint

Select the Copy Scale constraint:

Add the Copy Scale Constraint

Now you should see the constraint added in the Object Constraint tab:

Add the Copy Scale Constraint

We already have the owner, which is the cube. Now we have to set the target, so the object that we will use to control the scale of the cube. You can use the picker tool (A) to select the edge (B):

Add the Copy Scale Constraint

The name of the edge is irrelevant because we didn’t change it, but it doesn’t matter. What matters is that the edge is now the target:

Add the Copy Scale Constraint

Step 3 – Play with the Axes

Now let’s see how we can use the constraint. The first element I’d like to talk about are the Axis toggle buttons. By default they are all on:

Play with the Axes

Now select the edge and hit S to scale. As you drag your mouse cursor and thus scale the edge, the cube also scales on all three axes:

Play with the Axes

Hit Escape to cancel the operation.

You can also pick just one axis or a combination of two axes to use. So, select the cube again and now make sure only the Z axis is selected:

Play with the Axes

Select the edge again and scale it. This time the cube will be scaled only on the Z axis:

Play with the Axes

Again, hit Escape to cancel the operation. Now select the cube and in the Copy Scale constraint settings select the X and Y axes:

Play with the Axes

If you now scale the edge, the cube will only be scaled in the X-Y plane:

Play with the Axes

Cancel the operation.

Your Panda3D Magazine

Make Awesome Games and Other 3D Apps

with Panda3D and Blender using Python.

Cool stuff, easy to follow articles.

Get the magazine here (PDF).

Step 4 – Make Uniform

You can use the Make Uniform option to scale uniformly on all axes. It may have the same or a different effect as when picking individual axes.

It will have the same effect if all three axes are selected. So, select the cube and then toggle all three axes on:

Make Uniform

Now select the edge and hit S 3 to scale it by a factor of 3. Watch how big the cube is:

Make Uniform

First, hit Ctrl + Z to undo the operation. Now select the cube again and, with all three axes still on, check the Make Uniform checkbox:

Make Uniform

Now select the edge and scale it by a factor of three again:

Make Uniform

So, the cube is now the same size as when the Make Uniform option was unchecked. But this behavior will change if only one or two axes are on.

First, undo the operation by hitting Ctrl + Z. Select the cube and make sure only the X axis is toggled on. Make also sure Make Uniform is checked:

Make Uniform

Now scale the edge by a factor of three again:

Make Uniform

Now the cube is much smaller, because the scale is uniformly redistributed on all three axes. You can also try out a combination of two axes. Don’t forget to undo the previous operation first. So, let’s now select the X and Y axes:

Make Uniform

Let’s select the edge and hit S 3 again:

Make Uniform

Now the cube is bigger than with just one axis toggled on, but smaller than with all three axes on. Undo the operation, select the cube, toggle all three axes on and uncheck the Make Uniform checkbox to get ready for the next step:

Make Uniform

Step 5 – Power

By default we copy the scale with the same factor, so if the edge in our example is scaled by a factor of 3, the cube is also scaled by a factor of three. But you can change this. By setting the value of Power to a value greater than or less than 1 you can make the cube grow faster or more slowly. Actually, there are four interesting cases besides the one with Power set to 1 which we’ve been using so far:

1) the value of Power is greater than 1,

2)  the value of Power is less than 1, but more than 0,

3) the value of Power is 0,

3) the value of Power is less than 0

Python Jumpstart Course

Learn the basics of Python, including OOP.

with lots of exercises, easy to follow

The course is available on Udemy.

Let’s check them one by one. After each operation, make sure to undo it so that you can better see what’s going on. To even better see the size of the cube after each operation, hit N to open the sidebar.

Let’s leave Power at 1 (A) and check the size of the cube (B):

As you can see, it’s 2m long on each axis. Now select the edge and hit S 2 to scale it by a factor of 2. Then select the cube and check its new size:

As expected, it was also scaled by a factor of 2 on each axis, so the new size is 4m on each axis. Undo the operation so that the size of the cube is 2m again and now set the value of Power to 2:

This is the power to which the scaling factor should be raised. So, if you now select the edge and scale it by a factor of 2, the cube will be scaled by a factor of 2^2 = 4, so the new size will be 8m:

Now, undo the operation and set Power to 3 (A). This way, by scaling the edge by a factor of 2, the cube will be scaled by a factor of 2^3 = 8, reaching the size of 16m (B):

Now the edge is inside the cube because of how big it got.

Undo the operation. Let’s now see what happens if we set Power to a value between 0 and 1, like for example 0.5:

Now select the edge and hit S 2. The cube should be now scaled by a factor of 2^0.5, which is the square root of 2, so about 1.41. So, the new size of the cube on each axis should be about 2 x 1.41 = 2.82:

Undo the operation. Next, let’s set Power to 0:

If you now scale the edge by a factor of 2, the cube will be scaled by a factor of 2^0 = 1, so it won’t be scaled at all:

This is because any number raised to the power of 0 equals 0.

Undo the operation. Finally, let’s set Power to a negative value, let’s say -2:

Now, if you scale the edge by a factor of 2, the cube will be scaled by a factor of 2^(-2) = ¼. So, its size on each axis should be 0.5:

So, you can use negative Power values if you want to make the owner smaller when the target gets bigger.

There are some more settings, which we are not going to cover in this article.

Blender Jumpstart Course

Learn the basics of 3D modeling in Blender.

step-by-step, easy to follow, visually rich

The course is available on Udemy and on Skillshare.


Spread the love

Leave a Reply