Blender for programmers part 2: 3D manipulation
Tags: design
Published: 2021-03-03 14:40:19

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/el750rx1przihlmktw72.gif)

Welcome to the second part of the series "Blender for programmers". You can find introduction [here](https://dev.to/tomaszs2/blender-for-programmers-part-1-introduction-52ga).

Follow along to learn how to make gorgeous 3D images, animations, and edit videos.

You may have already installed [Blender](https://www.blender.org/). However, before you dig into creating your awesome render, bear with me to save yourself from confusion and stress.

Blender is extremely easy to use. But you need to know some things to understand it.

Blender behaves differently than a regular programming IDE. Do you remember how you have opened a file the first time with the **VIM** editor and wanted to type text, but it didn't happen?

It is because VIM when opened uses "normal" mode. In this mode, rather than editing text, you navigate over the file. Only when you explicitly enter insert mode VIM starts to behave like a "normal" text editor. 

VIM normal mode is what makes it great. Similarly, Blender operates also in various modes. There is the default mode, and also various other modes enabled with buttons, menu items, and keyboard keys (even without pressing CTRL or ALT!). When you switch to a specific mode Blender reacts differently to keys you press on the keyboard.

So you have to be careful what keys you press. The good news is you can always use **CTRL+Z** to undo changes or save changes and reopen the file to go to the default mode.

Now when you know it, there are three basic modes available in Blender. These allow you to change objects easily.

In the 3D world, the most important operations are: **moving, rotating, and scaling**.

So, if you want to move a cube you see in a Blender default project, click it and press key **G** (like Grab). That is right, the letter "G". When you press "G" Blender switches to grabbing mode (aka moving mode). Now when you will move your mouse cursor, the cube will move. Similarly, if you want to scale the object, you press **S**, and if you want to rotate it - **R**.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iont3r5xfrdjcbzp478r.jpg)

To escape any of these modes, you can press ESC. So when you want to manipulate an object, all you have to do is to press the mode button, manipulate the object with the mouse cursor move, escape the mode,  enter another mode, manipulate an object with mouse move and so on...

Rotating a card in R(otate) mode. Please notice how easier it is to rotate only by one axis at once:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/shv3zkpznp37v4r7wnta.gif)

Moreover, you will use these same modes not only to manipulate objects in 3D. These are used in various places in Blender. For example in **Dope Sheet**, where you can manipulate key frames to move animation in time, or stretch it, or to **UV Editing** texture over an object. I will tell you more about it later. Now all you have to know is that G, S, and R keys have special meaning in Blender, and pressing them enables grab (move), scale or rotate mode.

Moving Summon The JSON card in G(rab) mode:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ja1z6ovtztmk56q9fp1p.gif)

Tip: you can manipulate an object separately on one axis at once, by pressing the **X, Y, or Z button**. It is useful because otherwise Blender may have trouble figuring out what your 2D mouse move means in a 3D world.

Scaling a card in S(scale) mode:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/crdh0w5e0lkynsr7mnbe.gif)

Tip 2: you can manipulate objects even more precisely with object properties. Click through tabs in the right bottom part of the screen to find Position, Rotation, and Scale settings of selected object.

Manually changing a card rotation:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gk7a1pperu5dhl8toyj0.gif)

_Illustrations for the series come from [Summon The JSON](https://summonthejson.com/) project. A tabletop fantasy card game for programmers_

**Now you know how to manipulate objects in Blender like a pro, and how Blender works. Follow to receive information about the next article, where you will learn how to create a Hello World scene and create your first render!**