Outils pour utilisateurs

Outils du site


issue85:inkscape_p._24

In this article I'll be looking at Inkscape's 3D Box tool. The first thing to note about the 3D Box tool is that it doesn't create 3D boxes. What it actually does is draw and manipulate six closed paths to produce a 2D representation of a 3D box – Inkscape is, after all, only a 2D drawing program, not a 3D solid CAD application. This is also the only fake-3D drawing primitive that Inkscape offers, so, if you want 3D shapes other than boxes, you're on your own. With those limitations in mind, let's take a closer look to see how the 3D box tool works, and how you can use it as the basis for more complex representations of 3D objects.

Dans cet article je vais examiner l'outil Boîte 3D. La première chose à noter à propos de l'outil Boîte 3D, c'est qu'il ne crée pas des boîtes 3D. Ce qu'il fait vraiment est de dessiner et de manipuler 6 tracés fermés pour produire une représentation 2D d'une boîte 3D. En effet, Inkscape est seulement un programme de dessin 2D, et non pas une application de CAO solide 3D. C'est aussi la seule primitive de fausse 3D qu'offre Inkscape ; aussi, si vous voulez des formes 3D autres que des boîtes, débrouillez-vous tout seul. Avec ces limitations à l'esprit, examinons de plus près comment fonctionne cet outil Boîte 3D et comment vous pouvez l'utiliser comme base pour des représentations plus complexes d'objets 3D.

You can activate the 3D Box tool using the icon on the toolbar, or by pressing X or Shift-F4. The normal 2D rectangle tool can be activated by pressing F4, so you might like to think of this tool as drawing a rectangle that's been shifted into the third dimension. Depending on where you draw, and how much you've tinkered with the 3D Box tool before, it's easy to create a box that's too big or too distorted, making it hard to understand the tool. So before you start to draw, let's set some sensible defaults on the tool control bar.

Vous pouvez activer l'outil Boîte 3D en utilisant l’icône dans la barre d'outils, ou en appuyant sur X ou Shift-F4. L'outil normal de rectangle 2D peut être activé avec la touche F4 ; ainsi vous pourriez considérer la fonction de cet outil comme étant de dessiner un rectangle qui se serait déplacé dans le 3e dimension. Suivant l'endroit où vous dessinez et comment vous avez déjà travaillé avec l'outil de boîte 3D, c'est facile de créer une boîte trop grande ou trop distordue, rendant difficile la compréhension de l'outil. Aussi, avant de commencer à dessiner, réglons quelques valeurs par défaut adaptées sur la barre de contrôle de l'outil.

The options for this tool are deceptively simple – but that's only because a lot of the complexity takes place via handles on the canvas instead. There are three pairs of controls, consisting of a spinbox and a button for each of the X, Y and Z axes of the pseudo-3D world that your box will live in. Start by clicking all three buttons into their “on” state. This sets an infinite vanishing point for each axis, ensuring that the edges of your box are all parallel. Enter values of 150, 90 and 30 into the spinboxes – as usual there are context menus with some sensible options, though 150 isn't one of the defaults. Now click and drag on the canvas to draw your first 3D box. Make it fairly large so that it's easy to distinguish the small handles on the box when you release the mouse button.

Les options pour cet outil sont désespérément simples, mais c'est seulement parce que beaucoup de la complexité est prise en charge via les poignées sur le canevas. Il y a 3 paires de contrôles, comprenant un compteur et un bouton pour chaque axe X, Y et Z du pseudo-monde 3D dans lequel va vivre votre boîte. Commencez par cliquer sur chacun des 3 boutons « || » pour passer à l'état « ON ». Ceci installe un point de fuite infini sur chaque axe, assurant que les bords de votre boîte sont tous parallèles. Entrez les valeurs de 150, 90 et 30 dans les compteurs respectifs - comme d'habitude il y a des menus contextuels avec des options adaptées, quoique 150 ne soit pas une des valeurs par défaut. Maintenant, faites un cliquer-tirer sur le canevas pour dessiner votre première boîte 3D. Faites-la assez large de façon à ce que les petites poignées soient visibles sur la boîte quand vous relâchez le bouton de la souris.

There are a few things to note about the box you've drawn: there are red, blue and yellow construction lines which project from the edges along the X, Y and Z axes of the 3D world; there are eight small handles, one at each corner of the cuboid (one will appear to be in the middle of the box – it's just the handle for the obscured corner showing through); there's a small X-shaped handle at the center; finally, the box is probably made up of shades of blue.

Il y a quelques points à remarquer sur la boîte que vous avez dessinée : il y a des lignes de construction rouges, bleues et jaunes qui projettent les arêtes le long des axes X, Y et Z du monde 3D ; il y a huit petites poignées, une à chaque angle du cube (une autre semblera être au milieu de la boîte, c'est juste la poignée de l'angle caché qui est visible à travers) ; il y a une petite poignée en croix au centre ; et pour finir la boîte est probablement constituée de variations de bleu.

Because we've set the axes to have an infinite vanishing point, the projection lines form parallel pairs. The angle of each axis is measured in degrees, in an anti-clockwise direction where 0° points to the right. Compare the angles you typed in earlier with the projection lines – by using 30° for the Y-axis, and 150° for the X-axis (calculated as 180° minus 30°), your boxes form a classic isometric projection. Try setting the X angle to 180° for a Cavalier projection, or set X=135° and Y=45° for an Oblique projection.

Parce que nous avons réglé les axes pour avoir un point de fuite infini, les lignes de projection forment des paires parallèles. L'angle de chaque axe est mesuré en degrés, dans une direction anti-horaire où 0° est dirigé vers la droite. Comparez les angles que vous avez saisis précédemment avec les lignes de projection : avec 30° pour l'axe Y et 150° pour l'axe X (calculé comme 180° moins 30°), vos boîtes forment une projection isométrique classique. Essayez X avec un angle de 180° pour une perspective cavalière, ou réglez X=135° et Y=45° pour une projection oblique.

The square handles are used to adjust the size of your box. Four of them can be used to modify two dimensions (X and Z) at once, whilst the other four let you change only the third dimension (the depth along the Y-axis). Holding Shift will toggle the handles, so that a handle which usually controls the Y dimension instead lets you change X and Z – and vice versa. When moving an X/Z handle, try dragging it a little way along one of the projection lines, then holding Ctrl. This constrains the movement to one direction only, should you wish to change the X dimension without altering the height, for example.

Les poignées carrées sont utilisées pour ajuster la taille de votre boîte. Quatre d'entre elles peuvent être utilisées pour modifier 2 dimensions (X et Z) en même temps, alors que les quatre autres vous permettent de changer la 3e dimension seule (la profondeur le long de l'axe Y). Maintenir MAJ inversera les poignées, de telle sorte qu'une poignée qui contrôle habituellement la dimension Y vous permet de changer X et Z, et vice-versa. Quand vous bougez une poignée X/Z, essayez de la déplacer un peu le long de l'une des lignes de projection et, ensuite, essayez en maintenant Ctrl. Ceci contraint le mouvement dans une seule direction, si, par exemple, vous voudriez modifier la dimension X sans altérer la hauteur.

The X-shaped handle can be used to move the whole box, and once again Ctrl can be pressed to constrain the movement to one axis. Usually it's best to move 3D boxes using this handle, rather than using the Selector tool – it doesn't make a lot of difference for these projections, because all the axes have infinite vanishing points, but once we turn off one of those toggle buttons the behaviour of the two methods diverges significantly.

La poignée en X peut servir à déplacer toute la boîte et à nouveau vous pouvez appuyer sur la touche Ctrl pour contraindre le mouvement sur un axe. Habituellement, c'est mieux de bouger les boîtes 3D avec cette poignée plutôt qu'en utilisant l'outil de Sélection. Ça ne fait pas beaucoup de différence pour ces projections, parce que tous les axes ont des points de fuite infinis, mais, si un des boutons « || » est relâché, le comportement des deux méthodes diverge significativement.

With the projection lines and handles dealt with, it's time to talk about color. The default behaviour for the 3D Box tool is to draw your boxes in shades of blue. You can try setting the fill color before you draw, but you'll still get shades of blue. And if you set the fill color afterwards – well, you'll get the color you chose, but not as shades. Rather, all six faces of your box will be set to the same fill color and you'll end up with something that looks more like a flat, distorted hexagon than a 3D box.

Les lignes de projection et les poignées étant traitées, le moment est venu de parler de couleur. Le comportement par défaut de l'outil de boîte 3D est de dessiner les boîtes en nuances de bleu. Vous pouvez essayer de choisir la couleur de remplissage avant le dessin, mais vous aurez quand même des nuances de bleu. Et si vous choisissez la couleur après coup, vous aurez la couleur choisie mais pas les nuances. Au contraire, les six faces de votre boîte vont être de la même couleur et vous allez vous retrouver avec quelque chose qui ressemble plus à un hexagone plat et distordu qu'à une boîte 3D.

The secret to coloring your box is to understand what it's made of. The SVG format doesn't allow for 3D primitives, and certainly doesn't know anything about 3D boxes. What Inkscape creates is actually an illusion, made up of six paths that are grouped together. These paths carry some Inkscape-specific attributes so that the program knows to treat them differently to a normal group of paths, but they're just a group of paths nevertheless. That's why all six sides take on the same fill when you click on a color swatch – they're just behaving the same way that any group of paths does in that situation.

Le moyen de colorer votre boîte est de comprendre comment c'est fait. Le format SVG ne permet pas les primitives 3D et ne connaît rien du tout aux boîtes 3D. Ce que crée Inkscape est en fait une illusion, faite de six tracés qui sont regroupés. Ces tracés portent des attributs propres à Inkscape de telle sorte que le programme sait qu'il doit les traiter différemment d'un groupe normal de tracés; néanmoins, ils ne sont qu'un groupe de tracés. C'est pour cela que les six faces prennent la même couleur de remplissage quand vous cliquez sur la palette de couleurs - elles se comportent tout simplement comme n'importe quel groupe de tracés.

The key to changing the color is therefore to enter the group and modify each path individually. Whilst double-clicking with the Select tool usually enters a group, in this case it just switches to the 3D Box tool, so instead you need to right-click and select “Enter Group #g3116” from the bottom of the context menu (the exact title will vary based on the ID of the group). Alternatively you can click on the box using the Selector tool, then press Ctrl-Enter, or Ctrl-Click to select one of the visible faces without actually entering the group.

La solution pour changer de couleur est donc d'entrer dans le groupe et de modifier chaque tracé individuellement. Alors qu'un double clic sur l'outil de sélection fait habituellement entrer dans un groupe, dans ce cas il commute vers l'outil Boîte 3D ; aussi, à la place, vous devez faire un clic droit et sélectionner « Entrer dans le groupe #g3116 » en bas du menu contextuel (l'intitulé exact dépend de l'ID du groupe). Autre possibilité, vous pouvez cliquer sur la boîte en utilisant l'outil de sélection, puis appuyez sur Ctrl-Enter ou faire Ctrl-Clic pour choisir une des faces visibles sans réellement entrer dans le groupe.

Once you've entered the group, I suggest starting by moving the faces apart from each other. This will give you a better idea of how the box is constructed. Use Shift with the arrow keys to move by a precise amount, if you want to be able to move the faces back to reconstruct the box later. While inside the group you can also change the color of each face individually – or even delete some of the faces entirely. Once you're done, exit the group by double-clicking on the canvas background with the Selector tool, picking “Go to parent” from the context menu, or using the Layers pop-up in the status bar. You may be surprised to find that Inkscape still considers your object to be a 3D box even if it's exploded, a different color, or with faces missing. This can be useful when you want a box with no lid, or you just want to give each face a stroke but no fill to create a simple wireframe.

Une fois entré dans le groupe, je vous suggère de commencer en séparant les faces les unes des autres. Ça vous donnera une meilleure idée de la façon dont la boîte est construite. Utilisez Shift avec les touches de flèches pour bouger avec précision, si vous voulez être capable de reconstruire la boîte plus tard.

Pendant que vous êtes à l'intérieur du groupe, vous pouvez aussi changer la couleur de chaque face individuellement, ou même effacer complètement certaines faces. Quand vous avez terminé, sortez du groupe en double cliquant sur le fond du canevas avec l'outil de sélection, en choisissant « Sélectionner le parent » ou en utilisant le pop-up « Couches » de la barre d'état. Vous serez peut-être surpris de découvrir qu'Inkscape considère toujours votre objet comme une boîte 3D, même s'il est éclaté, d'une couleur différente ou avec des faces manquantes. Ça peut être pratique quand vous voulez une boîte sans couvercle ou si vous voulez obtenir le contour de chaque face, sans remplissage, comme un modèle en fil de fer.

The projections we've used so far are okay for certain types of technical drawings or 3D pixel art, but the 3D Box tool can also create images with perspective. Let's start with a simple 1-point perspective. We'll begin by removing the front left face of our box (medium blue, with the default colors). You should now be able to see into the box to the pale back wall. Set your X-axis angle to 180°, as we did for the Cavalier projection, but this time click on the parallel lines button for the Z-axis so it's deactivated, to give the Z-axis a vanishing point. You'll notice that the Z-axis angle is no longer editable, and instead the two yellow projection lines now converge to a square handle on the canvas. That's the vanishing point (VP) – try dragging it around to see the effect. Put it somewhere near the center of your box to give the appearance of looking down a corridor. You may need to adjust the corner handles for the best effect. With the 3D Box tool still selected try drawing some more boxes. Notice that they all share the same VP. By moving them using the X-shaped handle they will continue to share their VP, but if you move a box using the Selector tool, the VP will also be moved, breaking the link between that box and any others.

Les projections que nous avons utilisées jusqu'ici sont bonnes pour certains dessins techniques ou du « pixel art » 3D, mais l'outil Boîte 3D peut aussi créer des images en perspective. Commençons avec une simple perspective à 1 point.

Nous allons commencer par retirer la face avant gauche de la boîte (bleu moyen, avec les couleurs par défaut). Vous devriez maintenant être capable de voir l'intérieur de la boîte jusqu'à la pâle paroi du fond. Réglez votre axe X sur un angle de 180°, comme pour une projection cavalière, mais cette fois cliquez sur le bouton « || » pour désactiver l'axe Z, ce qui donne un point de fuite sur l'axe Z. Vous remarquerez que l'angle de l'axe Z n'est plus modifiable et, à la place, les deux lignes de projection jaunes convergent vers une poignée carrée sur le canevas. C'est le point de fuite (PF) - essayez de le déplacer pour voir l'effet. Mettez-le quelque part près du centre de votre boîte pour donner l'impression de voir un couloir. Vous pouvez ajuster les poignées des angles pour le meilleur effet. Avec l'outil de boîte 3D toujours sélectionné, essayez de dessiner quelques autres boîtes. Notez qu'elles partagent toutes le même PF. Si vous les bougez avec la poignée en forme de X, elles partageront toujours leur PF, mais si vous bougez une boîte avec l'outil de sélection, le PF bougera aussi, cassant le lien entre cette boîte et les autres.

Using this shared VP behaviour, it's easy to create a few boxes with 1-point perspective to form the basis of a street view. You'll need to adjust the corner handles for each box, but remember to hold Shift if they won't move in the right direction. Returning to a single box, let's try some 2-point perspective. Draw a new box if you need to, but this time, toggle the parallel lines buttons for both the X-axis and the Z-axis. Leave the Y-axis with an infinite VP at an angle of 90°. Now both the red and yellow projection lines converge into square handles at the VPs. Drag the handles around – for a good effect put the red one a little above the box and far to the left, and the yellow one at a similar height, but far to the right. Now drag the box around by the X-handle, and note what happens as it moves above the VPs, or close to either of them (hold Shift to move it along the Z-axis).

En utilisant ce comportement partagé du PF, il est facile de créer quelques boîtes à 1 point de perspective pour former la base de la vue d'une rue. Vous devrez ajuster les poignées d'angle pour chaque boîte, mais pensez à maintenir MAJ appuyé si elles ne se déplacent pas dans la bonne direction.

Revenons à une boîte unique et essayons une perspective à 2 points. Dessinez une nouvelle boîte au besoin, mais cette fois en relâchant les boutons « || » des axes X et Z. Laissez l'axe Y avec un PF infini et un angle de 90°.

Maintenant les lignes de projection rouges et jaunes convergent vers les poignées carrées aux PF. Bougez les poignées - pour un bel effet, mettez la rouge un peu au-dessus de la boîte et très loin sur la gauche, et la jaune à une hauteur voisine mais loin à droite. Maintenant bougez la boîte avec la poignée X et remarquez ce qui se passe quand elle passe au-dessus des PF ou près de l'un d'eux (maintenir MAJ pour le déplacer le long de l'axe Z.)

Once again, any other boxes you draw will share the same vanishing points. Try starting with a small box near the red VP, then repeatedly duplicate it (Ctrl-D) and move the duplicates to the right along the projection lines (hold Ctrl while dragging the X-handle). Duplicate again and move up, along the Y-axis (start moving up, then press and hold Ctrl). Very quickly you can build up a wall of boxes in this way or, as I did in a recent comic strip, leave a few gaps to create a 3D “pixel” image. As you may have guessed, you can also turn off the parallel button on the Y-axis to give you 3-point perspective. This is not as frequently used as the previous options, but can be great if you want to draw huge, imposing towers and monoliths.

Encore une fois, toutes les autres boîtes que vous dessinez partageront les mêmes points de fuite. Essayez en commençant par une petite boîte près de la PF rouge, puis copiez-la plusieurs fois (Ctrl-D) et déplacez les copies vers la droite le long des sde projection (appuyez sur Ctrl tout en déplaçant la poignée X). Copiez encore et déplacez le long de l'axe Y (commencez par bougez vers le haut, puis maintenez Ctrl appuyé). Très rapidement, vous pouvez créer un mur de boîtes de cette façon ou, comme je l'ai vu dans une bande dessinée récente, laissez quelques espaces pour créer une image 3D « pixel ».

Comme vous l'avez peut-être deviné, vous pouvez aussi désactiver le bouton « || » de l'axe Y pour obtenir une perspective à 3 points. Ce n'est pas aussi souvent utilisé que les choix précédents, mais ça peut avoir de l'effet si vous dessinez des tours et des monolithes énormes et imposants.

If you do move a box using the Selector tool, you may wish to reconnect it to the VPs of your other boxes. Simply Shift-click on multiple boxes when the 3D Box tool is active and you'll be able to see all the VP handles at once. Drag the handle from one box onto the handle of another to snap them together. Be warned, this operation pays no heed to the color of the handles you're connecting, so you can easily end up joining the X-axis of one box to the Z-axis of another. Quite what the result will be in any artistic or mathematical sense, I don't know – but feel free to experiment if you really want to. If you decide that you need to separate any joined VPs, then ensure that only one box is selected and hold Shift as you drag the VPs around. Alternatively, use the Selector tool to move the whole box. The 3D Box tool may seem quite specific and even restricted in what it can do, and if you take it on face value then that's probably true. But by setting a stroke with no fill (and you don't even need to enter the group to do that), you can create a wireframe box that makes it much easier to draw in perspective. So don't think of it as a tool for drawing boxes, think of it as a tool for drawing construction lines. Once you've got the basic frames for your street, wall or tower, the rest is down to your imagination.

Si vous devez bouger un boîte en utilisant l'outil de sélection, vous pouvez souhaiter reconnecter celle-ci aux PF des autres boîtes. Simplement faites MAJ-clic sur les différentes boîtes quand l'outil Boîte 3D est actif et vous pourrez voir tous les poignées PF d'un coup. Déplacez la poignée d'une boîte sur celle d'une autre boîte pour les lier ensemble. Faites attention, cette opération ne tient pas compte de la couleur des poignées que vous connectez, si bien que vous pouvez facilement relier la poignée X d'une boîte avec la poignée Z d'une autre. Je ne sais pas quel serait le résultat d'un point de vue artistique ou mathématique, mais n'hésitez pas à essayer si ça vous tente. S'il vous faut séparer des PF reliés, vérifiez qu'une seule boîte est sélectionnée et maintenez MAJ enfoncé pendant que vous déplacez les PF. Autrement, utilisez l'outil de sélection pour déplacer toute la boîte.

L'outil Boîte 3D peut paraître très particulier et plutôt restreint dans ce qu'il peut faire et, à première vue, c'est probablement vrai. aen réglant un trait sans remplissage (et vous n'avez même pas besoin de rentrer dans le groupe pour cela), vous pouvez créer une boîte « fil-de-fer », ce qui est plus facile à créer en perspective. Aussi ne le voyez pas comme un outil à créer des boîtes, voyez-le comme un outil pour dessiner des lignes de construction. Une fois que vous avez mis en place les trames principales de votre rue, des murs ou des tours, le reste découle de votre imagination.

issue85/inkscape_p._24.txt · Dernière modification : 2014/11/30 18:06 de auntiee