Starting off Simple

I’ve been doing quite a bit of messing around with Alchemy. Whilst in search of solution for a problem in Blender I came across a rather awesome time-lapse digital painting from an upcoming Blender Foundation project, Durian. Not only was I blown away by the skill of the artist but also by the software that he uses. I’m an open source nut so was really glad to see him use GIMP and other open source software to produce his piece. One particular piece of software that stood out to me was Alchemy.

If you’ve watched the video already you’ll have seen how he used that program to create chaos from which to build something else from. I was a bit skeptical at first, thinking that GIMP and Inkscape can do this already and with many more options. However, upon using it I could soon see the benefits of using this program. As the website so clearly states, it’s not meant for finished pieces (although some have used it to create finished pieces). It’s meant to help generate ideas, to sketch, to just go crazy on!

After just a week of using it this was some of the work that I had created in it

Lunchtime Butterfly (by hellocatfood) Stop Hitting Yourself (by hellocatfood)

I soon began to think more about what I perceived to be the point of the program. Typically, when I sketch my marks start off very light and whispy. Then, I draw over these whispy lines with more confidence until the original marks either become thicker and darker or are simply overshadowed by the newer marks. With practice you would then expect one to be more confident with their mark making, to the point where there are no more whispy lines, just sharp, clear marks.

Also, after many hours of studying you would expect one to make marks that represent any form in as few marks as possible. One important lesson I learnt at university is that you should only add detail where it’s needed. Spending 100 hours on an art piece may be personally satisfying but when people wont notice or have the time to appreciate that amount of detail why bother. In another situation, when you have a deadline looming, do you really have the time to add insane amounts of detail?

In time I feel I should be using this program to help develop this skill and my confidence as an artist. Drawing intricate layered pieces may look impressive but personally I know part of the reason I use that style is lack of confidence. I have put a suggestion to the developers to add a feature to Alchemy (and I’m slowing learning Java) that can help facilitate this by restricting the amount of shapes you can have on screen, but until then I’ve been doing a few tests of my own. Partly born out of frustration I’ve been trying to do portraits of myself using as few shapes as possible, in this case four shapes. As there are soooo many different recognisable features about our own individual faces it would be quite a challenge to pick just four features or shapes.

Working from memory I drew these portraits last night.

Portrait 1 Portrait 2 Portrait 3 Portrait 4 Portrait 5

On a side note the good thing about Alchemy is that it can record a snapshot of your drawing to a pdf at timed intervals. You can download a zip of all of the pdfs if you really wanna see how I did it.

Admittedly the first portrait probably has six shapes (open the pdf up in Inkscape to find out) but that was because I accidentally used a white shape on a white background. Alchemy has no undo function so I just painted over it in black.

I slept on it and came back with a few new ideas. Do you really need to draw someone’s head or hair? That depends on what their most recognisable features are. I am quite well known for my hair, but I proved last year that even without it people still knew who I was *shock*. So, maybe it’s not that important. As a test for yourself, try taking a portrait picture of yourself. Open that picture up in your favourite picture editor (I use GIMP (duh)) and apply the photocopy (or equivalent) filter. If needed erase the background until you have just your facial features.

With Hair and clothes

With Hair and clothes

Without Hair and clothes

Without Hair and clothes

Is it still recognisable?

So, I tried again to draw myself using only four shapes, but this time only my facial features. Here are my results (same four-shape rule applies).

New Portrait 1 New Portrait 1
(download zip of pdfs)

A little more recognisable? Four shapes might be a little bit too restrictive but you only really learn from challenging yourself. Why not try making the cursor invisble when you draw (press H) or draw “blind” (Affect > Draw Blind). Going back to the aims of the program once you feel more comfortable using very few shapes let yourself go a little bit and maybe use 10 or twenty shapes. Here is my final piece, starting with simple shapes, then going over with more detail

Final Portrait
(download pdf)

Bending a penguin

Awhile back I did a quick vector illustration of a penguin. It was nothing much really but as far as penguins go I quite liked this one. Recently (as in, the last four months) I’ve been interested in databending. Have you ever had an image you’ve taken come out like it’s been through a shredder? That’s the effect that most databenders are after. In a way it’s like trying to reproduce an error. Once you’ve done it a few times you get to learn what effects different methods can produce but even then it’s very unpredictable. For a short tutorial on databending an image, take a look at the one I wrote for fizzPOP.

Penguin

My curiosity lead me to see what can be done to databend an SVG file. In a similar way to a jpg or gif they’re just data but the difference is it’s human-readable. That is, someone could look at how an SVG is created and understand it. For example this code:

<!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->
<!-- Created with Inkscape (http://www.inkscape.org/) -->





..Produces this circle:

Vector Circle

With a bit of time you could easily read and write that code yourself.

So, with that in mind, using similar methods to this databending tutorial, can we apply a similar effect to the penguin? Like jpg’s etc the SVG has a header that, if modified, completely destroys the file. Using the above example the header is from lines 01 to 10. Open up your SVG in a text editor (for Windows I recommend Notepadd++, for Ubuntu/Linux Scite), cut those lines (a simple Ctrl+X will do) and then begin to edit your document!

You’ll notice that you have little flexibility with how you can modify it. With a jpg you can replace or delete any character and replace it with (almost) any other one. In an SVG if you change any of the letters then you render it useless. For example, fill is a function that defines the colour of a shape. If you changed each instance of fill to say fail it would just simply break the file. Epic Fail. What you want to do is replace numbers with other numbers. There is a danger that replacing #090909 with #0909999909 could break the colour values but so far I have encountered no problems.

Once you have replaced a few numbers paste back in the header and then save it again. Open it back up and take a look at the results! Below are a few modifications I made. The process is described in the link.

Penguin - Delete 8 Penguin - Replace 8 with 15 Penguin - Replace 8 with 1

You may find that each shape has become very warped or that the dimensions of your document have increased tenfold! That’s the beauty of the randomness that is databending.

Blending Inkscape and Blender

One of the things I’ve always wanted to do is to work on an image in a 3D environment but then export the resultant image to an svg. Being the open source nut that I am my main weapons of choice are Blender for 3D work and Inkscape for vector. These programs have their advantages and their disadvantages. The main advantage they have over many similar programs is that they’re open source and free. They’re very capable products and are used quite widely and are being actively developed. In fact, Inkscape is getting ready to release version 0.47 (I’ve used a prerelease and it’s awesome)

For my task of exporting 3D models to SVG Blender falls slightly short because it doesn’t natively support this. There are a few plugins that have attempted to offer this and do well, but sometimes crash or give unexpected output. That, and for some users going through the hassle of finding the plugin might be too much.

The disadvantage Inkscape has is it’s handling of lots of nodes. The moment you hit around 10,000 nodes the program begins to noticeably slow down. For most simple logo work this isn’t a problem, but when you come to illustration and highly detailed artwork it gets in the way. This was the main thing stopping me from using the SVG that can be generated from Blender. To test it yourself, import an SVG into Blender and then export it as an SVG using either Pantograph or VRM. You’ll notice that it is now made up of about several hundred smaller shapes.

Before Import to Blender: 11 Objects, 124 nodes

Before Import to Blender: 11 Objects, 124 nodes

inkscapeblendertext

After Blender import: 2264 objects with 6792 nodes

This makes colouring or modifying the shape really hard. Sometimes, in Inkscape you can just highlight all of the shapes, go to Path > Union (Ctrl + Shift + +) to combine them all but sometimes it makes it all disappear.

Luckily there is a technique to get this to work. If you import an SVG be sure to apply the Ninja Decimate modifier to the shape and drag the Ratio slider down (thanks to heathenx for this tip). Please note that this only work if you shape is a mesh, so hit Alt + C and convert your shape to a mesh.

If you’re working with text you may notice that after you’ve applied the Decimate modifier and dragged the slider down all of your text looks… crap.

screenshot_15_01:24:52

This is because the modifier is treating the text as a whole shape and thus reducing the face count of the whole combine shape rather than treating each character as an individual shape. You need to separate them. To do this, in Edit mode (hit TAB to get there) hit P (don’t do this in normal mode. It runs the Blender game engine and will most likely crash Blender).

Separate menu

Separate menu

From the Separate menu choose All Loose Parts and now each character is an individual shape. Now, if you run the Decimate modifier on each individual character you have a lot more control over its final appearance.

After Modifications: 324 objects, 972 nodes

After Modifications: 324 objects, 972 nodes

I exported the text to an SVG using VRM but you can do so using that script, Pantograph or the 3D Polyhedron extension in the Render extension menu in Inkscape. Here’s another render showing exactly why you might want to go through this procedure:

70 objects, 36601 nodes

70 objects, 36601 nodes

After basic modification (text from an upcoming project)

After basic modification, 4042 nodes (text from an upcoming project)

The Decimate modifier has its limits. Where a human would simply combine two big triangular faces into a rectangle the modifier sometimes misses this and just over-complicates things and sometimes completely destroys a shape. This is where I ask the Blender community for assistance. Is there a script to easily reduce the face count of an object?

I think native SVG export is something that Blender should work towards in the future. There’s just too many possibilities and opportunities!

Inkscape tutorial: text manipulation

I’ve been messing around with Inkscape a lot recently and have found a few cool tricks. This all originally started as an attempt to recreate an effect I saw on the Inkscape website but quickly evolved into something different.

Here’s an example of the output I achieved.

Something I did earlier

Something I did earlier

What’s interesting about this is that it’s mostly the work of filters. For this tutorial we’ll be working with text in Inkscape 0.47pre0. To illustrate things better use a font that is very think. Even Arial Black will do. Create two different text objects

The original unmodified text

The original unmodified text

The manipulations we’re going to apply to this text will be affecting paths, so we need to convert this text to a path. To do this go to either Path > Object to path or press Ctrl + Shift + C. This separates the text into individual paths as a group. Ungroup them (Object > Ungroup or Ctrl + Shift + G) and then combine them as a single path using Ctrl + K. Next, position the text wherever you want it.

We want to create an extrude between to the two paths. For this you need two separate paths (you created these when you created the text). Click on both of them and then go to Extensions > Generate from path > Extrude.

Extrude window

Clicking on Lines will attempt to link each node of one path to the node of another path with just lines, whereas clicking Polygons will do something similar but link them with shapes. Click on Polygons then press Apply.

Text with extrude effect applied

Text with extrude effect applied

With the new polygons selected pick a hue for it. The reason I specify hue is because we’re going to be modifying the colour next and the filters we will be using will work with the current hue and modify it. As far as I’m aware it can’t modify shades i.e. black or white.

Colour on the extrude effect

Click on Extensions > Color > Randomise.

Randomise extension window

Randomise extension window

From this window you have several choices. Randomising the Hue lets you have random colours. Randomising the Saturation will randomise the saturation i.e. if it’s a very vibrant colour or slightly dull. Randomising the Lightness will randomise the brightness i.e. if it is completely bright it will go white, if not it will go black. For this I recommend randomising the Saturation and Lightness. To get a preview of the output check the Live Preview option. If you’re not happy with the combination they’ve given you uncheck then recheck the Live Preview. Press Apply when you’re done.

Finished text

For a finishing touch add a background and change the stroke colour

Completely finished!

Completely finished!

Voila!

What else can be done with this effect? Well, you know that you need two different objects for this to work, so why not work with one object but then split it into two. In the example below I split a rounded square into two shapes then repeated this procedure.

Stained glass square

Stained glass square

One thing to note is that the more nodes you have the more polygons that will be created

I hope this tutorial has been useful. To extend this try messing around with the Jitter Nodes effect under Generate from Path 😉 For more of my experiments feel free to check out my flickr stream.

More Blender Renders

Since my last post about using Blender with vectors I’ve explored taking vectors into it and then exporting jpegs. Below is an image I stated creating awhile back in Inkscape but never finished.

Click for full size

Click for full size

This is what it looks like after I’ve taken it into Blender and messed around with it a little bit

Render from Blender. Click for full size

Render from Blender. Click for full size

Pretty snazzy! I’ve still got a bit of composition techniques to figure out, but once I do I think I might take my vectors into Blender more.

Blender renders

For the past month or two I’ve been getting my head around Blender to do some 3D modelling. It’s a tough program to learn, but with the aid of some very useful tutorials and strong community support I feel I’m getting somewhere!

As well as using Inkscape to make vectors I want to explore the possibilities of using Blender to render 3D models as vectors. There’s so many benefits of this approach as long as it works. To do this I’ve tried out to vector rendering scripts written in the python programming language, VRM and Pantograph. VRM was easy to install – just dropped the file in the scripts folder – but Pantograph was a bit more problematic. If you’re going to install it make sure you have the right Python libraries installed! Here’s the original Blender output:

Original file rendered in Blender

Original file rendered in Blender

I’m getting some reflection off of my surface, but I’ll work on that another time.

Here’s the results of rendering a simple 3D snake model in Pantograph:

Pantograph render of a snake

Pantograph render of a snake

The Pantograph render produced the smoothest results by far. When taking it into Inkscape the final drawing is separated into several groups. For the snake you had a group for the outline, the silhouette and the wireframe. Depending on the complexity of your model you may want to delete the mesh. The only problem I’ve encountered is separating objects. Pantograph likes to merge to objects together, thus limiting editing capability. Still, you could always do most of the editing in Blender itself

Render from VRM

Render from VRM

This render using VRM reminds me a lot of the old Playstation/Sega Saturn graphics. You could subdivide all of the faces to get it smoother (set smooth has no effect on it), but it’d take forever to render and you’d end up with an unnecessarily large vector (.svg) file. Still, using VRM is useful for relatively simple objects. You could even combine the two renders!

Halftone Portrait

Here’s the last in my daily pictures for this week. I’ve a busy weekend of parties and more parties, so I’ll do a whole week of drawing another week.

I’ve spent most of my day feeling a little bit ill and learning how to use Blender, so this is more of an experiment than anything. I used a tutorial by istarlome to create this. I found that if you check the Colour option under the Trace tab it will attempt to colour the image as well. Using Inkscape to create halftones could well be a powerful way to do it and gives you many options for editing and customisation.

Hope you’ve enjoyed this week of pictures!

Another Tree

I missed yesterdays image, so here it is today. I could’ve shown it last night but it just looked terrible, so thought I’d do some more on it first.

I think I like trees, especially judging by the number of trees in my sketchbook!

Still got another one to do today, and then I’ll call it quits