[TUTO] Faire des cylindres parfaits
9 message(s)
• Page 1 sur 1
[TUTO] Faire des cylindres parfaits
Bonjour CraftStudioziens !
Tout est dans le titre, ici je vais vous expliquer comment faire de magnifiques cylindres, sans trous, et avec le moins de blocs possibles.
Je suis désolé, mais il va falloir commencer par un petit schéma et une formule mathématique :

Donc, ce que ce schéma dit, c'est que pour faire un cylindre composé de blocs inscrit dans un cercle, on a les relations suivantes :
- l = L x tan ( pi / n )
- L = l / tan ( pi / n )
Avec :
- L : la longueur du bloc
- l : la largeur du bloc
- n : le nombre de faces utilisées pour faire le "tour" du cylindre ( c'est un chiffre entier, je fais pas des demis blocs moi ! )
Allez, on commence : Mon premier exemple sera pour créer un cylindre donc on connais la longueur des blocs. Ici j'utilise un bloc de longueur 32 ( taille du bloc ) et hauteur 64.

Je commence par déplacer l'espace de textures hors de la texture ( en haut à gauche ) et je rend transparent le pixel supérieur gauche. Le bloc à disparu, c'est normal, je profite que la texture "s'étire" hors de la zone de dessin.
Ensuite je place manuellement les faces comme sur la capture ci dessous.
Enfin, maintenant il faut déterminer la largeur de mon bloc. Je vais faire un cylindre à 16 cotés, donc en utilisant la formule donnée plus haut j'ai :
largeur = 32 * tan ( pi / 16 ) = 6.365195 ...
Je met la largeur du bloc à 6 dans le panneau taille du bloc.
Sauf que la taille est définie en chiffre entiers, il faut donc que j'utilise l'étirement !
Pour connaitre la valeur d'étirement, j'utilise le calcul suivant :
etirement = taille voulue / taille du bloc
etirement = 6.365195 / 6 = 1.06087
Et hop, je met l'étirement à 1.061 ( arondi ).

On dupplique le bloc et on le tourne de 22.5° ( 360 / 16 ).
Et on déplace l'espace de texture des faces.

Etc etc ...

Je crée un nouveau bloc qui va me servir à "fermer" mon cylindre, il fait la taille du cylindre.

J'en caches les cotés, et je modifie un peu son étirement pour que les faces du dessus et du dessous ne soient pas supperposées avec celles du cylindre.

On colorie les faces du dessous et dessus en faisant un cercle sur fond transparent ( aidez vous d'un logiciel de dessin pour voir comment doit etre dessiné le cercle )

On modifie encore l'étirement pour que le cercle dessiné ne déborde pas du cylindre.

Et voilà, il ne reste plus qu'a finir la texture :

2ème exemple : Je créer un cylindre en me basant sur une taille définie pour un coté, pour faire un compteur type bandi-manchot, donc en 10 sections.
La révolution se fait autour de l'axe X, mon coté fera 16 x 20.
Donc, la longueur d'un bloc sera :
20 / tan ( pi / 10 ) = 61.5536707... Je prend l'entier le plus proche : 62

Pour trouver la valeur de l'étirement, c'est la meme chose : valeur trouvée par le calcul / valeur définie en taille :
61.5536707 / 62 = 0.993...

On duplique / tourne et replace l'espace de texture (il ne faut pas oublier de tourner les faces arrière de 180°):

Dernier exemple : faire un ANNEAU !
Je vais faire un anneau dont la révolution se fait autour de l'axe Y. En 10 sections, d'épaisseur 4 et les cotés feront 16 x 16. Voici donc mon bloc de départ :

Donc, quelle sera la "longeur" du bloc ? On reprend le calcul précédent :
16 / tan ( pi / 10 ) = 49.2429..
Sauf qu'il sagit d'un anneau, et non d'un cylindre, donc pour connaitre la distance de la face extérieur de l'anneau à son centre, je divise cette valeur par 2 ce qui donne :
49.2429.. / 2 = 24.6215
On y est presque : pour faire facilement tourner la section de l'anneau autour du centre, je vais décaler le point de pivot. Or l'anneau fait déja 4 d'épaisseur, et par défaut le pivot est au centre, donc il est déjà à 2 de distance de la face.
Donc il faut déplacer le point de pivot de :
24.6215 - 2 = 22.6215

Ouf, le plus dur est fait, il me reste à déplacer mon espace de texture comme ceci ( du haut vers le bas : haut, avant, bas, arrière (tourné de 180°) )

On dupplique / tourne / décale l'espace de texture:

Et après un peut de dessin, ça peut donner ça:

Et voilà, vous savez comment faire de magnifiques cylindres ! Bien sur vous pouvez mettre plus de sections pour donner un aspect plus "rond", mais ça sera d'autant plus gourmand à afficher !
Tout est dans le titre, ici je vais vous expliquer comment faire de magnifiques cylindres, sans trous, et avec le moins de blocs possibles.
Je suis désolé, mais il va falloir commencer par un petit schéma et une formule mathématique :

Donc, ce que ce schéma dit, c'est que pour faire un cylindre composé de blocs inscrit dans un cercle, on a les relations suivantes :
- l = L x tan ( pi / n )
- L = l / tan ( pi / n )
Avec :
- L : la longueur du bloc
- l : la largeur du bloc
- n : le nombre de faces utilisées pour faire le "tour" du cylindre ( c'est un chiffre entier, je fais pas des demis blocs moi ! )
Allez, on commence : Mon premier exemple sera pour créer un cylindre donc on connais la longueur des blocs. Ici j'utilise un bloc de longueur 32 ( taille du bloc ) et hauteur 64.
Je commence par déplacer l'espace de textures hors de la texture ( en haut à gauche ) et je rend transparent le pixel supérieur gauche. Le bloc à disparu, c'est normal, je profite que la texture "s'étire" hors de la zone de dessin.
Ensuite je place manuellement les faces comme sur la capture ci dessous.
Enfin, maintenant il faut déterminer la largeur de mon bloc. Je vais faire un cylindre à 16 cotés, donc en utilisant la formule donnée plus haut j'ai :
largeur = 32 * tan ( pi / 16 ) = 6.365195 ...
Je met la largeur du bloc à 6 dans le panneau taille du bloc.
Sauf que la taille est définie en chiffre entiers, il faut donc que j'utilise l'étirement !
Pour connaitre la valeur d'étirement, j'utilise le calcul suivant :
etirement = taille voulue / taille du bloc
etirement = 6.365195 / 6 = 1.06087
Et hop, je met l'étirement à 1.061 ( arondi ).
On dupplique le bloc et on le tourne de 22.5° ( 360 / 16 ).
Et on déplace l'espace de texture des faces.
Etc etc ...
Je crée un nouveau bloc qui va me servir à "fermer" mon cylindre, il fait la taille du cylindre.
J'en caches les cotés, et je modifie un peu son étirement pour que les faces du dessus et du dessous ne soient pas supperposées avec celles du cylindre.
On colorie les faces du dessous et dessus en faisant un cercle sur fond transparent ( aidez vous d'un logiciel de dessin pour voir comment doit etre dessiné le cercle )
On modifie encore l'étirement pour que le cercle dessiné ne déborde pas du cylindre.
Et voilà, il ne reste plus qu'a finir la texture :
2ème exemple : Je créer un cylindre en me basant sur une taille définie pour un coté, pour faire un compteur type bandi-manchot, donc en 10 sections.
La révolution se fait autour de l'axe X, mon coté fera 16 x 20.
Donc, la longueur d'un bloc sera :
20 / tan ( pi / 10 ) = 61.5536707... Je prend l'entier le plus proche : 62
Pour trouver la valeur de l'étirement, c'est la meme chose : valeur trouvée par le calcul / valeur définie en taille :
61.5536707 / 62 = 0.993...
On duplique / tourne et replace l'espace de texture (il ne faut pas oublier de tourner les faces arrière de 180°):
Dernier exemple : faire un ANNEAU !
Je vais faire un anneau dont la révolution se fait autour de l'axe Y. En 10 sections, d'épaisseur 4 et les cotés feront 16 x 16. Voici donc mon bloc de départ :
Donc, quelle sera la "longeur" du bloc ? On reprend le calcul précédent :
16 / tan ( pi / 10 ) = 49.2429..
Sauf qu'il sagit d'un anneau, et non d'un cylindre, donc pour connaitre la distance de la face extérieur de l'anneau à son centre, je divise cette valeur par 2 ce qui donne :
49.2429.. / 2 = 24.6215
On y est presque : pour faire facilement tourner la section de l'anneau autour du centre, je vais décaler le point de pivot. Or l'anneau fait déja 4 d'épaisseur, et par défaut le pivot est au centre, donc il est déjà à 2 de distance de la face.
Donc il faut déplacer le point de pivot de :
24.6215 - 2 = 22.6215
Ouf, le plus dur est fait, il me reste à déplacer mon espace de texture comme ceci ( du haut vers le bas : haut, avant, bas, arrière (tourné de 180°) )
On dupplique / tourne / décale l'espace de texture:
Et après un peut de dessin, ça peut donner ça:
Et voilà, vous savez comment faire de magnifiques cylindres ! Bien sur vous pouvez mettre plus de sections pour donner un aspect plus "rond", mais ça sera d'autant plus gourmand à afficher !
Re: [TUTO] Faire des cylindres parfaits
SUPER !!! Parfait !!!! magnifique !!!!! que demander de plus ? 

Pseudo IG : benj87
Re: [TUTO] Faire des cylindres parfaits
Bravo ! *clapclap*
I Love CraftStudio !
Créateur de la page CraftStudio Fan :https://www.facebook.com/pages/Craft-Studio-Fan/322277807839142
Créateur de la page CraftStudio Fan :https://www.facebook.com/pages/Craft-Studio-Fan/322277807839142
- Canardu57

-
- Message(s) : 248
- Inscription : 16/03/2012
- Localisation : Lorraine
- Système d'exploitation: Windows 7
Re: [TUTO] Faire des cylindres parfaits
Effectivement, super tutoriel !
Re: [TUTO] Faire des cylindres parfaits
un tuto utile ,précis et très explicatif. bravo!
I'm getting too old for this
I now imagine how you feel
I now imagine how you feel
- hackshield

-
- Message(s) : 92
- Inscription : 04/01/2013
- Système d'exploitation: Windows 7
Re: [TUTO] Faire des cylindres parfaits

Like ?

Ma chaine youtube (Multigaming & Fun)
http://www.youtube.com/user/S0MBR3H3RO
Abonne toi si tu aime les vidéo! ou juste un pouce bleu ?
Re: [TUTO] Faire des cylindres parfaits
Excellente manière de créer des cylindres, mais aussi des cercles : très pratique !
Petite question, est-ce que les parties invisibles des blocs auront une "consistance matérielle en jeu" ? En reprenant l'exemple du carré où on en colorie qu'un cercle circonscrit, est-ce que les pixels transparents seront "solides" dans un jeu ou bel et bien inexistant ?
Merci
Petite question, est-ce que les parties invisibles des blocs auront une "consistance matérielle en jeu" ? En reprenant l'exemple du carré où on en colorie qu'un cercle circonscrit, est-ce que les pixels transparents seront "solides" dans un jeu ou bel et bien inexistant ?
Merci
- ADRi4N

-
- Message(s) : 213
- Inscription : 22/12/2012
- Localisation : Partout...
- Système d'exploitation: Windows 7
Re: [TUTO] Faire des cylindres parfaits
dante231 a écrit:Excellente manière de créer des cylindres, mais aussi des cercles : très pratique !
Petite question, est-ce que les parties invisibles des blocs auront une "consistance matérielle en jeu" ? En reprenant l'exemple du carré où on en colorie qu'un cercle circonscrit, est-ce que les pixels transparents seront "solides" dans un jeu ou bel et bien inexistant ?
Merci
Je crois que non, apres c'est a toi de voir
- Fairydhwen

-
- Message(s) : 10
- Inscription : 26/04/2013
- Système d'exploitation: Windows 8
Re: [TUTO] Faire des cylindres parfaits
Merci pour ce tuto, c'est bien pratique pour faire des cylindres !
(J'ai reproduit rapidement mais par contre je n'ai pas vu à quoi servait de rendre le coin transparent ?)
(J'ai reproduit rapidement mais par contre je n'ai pas vu à quoi servait de rendre le coin transparent ?)
9 message(s)
• Page 1 sur 1
Qui est en ligne ?
Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité




