Blender 2.78 Grease Pencil

Here are a few helpful hotkeys and pointeres to assist with Blender Grease Pencil 2D animation workflow.

Useful deformation tools

Other stuff


UPDATE - 07-27-2017 to address UV Mapping image sequences to a plane, OpenGL renders, and live 3D view updates

What you want is to drag an image (that's part of an image sequence) onto a plane and have the animated image sequence update in real time in the 3D viewport and also render (with the image sequence updating, obviously) when you do a (FAST) OpenGL render.

  1. Having Blender recognize the img seq AS a seq must be done in the UV editing window, CLICK N and it's under IMAGE>SOURCE
  2. Make sure you indicate the # of frames, use alpha, and autorefresh
  3. NOW if you hit ALT+A the image in the UV window will animate. Cool. But NOT in the 3D view. As far as I can tell, if you have a UV window open ON THE SAME SCREEN as the 3D view you're working in, the openGL RENDER will update correctly and process the imgseq. Also if you jump thru frames in the 3D view, it will also update in real time. BUT if you want it to ANIMATE live in the 3D view, you have to have your mouse over the UV Editor window when you press ALT+A

UPDATE - This is HUGE as it relates to data management of grease pencil objects

The great shortcoming of GP in my view is data management. For example, it seems absurd, but you can't actually mix grease pencil data blocks in the same scene - which is to say if you have a complex character consisting of many layers and a unique palette, you can't have a different, similarly complex character coexisting in the same scene. And for all practical purposes, you cannot build up a complex character in pieces, keeping each in their own GP datablock, for the simple reason that you can only view one GP datablock at a time.

One teensy weensy workaround is the fact that there CAN be a GP datablock that's linked to an OBJECT coexisting with a GP block linked to the SCENE. But it's a bit of a kludge that limits the realtime combining of multiple GP "objects" (datablocks) to two, which is, of course, a bit rediculous. After all, in practice, you probably want to construct complex objects and later merge or join them together.

Point is, you want to organize your work in logical groupings that can be creatively mixed and matched. On the face of it, GP does not really allow this.

Or does it...? Well, it turns out the following rules can be used creatively - just remember that when you are cutting and pasting GP strokes, you have to be in edit mode in both the source and destination and you should use COPY (CTL+C) not CUT (CTL+X) because if you but, Blender will report that there is no buffer to paste from..

  1. You CAN import (append) GP data from a completely separate blender file
  2. You CAN cut and paste strokes (including multiple layers) from one scene or GP data block to another
  3. Interestingly, pasted strokes RETAIN THEIR LINK TO THEIR PALETTE - which means if you adjust colors in the source block, it updates dynamically in the destination block
  4. The previous also applies to cutting and pasting between SCENES
  5. Here's where it gets VERY interesting. If you name your character's layers intelligently so there's no question those GP layers are associated with that character, and your destination scene or GP datablock is given layers with the same names, then when you cut and paste your strokes, they will be placed in the correctly named layers in the destination scene / GP datablock.

What does this all mean? It means you can create characters - or pieces of characters - in separate GP datablocks, scenes, or even blend files and combine them as needed. Yes, it's true that ideally you would click on a GP stroke and magically blender would show you all the layers associated with that character, right? Well, you can't have that, but you CAN keep all the layers associated with one character separate from other characters in the same scene as long as you use a sensible naming convention for your layers.

In practice, I would argue that for anything less than trivial scenes, naming conventions and data organizing ALWAYS becomes important, so you might as well get used to having to scroll through GP layers. Same with palette colors.

If any of this bothers you, then go try animating with OpenToonz. It's super cool in some ways, but again, once you get past the most trivial projects, the data management aspect gets unweildy pretty quick and blender's ability to simply parent GP layers to empties or armatures makes working with complex rigs or dealing with your 2D characters in a 3D space MUCH easier by comparison.

Also, if you want to avoid some of this complexity, remember you can always "bake" a complex character to a still image and just map it to a plane and that becomes part of your character's rig.

Unfortunately, as far as I can tell, if you have a complex character with layers parented to blender objects, such as empties, that linkage does NOT import. So even if you import (append) the blender objects first, they don;t seem to lock up when you import the GP datablock. So if you are going to reuse a complex rig, you wiull have to re-link the GP layers to blender objects one at a time after you import everything.

UPDATE : Wrong, wrong, wrong! Actually, if you have a GP datablock associated to an object, then importing (appending) that object from another blend file imports the associated GP data blocks as well. They are "part" of the imported object! And parented GP layers ARE correctly parented on import. That's a big boon for object reuse.

Just as importantly, you can import multiple objects in a single import. So if you have a complex character you can bring in the whole rig in one swoop. Just remember that while you can have a bunch of layers linked to various blender objects, all the grease pencil layers should be part of the same datablock or else you will only be able to see one piece of your character at a time. In fact, carrying this a bit further, if your GP datablock is associated with an object, then it will disappear whenever you click another object, so in practice the best procedure is to import your linked objects, one of which has GP data / layers connected to it, then immediately link the GP data block to the scene and delete it from the object.

Let me restate this because it is confusing :

  1. If you associate GP datablock with a SCENE, then the links between grease pencil layers and blender objects are only preserved if you append the whole SCENE into another blender project. THEREFORE
  2. If you want to simply import the GP datablocks and linked objects, the GP datablock in the source blend file MUST be associated with one of the OBJECTS you are importing. So in practice what you would do is :
  3. Create a complex character in blender as a global SCENE GP datablock
  4. Set up all your link relationships (ie parenting certian GP layers to empties or whatever)
  5. Happy? Now grab a blender object (preferably an empty that's the main controller for your entire rig)
  6. Over on your GP Layers click OBJECT - you are now looking at the GP data blcok assocaited with the empty you just selected (there probably isn't one)
  7. In the list of GP datablocks, go ahead and assocaite your main scene GP data bloack with the empty you just selected
  8. Save your blend file
  9. Later, you can import the whole articulated rig by doing this :
  10. Start blender
  11. SHIFT + F1 to append from file
  12. browse "into" your previous blend file and select all the objects that comprise your rig
  13. once they import, immediately u=UN-associate your GP datablock with your main empty and instead assocaite that GP datablock with your SCENE
  14. Now you'll see your GP layers no matter what object you click on and all the linking/parenting relationships are preserved


  1. DO your blender scene in either outlines or colored shapes - if you are using colors, add shadows now, if not wait until step 3 -> export img seq
  2. do fill coloring on a separate layer in krita so that you only have to fil where frames have changed - if you do it in blender you have to fill every frame - not the end of the world but the krita method also ensures tighter fills if it's on a separate layer and you expand and feather the flood fill by one pixel
  3. bring the imgseq into blender as a bkgd img seq and - add interior shadows with GP - animate as needed on keys --> export img seq
  4. bring the img seq into blender uv paint as a sequence. Use a marker paintbrush in multiply mode with strength of 0.1. Use curves mode because that way you can create a curve and repeat the application on successive frames. By using multiply mode, it ONLY adds shadows in colored areas, ignoring the alpha channel area (if you try to do this in Krita it will color into the alpha area)
  5. IMPORTANT! The curves in blender for curve based drawing (at least on my machine) DO NOT SHOW unless you first jump into VIEW mode then BACK to PAINT mode. Dumb but true...



How to Connect with Blended Planet Pictures :


For the icon-challenged :

Follow BlendedPlanet on Twitter 
BlendedPlanet Youtube channel 
Follow BlendedPlanet Pictures on Facebook

In a hurry to reach me?

Just call 260-489-4212 - you will get my voicemail, but leave a quick message and I will get back with you promptly. - Dave