Create 3D curled arrows in Inkscape
Today we're going to use Inkscape to create 3D arrows with a curled-up effect. These could be useful for websites, infographics, or presentation imagery for example. The mainstay of the work will involve manipulating and combining shapes, after which we'll introduce some gradients and shadows to add a feeling of depth.
As always, here's what our final image should resemble:
Step 1 - Create the basic arrow shape
Much of the work in this tutorial goes more smoothly if you work with a grid in place, so switch on Inkscape's default grid by pressing # on the keyboard or by selecting View --> Grid in the menus. Activate your rectangle tool (R on the keyboard) and draw out a long rectangle that is about 270 pixels wide and 40 pixels high. Fill it with a light blue colour such as 41a0bbff, from the Fill and Stroke dialog box (Ctrl, Shift and F).
Switch to your pen tool (keyboard button B), then click on points on the grid to add a triangular head to the arrow. Inkscape's default grid has gridlines every 10 pixels, so getting the arrow's point level with the middle of the base should be easy; it'll be 2 squares up from the bottom and two down from the top, at the 100% zoom level. Remember to make the arrow edges extend past the top and bottom of the base at a distance of one square, as well. Remember to just click on each point rather than click-and-drag, to get sharp corners. Click back on your original point to complete the shape.
Switch back to your rectangle tool and add a rectangle which butts against your arrowhead shape. Again, with Inkscape's grid this should be straightforward to get the alignment right. Join them into a single shape by selecting both objects and pressing Ctrl and + on the keyboard or by heading to the menus and choosing Path --> Union.
Click and drag it to the side so that it sits flush against your original rectangle.
Step 2 - Create the curled effect
Duplicate this new shape by pressing Ctrl + D or using Edit --> Duplicate from the menus then, using the Select tool again, click once on the topmost copy to make it display the rotation handles. Look for the little marker in the centre of this object. The cross in the middle of any shape is its centre of rotation - clicking and dragging the rotation handles at the shape's edge will turn it around this point. Click and drag it to the lower-left corner of the arrowhead, then use the top right rotation handle to tilt the shape a little. Don't overdo it: we're going for a fairly subtle lifted effect here and if we go too far it'll look strange. Check the bottom of the screen while you're rotating the object, it'll tell you how many degrees you're turning it through; I've gone for less than 12° here.
With your rotated arrowhead still selected, hold down Shift and click on the rectangle base so that both are highlighted. Use the Union operation like above to join these two items into one. You'll see that they will both take on the same fill and stroke appearance, which tells us that it's worked. If you're other arrow copy has found its way to the top of the stack and is in the way, select it and press Page Down or use Object --> Lower to push it out behind the bit we're interested in for now.
Activate the Node tool (F2) and click on your blue arrow. Look for the corner nodes where we've joined our two parts together, and drag a rubber band selection around them so that the four shown below are highlighted, including the ones on the arrow's 'neck', but excluding the points at the sides. If you're struggling to get this right, you can hold down Shift and click on each of them in turn to create the selection. Then click the 'Add Nodes' button on the toolbar, or choose Extensions --> Modify Path --> Add Nodes, and accept the default settings.
We're going to do something strange, now. Those nodes we've just added - we're going to delete them straight away. Honestly. The reason is that Inkscape deals with removed nodes by smoothing out the edges between the ones that are left behind. What we end up with will be a smoothly curved arrow; exactly what we're after. Go ahead and select the two nodes on the main body of the arrow, and the two extra ones on the neck, then hit Delete to take them off the shape. Again, leave alone any that are higher up, otherwise you'll lose the arrow's pointer.
Nearly there, but we've got a problem: the arrow now looks slightly too wide at the base and slightly too narrow at the neck. This is easy to fix, though. Let's switch off the grid at this point, too, which will help make things a bit clearer. Use the Node tool to align the node handles so that they're horizontal, and finish a bit further up the length of the arrow. This is particularly quick if you hold down the Ctrl key while you do it, as Inkscape locks the handle positions to certain angles like 0°, 45° and so on.
Step 3 - Enhance the drawing with gradients
Let's start making this drawing shine a bit. From the Fill and Stroke panel, click the Linear Gradient button, then the Edit... button underneath the gradient's dropdown box. In the Gradient Editor pop-out, select the end point of the gradient from the dropdown box - it's currently set to the same colour as we started with, but transparent, which is no use. Click and drag the Alpha slider (marked with an 'A', at the the bottom of this box) all the way to the right to make the whole shape opaque, then set the colours to R = 145, G = 223, B = 247 to get a solid colour like this one below.
Now, activate your Gradient tool - Ctrl and F1 on the keyboard - then click and drag a gradient across the shape that starts a little way along the base, and finishes near the tip of the arrow.
Now we've got some idea about the lighting in this drawing, let's finally make use of that duplicated shape from earlier. Set its fill colour to black, switch off any stroke outlining the edges, then set the opacity slider to a really low value, like 10 or 15%, and blur the shape using the Blur slider. Enter 7 in this box and watch what happens.
There, that's starting to look decent. We ought to make this shadow start underneath the bit where the arrow starts to curl, so grab your Node tool and drag them to the left a little way to make the shadow look a bit more sensible. Again, hold down Ctrl to constrain the movement to just the horizontal direction. Strictly, if our arrrow was really curling up off the page, we should probably squash the tip of the arrow back a bit for more realism too, but what we've got here will suffice for this tutorial.
Step 4 - Add a 3D edge
Now for the finishing touches. Select your arrow, and head to the menus to choose Extensions --> Generate from Path --> Motion. Tick the Live Preview checkbox so you can see the effect of what you're doing. Input a Magnitude of 6 and an angle of 60 into the boxes, and click Apply when you're done.
We can produce the effect of a 3-dimensional edge on our shape by re-using our gradient and making it flow in a different direction, but first we need to remember that the Motion extension pulls the edge and the main shape into a single, grouped object, which will stop us from doing this easily.
Select the arrow, then Ungroup it by pressing Ctrl, Shift and 'g', or by selecting Object --> Ungroup from the menus. Keep Shift held down and click once on the top shape to deselect it, leaving us with our edge selected. As you do the Ungrouping, in the bottom of Inkscape's window you should see a message telling you that you're dealing with a Group of 2 objects, then a Group of 6 or so objects. Once you get to this point, you'll know you've got the right group selected.
When you're there, activate the Gradient tool again, then click and drag a very long gradient from the top of the shape downwards, stopping when you get an outcome you're happy with.
So there we go. And getting differently-coloured arrows is a doddle - just group all your objects back together, copy and paste, then go back and edit the gradient in the Fill and Stroke panel; both the arrow and your 3D edge will get updated at the same time!
How did that tutorial go for you? Feeling like you're on an upward curve or was it all just a bit difficult and pointless? Leave a comment below and let me know.
Be aware that all comments are moderated before being published on site. Please be considerate to others in any comments you post and please don't spam.
3 comments (newest first)
Add your thoughts using the comment form below.