Bonjour à tous, ceci n'est pas vraiment un tutorial mais plutot une aide regroupant les différentes instructions en LUA nécessaire à faire votre tour.
Rapelle du travail : Créer en lua un script générant une tour à partir d'une seule valeur modifiable. Cette tour sera composée d'une box centrée avec une "courone de box", où chaque box fera donc 1*1*1.
Analyse de l'objet à réalisé :Nous observons donc l'objet à construire.
Rappel : la tour ne doit pas être colorée, celle présentée ne l'est que pour faciliter l'observationLe cube blanc est donc notre base, il nous faudra donc placer par dessu cette base les différentes rangées coloré.
Nous distinguons par aillieurs que la rangée rouge est identique à la bleue, et qu'il ne lui faudrait qu'une rotation de 90° pour être identique à la cyan et la verte.
Donc si nous trouvons le code de la rangée rouge, il nous suffira de changer à quelques peu les coordonées des 3 autres rangées pour les positionner correctement!
Analysons uniquement une seule rangée, elle dépasse d'un cube de chaque côté de notre base.
Pour ce qui est des "dents", nous pouvons soit la créer de 2 manières :
2 box de 1*1*1 l'une sur l'autre, suivit d'une box de 1*1*1, ainsi de suite...
ou bien
1box de 1*2*1 , suivit d'une box de 1*1*1, ainsi de suite...
Pour ma part la 2° solution me parut moins complexe.
Pour ce qui est du reste, c'est connaitre les ligne de script à appliquer...
Instructions utilisées:Création d'une box:nomdelabox
=Mesh.createBox(largeur,hauteur,longueur,couleur
)Positionner une box:nomdelabox
:worldPosition(axe x,axe y,axe z
)Rappel : axe y est compter en tant que l'axe de la hauteurBoucle for:for nomdelavariable=valeurinitiale , valeurfinale, lepas
doinstructions
endRappel : le pas n'est pas obligatoire si celui-ci est de 1Reste d'une division:nomdelavariabledureste
=nomdelavariableàdiviser
%valeurdeladivision
Symbolique de comparaison:== égale à
<> différent de
>= plus grand que ou égale à
<= plus petit que ou égale à
Condition if:if nomdelavariable
symboledecomparaison valeurvoulue
theninstruction si la valeur correspond
elseinstruction si la valeur ne correspond pas
endRappel : si vous n'avez aucune instruction dans le cas où la valeur ne correspond pas, alors ne pas mettre else.Algorithme:1.Introduire valeur de la taile de la tour.
2.Créer et positionner votre cube de base.
3.Faire une boucle de pas de 1 qui testera si la valeur de la boucle à un reste lorsque celle-ci est divisé par 2.
4a.Toujours dans cette boucle, créer et positionner un cube dont la hauteur varie selon le reste et la position varie selon la valeur de la boucle.
4b.Refaire le 4a trois fois, mais en changant la position de votre cube pour faire les 3 autres rangées
5.Fermer la boucle.
Voilà j'espère que ceci vous guidera, même si c'est un peu tard.
Bon travail!