Dessiner en 3D facilement avec OpenSCAD et Blender

Merci de partager...Tweet about this on Twitter
Twitter
Share on Facebook
Facebook
Share on Reddit
Reddit

Synergie OpenSCAD/Blender

Les logiciel de dessin 3D ont une chose en commun : au départ, ils demandent tous un effort relativement important pour apprendre à les utiliser. Trimble SketchUp ne fait pas exception à cette règle, mais, comme son interface est conviviale et son rendering engine donne de beaux résultats, c’est le logiciel que je recommande généralement pour les débutants. Malheureusement, SketchUp ne fonctionne pas vraiment sous Linux. L’alternative la plus évidente est Blender. Ce logiciel est beaucoup plus puissant que Sketchup et vient avec un rendering engine nommé Cycles qui permet de générer de très belles images, très « réalistes ». Par contre, l’interface de Blender n’est pas intuitive du tout. À cause de mon intérêt pour l’impression 3D, j’ai découvert récemment un logiciel appelé OpenSCAD. À bien des égards, ce logiciel est plus facile à apprendre que SketchUp. Il utilise un langage de programmation simple, mais puissant pour générer des formes 3D. Pour vous convraicre, vous pouvez jeter un coup d’oeil à cette cheat sheet :

Ce logiciel vient cependant avec un rendering engine donne des résultats plus ou moins attrayants visuellement.

Sachant que ni Blender ni OpenSCAD n’offrent une solution idéale, j’ai décidé de faire un tutoriel qui explique comment utiliser les forces de chacun de ces logiciels tout en évitant leurs défauts. Ainsi, vous apprendrez à faire du dessin 3D avec OpenSCAD et à faire la génération d’images avec Blender.

Une des premières choses que j’essaye d’apprendre quand je découvre un logiciel de dessin 3D est comment naviguer dans l’espace 3D. Je vous recommande fortement d’utiliser une souris avec une roulette pour le faire et, si possible, un clavier avec une section numérique. Voici un tableau comparatif entre OpenSCAD et Blender qui pourra vous aider à vous retrouver :

Action OpenSCAD Blender
Zoom in/out Roulette de la souris Roulette de la souris
Déplacement (pan) Bouton de droite de la souris Shift + Bouton du milieu de la souris
Rotation Bouton de gauche de la souris Bouton du milieu de la souris

La section numérique du clavier est très utile dans Blender. Si votre clavier n’en a pas, allez dans File -> User preferences, dans l’onglet Input, cochez Emulate Numpad dans le panneau de gauche et cliquez sur Save User Settings. Ceci vous permettra d’utiliser les chiffres dans le haut de votre clavier plutôt que la section numérique.

Lorsqu’on navigue dans un espace 3D, il est tout à fait normal de se perdre. Pour vous retrouver rapidement dans OpenSCAD, regardez dans le bas du navigateur 3D, cliquez sur le bouton Reset View Reset View , puis cliquez sur le bouton View All View All. Pour vous retrouver rapidement dans Blender, appuyez sur HOME (view all) ou sur Shift+C (view all with 3D cursor set to zero(0,0,0,)). Alternativement, vous pouvez appuyer sur 0 (section numérique). Ceci vous ramènera à la vision de la caméra. Ensuite, cliquez sur le bouton du milieu de la souris et déplacez légèrement le curseur pour effectuer une petite rotation. Ceci vous sortira de la vue de la caméra. Je reviendrai sur les autres utilités de la caméra un peu plus loin.

Avant de commencer à dessiner, prenez le temps de vous familiariser avec la navigation dans l’espace 3D de OpenSCAD et de Blender. Pour vous pratiquer, vous pouvez ouvrir un des exemples fournis par OpenSCAD. Pour ce faire, double-cliquez sur un des exemples de la fenêtre d’accueil ou allez dans File -> Examples -> .... Pour ce qui est de Blender, il ouvre un exemple par défaut.

Important 1 : La plupart des logiciels de dessin 3D font usage de raccourcis clavier qui peuvent ne pas sembler logique à prime à bord ou utilisent la souris de manière peu commune. Faites un effort pour vous y adapter. Vous découvrirez peut-être des manières de fonctionner qui sont plus efficaces que vous le pensez.

Important 2 : Dans plupart des logiciels de dessin 3D, il existe plusieurs méthodes pour effectuer exactement la même chose. À mon avis, c’est la manière des développeurs de reconnaître que chaque personne est différente. Soyez conscient que je montre parfois la méthode longue d’effectuer une tâche, plutôt que la méthode courte. C’est (souvent) volontaire. Je fais ceci lorsque je considère que c’est plus pédagogique.

OpenSCAD

Caractéristiques du code

Le langage OpenSCAD est plutôt facile à apprendre. Pour retrouver facilement la cheat sheet, allez dans le menu Help -> Cheat Sheet. La structure de base du langage est la suivante :

transformation1(paramètres) transformation2(paramètres) objet(paramètres);

Pour faciliter la visualisation, ce code est souvent écrit sur plusieurs lignes, d’où l’importance du point-virgule (;). Le code ci-dessous est l’équivalent de celui ci-dessus.

transformation1(paramètres)
transformation2(paramètres)
objet(paramètres);

Certaines transformations peuvent être effectuées sur plusieurs objets ayant subi plusieurs transformations. Dans ce cas, des accolades ({,}) sont utilisées pour délimiter la transformation. Voici un exemple :

transformation1(paramètres) {
    transformation2(paramètres)
    objet1(paramètres);
    transformation3(paramètres)
    objet2(paramètres);
}

Dessin

Avec cette base, vous pouvez déjà commencer à coder!! L’exemple qui suit montre comment utiliser plusieurs transformations et objets simples.

/*
    Exemple bloguelinux no. 1
*/

// Défini globalement le nombre de segments dans un cercle
// Plus le nombre est haut, plus les courbes sont douces.
// Suggestion : 32 est souvent un bon compromis.
$fn=32;

// Cube bleu
color("blue")
cube([3,3,3]);

// Cylindre rouge avec 50% de transparence déplacé à l'arrière du cube bleu
// Les couleurs peuvent être défini avec des valeurs [r,g,b,a] entre 0 et 1. Le "a" correspond au degré de transparence.
color([1,0,0,0.5])
translate([4,4,1])
cylinder(r=2,h=3);

// Sphere argent le rayon et la position sont déterminés par des variables
rayon_sphere = 2.5;
deplacement = [-1.6,3.8,rayon_sphere+1];
color("silver")
translate(deplacement)
sphere(rayon_sphere);

// Texte "bloguelinux" en vert avec une épaisseur de 0.5 unité et une hauteur de 4 unités, rotation à la verticale et déplacement devant les formes de base, fn est augmenté localement pour avoir des courbes plus douces
color("green")
translate([-25,-2,0.2])
rotate([90,0,0])
linear_extrude(0.5)
text("bloguelinux",4,$fn=128);

// Contrôle de la vision dans la fenêtre de navigation 3D
// Voir la barre de status en bas à gauche
// Viewport translate
$vpt=[-9,2,0];
// Viewport rotate
$vpr=[55,0,25];
// Distance
$vpd=50;

Télécharger le fichier OpenSCAD

Si vous appuyez sur le bouton Preview (F5) Preview (ou encore F5), vous devriez voir la structure suivante apparaître :

Exemple 1
Télécharger le fichier STL

Amusez-vous à naviguer et à changer les paramètres pour vous familiariser davantage avec l’interface.

Séparation des matériaux

Pour pouvoir transférer un modèle OpenSCAD vers Blender, il faut exporter le modèle en format STL. Pour ce faire, vous devez appuyer sur le bouton Render (F6) Render (ou encore F6), puis sur le bouton Export STL Export.

Le problème qui survient si vous faites ça, c’est que toutes les structures qui se touchent seront fusionnées en une seule structure. Bien qu’il soit possible de séparer les structures à l’intérieur de Blender, c’est une activité fastidieuse et plutôt désagréable. La raison pour laquelle il est préférable d’avoir des structures séparées, c’est pour pouvoir assigner facilement un matériau à un objet. Or, je n’ai pas trouvé d’options dans les configurations de OpenSCAD pour générer des fichiers STL avec des structures séparées. Heureusement, OpenSCAD permet de créer des modules.

Un module ressemble un peu à une fonction. Par contre, il permet de créer une nouvelle transformation (grâce à la fonction children()) ou un nouvel objet. Le truc pour pouvoir séparer les différents matériaux est de générer un fichier STL par matériau. Pour ce faire, j’ai créé un module appelé, materiau(). Voici le code ainsi qu’un exemple d’utilisation :

/*
    Exemple bloguelinux no. 2
*/

//// [États]

etat_materiau1 = true;
etat_materiau2 = true;
etat_materiau3 = true;

//// [Modules]

// Assigne un materiau a un objet
module materiau(etat,couleur) {
    if (etat) {
        color(couleur)
        children();
    }
}

//// [Main]

materiau(etat_materiau1, "indigo")
translate([-1,0,0])
cube([2,2,2]);
materiau(etat_materiau2, "cyan")
translate([-2,1,1])
cube([2,2,2]);
translate([-0.5,2,2.5])
materiau(etat_materiau3, "lime")
cube([2,2,2]);

// Contrôle de la vision dans la fenêtre de navigation 3D
// Voir la barre de statuts en bas à gauche
// Viewport translate
$vpt=[-0.25,2,2.25];
// Viewport rotate
$vpr=[55,0,25];
// Distance
$vpd=30;

Télécharger le fichier OpenSCAD

Si vous appuyez sur F5, vous devriez voir la structure suivante apparaître :

Exemple 2
Télécharger les fichiers STL

Le module materiau(etat,couleur) permet de contrôler la création d’un objet et permet de lui assigner une couleur. Ici, comme il y a 3 matériaux différents, on voudrait créer 3 fichiers STL différents. Pour ce faire, gardez la variable etat_materiau1 à true et mettez tous les autres variables d’état à false. Une fois que c’est fait, appuyez sur F6, puis cliquez sur le bouton Export STL Export. Sauvegardez le premier fichier et recommencez la procédure pour chacun des états.

Voilà. Ce n’est pas plus compliqué que ça!

Aplication

On peut maintenant reprendre mon premier exemple et rajouter les variables d’état ainsi que le module materiau().

/*
    Exemple bloguelinux no. 3
*/

//// [États]

etat_mat = true;
etat_semitransparent = true;
etat_metallique = true;
etat_verre = true;
etat_emission = true;

//// [Modules]

// Assigne un materiau a un objet
module materiau(etat,couleur) {
    if (etat) {
        color(couleur)
        children();
    }
}

// Creation d'une pyramide a partir d'un module
module pyramide(base,sommet) {
    polyhedron(points = [ [base/2,base/2,0],[base/2,-base/2,0],[-base/2,-base/2,0],[-base/2,base/2,0],[0,0,sommet]  ],faces = [ [0,1,4],[1,2,4],[2,3,4],[3,0,4],[1,0,3],[2,1,3] ]);
}

//// [Main]

// Défini globalement le nombre de segments dans un cercle
// Plus le nombre est haut, plus les courbes sont douces.
// Suggestion : 32 est souvent un bon compromis.
$fn=32;

// Cube bleu
materiau(etat_mat,"blue")
cube([3,3,3]);

// Cylindre rouge avec 50% de transparence déplacé à l'arrière du cube bleu
// Les couleurs peuvent être défini avec des valeurs [r,g,b,a] entre 0 et 1. Le "a" correspond au degré de transparence.
materiau(etat_semitransparent,[1,0,0,0.5])
translate([4,4,1])
cylinder(r=2,h=3);

// Sphere argent le rayon et la position sont déterminés par des variables
rayon_sphere = 2.5;
deplacement = [-1.6,3.8,rayon_sphere+1];
materiau(etat_metallique,"silver")
translate(deplacement)
sphere(rayon_sphere);

// Texte "bloguelinux" en vert avec une épaisseur de 0.5 unité et une hauteur de 4 unités, rotation à la verticale et déplacement devant les formes de base, fn est augmenté localement pour avoir des courbes plus douces
materiau(etat_verre,"green")
translate([-25,-2,0.2])
rotate([90,0,0])
linear_extrude(0.5)
text("bloguelinux",4,$fn=128);

// Pyramide jaune déplacer dans le cylindre transparent
materiau(etat_emission,"yellow")
translate([4,4,2.25])
pyramide(0.5,0.5);

// Contrôle de la vision dans la fenêtre de navigation 3D
// Viewport translate
$vpt=[-9,2,0];
// Viewport rotate
$vpr=[55,0,25];
// Distance
$vpd=50;

Télécharger le fichier OpenSCAD

Si vous appuyez sur F5, vous devriez voir exactement la même structure que celle du premier exemple.

Exemple 3
Télécharger les fichiers STL

Défaut

Par ailleurs, vous avez peut-être remarqué que j’ai ajouté un module pyramide(). Il sert à vous montrer que les modules peuvent être aussi utilisés pour générer des objets « complexes ». Cependant, la pyramide générée n’apparait pas. Ceci est un défaut de OpenSCAD. La transparence permet de voir les structures qui se trouvent derrière un objet, mais pas à l’intérieur.

Laissez la pyramide où elle se trouve et générez 5 fichiers STL, soit un par matériau.

Il est maintenant temps de passer à Blender!! Yé!

Blender

Configuration de l’interface

La première chose que vous observez en ouvrant Blender est un splash screen. Il est généralement très beau et permet de reconnaitre rapidement la version de Blender qui est utilisée (version 2.76 dans mon cas). Cependant, si vous avez à ouvrir et à fermer Blender souvent, le splash screen devient agaçant. Pour l’enlever, allez dans File -> User preferences, dans l’onglet Interface, décochez Show Splash et cliquez sur Save User Settings.

Préparation de la scène

D’abord, pour préparer la scène, vous devez changer de rendering engine. Dans le haut de la fenêtre, vous trouverez une boite de sélection où il est écrit Blender Render, sélectionnez plutôt Cycles Render.

Cycles Render

Une fois que ceci est fait, nous allons retirer les objets inutiles (la boite et la lampe). Dans le panneau de droite, cliquez sur le symbole de souris qui se trouve à la droite de la caméra. Le symbole devrait devenir grisé. Ceci vous empêche de sélectionner la caméra volontairement ou non.

Camera - Symbole de souris grisée

Mettez votre curseur au-dessus du navigateur 3D (très important), appuyez sur A (toggle select all) une première fois (tout ce qui est sélectionné sera désélectionné) et appuyez sur A une seconde fois (toutes les structures devraient maintenant être sélectionnées, sauf la caméra). Appuyez sur Delete (ou sur X), puis sur Enter. Toutes les structures sélectionnées seront effacées.

Appuyez à nouveau sur le symbole de souris qui se trouve à la droite de la caméra dans le panneau de droite. Le symbole devrait revenir à son état initial.

Camera - État initial

Importation des fichiers STL

Maintenant, cliquez sur File -> Import -> Stl (.stl). Naviguez jusqu’à vos fichiers STL et sélectionnez-les tous. Pour sélectionner plusieurs fichiers faire Shift+Click(bouton de gauche) sur chacun. Cliquez ensuite sur Import STL. Toutes les structures dessinées dans OpenSCAD devraient apparaître dans le navigateur 3D.

Comme les structures sont un peu trop grosses et qu’elles sont déjà toutes sélectionnées, nous allons en profiter pour les rétrécir. Pour ce faire, mettez votre curseur au-dessus du navigateur 3D (très important), appuyez sur S (scale), entrez 0.4 et appuyez sur Enter. Vous avez rapetissé les structures à 40% de leurs tailles originales.

Utilisation de la caméra

Nous allons maintenant replacer la caméra. Appuyez sur 0 (section numérique), puis sur Shift+F. Vous pouvez maintenant déplacer le champ de vision comme si vous été dans un jeu 3rd person shooter. C’est-à-dire que vous pouvez effectuer des rotations en bougeant la souris, avancer avec W, reculer avec S, vous déplacer à gauche avec A et vous déplacer à droite avec D. Positionnez la caméra pour bien voir toutes les structures. Quand c’est fait cliquez avec le bouton de gauche de la souris. Pour sortir de la vision de la caméra, appuyez sur 0 (section numérique) ou encore appuyez sur le bouton du milieu de la souris et glissez légèrement la souris dans la direction que vous voulez.

Bien placer la caméra permet 2 choses :

  1. Vous retrouver si vous êtes perdu dans le navigateur 3D. Ainsi, il vous suffit d’appuyer sur 0 (section numérique) pour être ramené à une position connue.
  2. Les images que vous générez dans Blender sont celles vues par la caméra. Un bon cadrage est donc essentiel.

L’image ci-dessous montre un exemple de bon cadrage.

Blender cadrage

Note : Lorsque vous visualisez avec la caméra (vous avez appuyé sur 0 (section numérique)), faites attention de ne pas trop rouler la roulette de la souris, vous risquez de ne plus bien voir le cadre.

C’est maintenant un bon moment pour sauvegarder. Cliquez sur File -> Save As..., naviguez jusqu’à un dossier qui vous plait, entrez un nom de fichier et cliquez sur Save As Blender File.

Attention : Sous Linux, Blender considère que vous êtes l’élite de la société et donc que vous êtes hyper responsable. Ainsi, Blender ne vous demandera pas si votre travail a été sauvegardé si vous fermez la fenêtre. Il assume que vous avez pris les précautions nécessaires. C’est donc une bonne pratique de sauvegarder souvent pour ne pas perdre son travail. Prenez donc l’habitude de faire Ctrl+S suivi de Enter ou encore de cliquer sur File -> Save de temps en temps. Notez que sous Windows, par défaut, Blender vous considère un peu moins vaillant et vous demande si votre travail a été sauvegardé avant de fermer la fenêtre…

Configurer le monde!!!

Avant d’appliquer des matériaux aux structures, nous allons ajuster la luminosité du monde. Cliquez sur World World dans le panneau de droite. Dans la section Surface, cliquez sur le rectangle arrondi se trouvant à côté de Color: et sélectionnez un blanc pur (R: 1.000, G: 1.000, B: 1.000).

World blanc

Cube (ne pas confondre avec le film de science-fiction)

Il est maintenant venu le temps d’appliquer les matériaux aux structures qui ont été dessinées dans OpenSCAD. Sélectionnez d’abord le cube. Pour ce faire, cliquez avec le bouton de gauche de la souris sur son nom dans l’arborescence qui se trouve dans le panneau de droite. Un contour orange devrait apparaître autour de celui-ci dans le navigateur 3D. Si son nom n’est pas intuitif, vous pouvez le renommer en double-cliquant dessus. Vous pouvez profiter de cette occasion pour renommer toutes les autres structures.

Sélection du cube

Une autre manière de sélectionner une structure est de cliquer directement dessus dans le navigateur 3D avec le bouton de droite de la souris. Si vous avez bien suivi cette instruction, un contour orange devrait apparaître autour de la structure sur laquelle vous avez cliqué. Sinon, vous avez probablement cliqué avec le bouton de gauche de la souris et déplacé l’infâme Curseur 3D curseur 3D. N’ayez pas peur. Il est inoffensif (du moins dans ce tutoriel). Vous pouvez tout simplement l’ignorer… ou le déplacer ailleurs en cliquant avec le bouton de gauche de la souris dans le navigateur 3D. Pour le replacer au centre, vous pouvez faire Shift+S et cliquer sur Cursor to Center.

Avec le cube sélectionné, cliquez sur Material Material dans le panneau de droite. Comme le cube n’a pas encore de matériau attitré, cliquez sur New.

Nouveau matériau

Un nouveau matériau nommé « Material » sera créé. Vous pouvez le renommer « mat » en double-cliquant sur son nom.

Pour avoir une idée rapide du résultat des changements qui seront effectués sur le matériau, je suggère d’ouvrir la section Preview.

Material preview

Cliquez maintenant sur le rectangle arrondi qui se trouve à côté de Color: dans la section Surface. Vous pouvez choisir la couleur qui vous plait. Si vous n’avez pas d’idée, je suggère un bleu R: 0.001, G: 0.100, B: 0.400.

Material diffuse

Vous remarquerez peut-être que votre cube n’a pas changé de couleur dans le navigateur 3D. C’est que les couleurs qui se trouvent dans le navigateur 3D n’influencent pas l’image générée au final. Il reste que c’est pratique de se rappeler quelles structures sont de quelles couleurs… Pour ce faire, ouvrez la section Settings. Placez le curseur de votre souris au-dessus de la couleur que vous avez choisie dans la section Surface (bleu dans mon cas). Faites Ctrl+C (copier), déplacer votre curseur au-dessus du rectangle arrondi sous Viewport Color: et faites Ctrl+V (coller). Voilà! Votre cube devait être de la bonne couleur maintenant!

Couleur des structures dans la fenêtre de navigation 3D

Passons maintenant à la sphère.

Sphère (ne pas confondre avec le film de science-fiction)

Avant d’assigner un matériau à la sphère, nous allons la rendre plus lisse. Sélectionnez là et dans le panneau de gauche, sous l’onglet Tools, dans la section Edit, cliquez sur Smooth.

Lissage

Voilà. C’est mieux. Dans la section Material Material, créez un nouveau matériau que vous pouvez nommer « metal ». Ouvrez la section Preview si ce n’est pas fait. Ici, nous allons choisir un autre type de matériau. Dans la boite de sélection à côté de Surface:, choisissez Glossy BSDF. Pour donner un effet de métal dépoli, j’ai choisi une couleur grise (R: 0.300, G: 0.300, B: 0.300) et une rugosité de 0.050.

Material glossy

Avant de passer au cylindre, vous pouvez changer la couleur de votre sphère dans le navigateur 3D en copiant/collant la couleur de votre métal dans Viewport Color: de la section Settings.

Cylindre (Il n’y a pas de film de science-fiction de ce nom… Je sens une belle opportunité!?)

Le cylindre possède des parties courbes et des parties plates. Si vous sélectionnez le cylindre et que vous cliquez sur Smooth dans la section Edit de l’onglet Tools dans le panneau de gauche, vous vous apercevrez que le résultat est un peu plus beau, mais tout de même bizarre. Blender peut détecter les partis plates et ne pas les lisser. Ceci est réalisé à l’aire d’un modificateur. Pour ce faire, cliquez sur Modifiers Modifiers dans le panneau de droite. Puis, cliquez sur le menu déroulant Add Modifier et sélectionnez Edge Split Edge Split. Le dessus et le dessous du cylindre sont maintenant parfaitement plats. C’est l’effet recherché ici.

Modificateur Edge Split

Dans la section Material Material, créez un nouveau matériau que vous pouvez nommer « semitransparent ». Nous allons créer un matériau qui est un genre de mixte entre de la cire et du Jell-O. Mixte est le bon mot puisque, dans la boite de sélection Surface:, sélectionnez Mix Shader. Comme le nom l’indique, un Mix Shader permet de mélanger 2 types de Shader (matériau). Le nombre se trouvant dans la boite à côté du mot Fac: indique en quelle proportion les Shader seront mélangés. Dans le cas présent, inscrivez une valeur de 0.300. Une valeur de 0.000 indique que le premier Shader est celui qui domine à 100%, une valeur de 1.000 indique que le second Shader domine à 100%, ainsi une valeur de 0.500 est un mélange de 50% de chacun des Shader. La valeur de 0.300 que j’ai sélectionné indique que le premier Shader sera un peu plus dominant que le second. Pour le premier Shader, choisissez Transparent BSDF (effet « Jell-O ») et donnez-lui une couleur jaune pâle (R: 0.800, G: 0.800, B: 0.200). Pour le second Shader, choisissez Translucent BSDF (effet « cire ») et donnez-lui une couleur rouge (R: 1.000, G: 0.003, B: 0.000).

Material mix shader

Il n’est généralement pas nécessaire dans Blender d’assigner un matériau au volume d’une structure. Cependant, il est parfois pratique de le faire, surtout quand une structure se trouve à l’intérieur d’une autre. Ici, il y a une pyramide à l’intérieur du cylindre. Comme le matériau de cette pyramide va interagir avec celle du cylindre, vous allez assigner un matériau au volume. Ouvrez la section Volume et, dans la boite de sélection Volume:, sélectionnez Volume Scatter. Assignez le même jaune pâle (R: 0.800, G: 0.800, B: 0.200) que le précédent dans la section Surface. Pour Density:, inscrivez une valeur de 5.000 et, pour Anisotropy:, inscrivez une valeur de 0.500. Ceci crée un volume semblable à un colloïde (effet laiteux).

Material volume scatter

Si vous regardez dans la section Preview et que vous avez toujours la sphère de sélectionnée, vous allez trouver le nouveau matériau créé plutôt déprimant. Par contre, si vous sélectionnez Suzanne (c’est le nom donné à la face de singe de Blender), vous allez voir que c’est un matériau semitransparent avec de beaux reflets rougeâtres.

Suzanne semi-transparente

En fait, vous n’avez encore rien vu. Au final, le matériau paraitra encore plus beau grâce à la petite pyramide.

Avant de passer à celle-ci, vous pouvez changer la couleur de votre cylindre dans le navigateur 3D en copiant/collant la couleur rouge dans Viewport Color: de la section Settings.

Pyramide (Sérieusement. Aucun film avec ce mot dans le titre ne semble bon.)

Sélectionner la pyramide à partir de la liste dans le panneau de droite est plutôt simple. Par contre, la sélectionner dans le navigateur 3D est plus difficile, car elle n’est pas visible. La meilleure façon de faire est de vous mettre en mode Wireframe. Pour ce faire, placez la souris au-dessus du navigateur 3D et appuyez sur Z (toggle wireframe). Vous ne verrez maintenant que les arêtes des structures. Cliquez avec le bouton de droite de la souris sur la pyramide et ses arêtes deviendront orangées. Pour revenir au mode normal (Solid), vous pouvez appuyer à nouveau sur Z.

Une fois la pyramide sélectionnée, créez un nouveau matériau et nommez-le « emission ». Dans la boite de sélection Surface:, sélectionnez Emission. Choisissez le même jaune pâle que celui utilisé pour le cylindre (R: 0.800, G: 0.800, B: 0.200) et inscrivez 30.000 pour le paramètre Strength:. Ce dernier donne le degré de luminosité de l’objet.

Material emission

Le matériau Emission est très important dans Blender. Il est souvent utilisé pour créer l’éclairage des scènes. Ici, j’ai plutôt choisi d’utiliser l’éclairage naturel du monde (World), mais vous verrez que l’émission de la pyramide ne passera pas inaperçue.

Avant de passer au texte « bloguelinux », vous pouvez changer la couleur de votre pyramide dans le navigateur 3D (même si vous ne la voyez pas vraiment) en copiant/collant la couleur jaune pâle dans Viewport Color: de la section Settings.

Bloguelinux (Futur blockbuster.)

Les lettres du texte « bloguelinux » comprennent des courbes et des parties plates. Pour donner un beau fini, sélectionnez le texte, cliquez sur Smooth dans la section Edit de l’onglet Tools dans le panneau de gauche, puis, dans Modifiers Modifiers dans le panneau de droite, ajoutez un modificateur Edge Split Edge Split.

Une fois que c’est fait, créez un nouveau matériau nommé « verre ». Dans la boite de sélection Surface:, sélectionnez Glass BSDF. Vous pouvez ensuite simplement changer la couleur pour du vert (R: 0.000, G: 0.300, B: 0.002).

Material glass

Note : IOR veut dire « index of refraction », soit indice de réfraction en français. L’indice 1.45 est bien pour le verre, mais d’autres matériaux transparents ont des indices de réfraction différents. L’eau, par exemple, possède un indice de 1.33.

Avant de continuer, vous pouvez changer la couleur du texte « bloguelinux » dans le navigateur 3D en copiant/collant la couleur verte dans Viewport Color: de la section Settings.

Plancher

Pour donner un bel effet d’ombrage, j’aime parfois faire flotter les objets au-dessus d’un plancher « invisible ». Celui-ci aurait pu être créé dans OpenSCAD, mais c’est tellement facile à faire dans Blender que j’ai plutôt penché pour cette solution.

Pour créer le plancher, placez le curseur de votre souris au-dessus du navigateur 3D et appuyez sur Shift+A. Dans le menu, sélectionnez Mesh -> Plane. Maintenant, appuyez sur G (grab), puis sur Z (constrain to z axis), entrez -0.5 et appuyez sur Enter. Le plan se déplacera légèrement vers le bas. Appuyez sur 0 (section numérique) pour revenir à la vision de la caméra. Appuyez sur S, déplacez la souris vers le bas (ou vers le haut) jusqu’à ce que le plan soit tellement grand que les bords du plan n’apparaissent plus dans le champ de vision de la caméra et cliquez avec le bouton de gauche de la souris pour confirmer.

Une fois que c’est fait, créez un nouveau matériau pour le plancher, vous pouvez le nommer « plancher ». Sélectionnez Diffuse BSDF dans la boite de sélection Surface:. Comme couleur, choisissez un blanc pur (R: 1.000, G: 1.000, B: 1.000).

Material diffuse - Plancher

Ici aussi, vous pouvez changer la couleur du plancher dans le navigateur 3D en copiant/collant la couleur blanche dans Viewport Color: de la section Settings.

Génération d’image (Render)

Vous allez maintenant pouvoir voir le fruit de vos efforts, car nous allons effectuer la génération (render) l’image vue par la caméra. Pour ce faire, cliquez sur Render Render dans le panneau de droite. Ouvrez la section Sampling et, sous Samples:, dans la boite Render:, entrez 200. Plus ce nombre est élevé, plus le résultat final sera beau, mais plus le temps de calcul sera long. Une valeur de 200 donne un résultat relativement beau en environ 1 minute 30 secondes avec mon ordinateur. Cependant, pour le résultat final que je vous présente plus bas, j’ai utilisé 5000 échantillons (samples). Dans ce cas, la génération a nécessité environ 36 minutes de calcul.

Render sampling

Si vous avez bien suivi les instructions jusqu’à présent et que vous appuyez sur 0 (section numérique), vous devriez voir, dans le navigateur 3D, une scène qui ressemble de très près à celle-ci.

Blender viewport

Dans le panneau de droite, si vous appuyez sur le bouton Render (ou encore F12) de la section Render. L’image devrait commencer à se générer.

Render active scene

Si vous voulez interrompre la génération d’image pour quelques raisons que ce soit, vous pouvez appuyer sur Esc. Une fois la génération d’image arrêtée, si vous voulez revenir au navigateur 3D, appuyez aussi sur Esc.

Si tout se déroule comme prévu, vous devriez obtenir l’image suivante :

Résultat final
Télécharger le fichier Blender

N’est-ce pas infiniment plus beau que le rendu offert par OpenSCAD?!?

Si vous voulez sauvegarder l’image, dans le menu du bas, cliquez sur Image -> Save As Image (ou encore F3). Sélectionnez un emplacement, donnez un nom à votre image et cliquez sur Save As Image.

Voià! Admirez votre chef-d’oeuvre et applaudissez-vous intellectuellement… ou physiquement…

Amusez-vous! Soyez créatif!

J’espère que ce tutoriel vous aura démontré que le dessin 3D est à la fois accessible et valorisant. J’ai tenté de vous donner une base solide qui devrait vous permettre de réaliser de belles créations en peu de temps. En fait, vous ne vous en rendez peut-être pas compte, mais plusieurs petits trucs qui apparaissent dans ce tutoriel vous évitent des heures de cassage de tête…

Évidemment, les possibilités offertes à la fois par OpenSCAD et Blender sont immensément plus grandes que ce que j’ai décrit ici. OpenSCAD, par exemple, permet d’utiliser des boucles for, des transformations spéciales comme hull() et minkowski(), 2 types d’extrusion, soit linear_extrude() et rotate_extrude(), et donne accès à bien d’autres options intéressantes. Blender, de son côté, permet de « sculpter » en 3D, de faire des animations, de faire des vidéos et beaucoup, beaucoup d’autres choses. Si vous ce tutoriel a piqué un peu votre curiosité, je vous conseille fortement d’aller explorer ces 2 logiciels plus en profondeur.

Bonus

Une alternative intéressante a OpenSCAD est le logiciel en ligne OpenJSCAD. Le langage est légèrement différent puisqu’il est basé sur Javascript, mais, grâce à celui-ci, vous pouvez faire du dessin 3D directement dans votre navigateur web. Étant donné que OpenJSCAD permet de générer des fichiers STL, vous pouvez adapter la technique décrite dans ce tutoriel pour faire la génération d’image dans Blender.

 

Merci de partager...Tweet about this on Twitter
Twitter
Share on Facebook
Facebook
Share on Reddit
Reddit