Complex Rotations

This tutorial is based on a real customer problem. The customer needs to render this device in landscape mode:

3d ipad shape at the wall - portrait

Let's Do It!

This sounds easy: we just rotate the device to landscape mode and then tilt it back to the wall. However, after we rotate the device 90° counter-clockwise, we can't tilt it to the wall, as all the other rotation sliders are now rotating around the Z axis. That's how rotation works.

3d ipad shape at the wall - landscape

This was the customer's problem and the solution is not obvious at first sight. Ideas?

Scene Hierarchy

Boxshot features a scene hierarchy that you can see in the scene tree panel on the left side. The idea is to make the device a child of some other object and tilt the other object instead of the device. Boxshot features a special "Group" node that doesn't have geometry and can be used for such things. So let's add a group node and make the device its child:

3d ipad shape as a child object

There are no visible changes in the scene so far, but what if we rotate the "Group" node using the gizmo?

3d ipad shape rotated after its parent object

It works! It's not perfect, as the device is now above the floor, but it works. But why is the device floating above the floor?

More Details

The device got lifted because we moved it along the Y axis from the wall. But when we created a group object it was created near the wall, at the zero-point. When we dragged the device to the group, Boxshot noticed the device's distance and kept it. Now when you rotate the center of the parent object, Boxshot rotates the child object as if it is bound to the parent one. So it flies above the floor.

The Easy Fix

The easiest way to fix this is to click the device, switch to the translation gizmo and move it back:

3d ipad shape - fixing offset the easy way

This works pretty well, until you try to change the tilt. If you do this, you'll have to adjust the device position again. It is not a problem to do once or twice, but if you need to do this many times the repetition becomes boring.

The Better Fix

The right way to fix this issue is to make zero distance between the group and the device. To do so open the group's transformation properties and set all the translation values to zero (they probably are already). Set the angles to zeroes, as well. Then do the same for the device. You'll see something like this:

3d ipad shape - fixing offset the right way

The device is now under the floor, but the distance between it and its parent is zero. That's good. Put the device on the floor by right-clicking it and picking the "Put on the floor" command:

3d ipad shape on the floor

Finally, move the device to the right, to match the center of the wall. This is the last thing you need to do with the device itself:

3d ipad shape centered

Now select the "Group" node in the tree. See the gizmo at the bottom of the device? This is now the point you will be tilting the device around.

3d ipad shape centered

Now you can move and tilt the group instead of the device. The device will retain its landscape rotation, while the group will provide offset and tilt. And you don't need to adjust the device position after changing the tilt. At least, not after changing the vertical one :)

3d ipad shape done

You may need to sleep on this if you haven't worked with 3D software before. But overall it is not so difficult. It just requires some practice.

That's All

You've just learned how to make scene hierarchies by making one node a child of another. You also learned how to make complex transformations by splitting them between parent and child nodes.

Finally, you learned how to make landscape-oriented devices tilted to walls :).

More Tutorials