Cubes marchant

 

Cubes marchant

Cubesmarch.gif

Télécharger la scène : File:cubes_marching_v02.hipnc

Cubes qui marchent, pas [ cubes en marche ], à quoi je ressemble, un magicien du rendu ?

J'espère que ce sera ma dernière distraction "déplacer les choses le long des courbes", mais c'est un effet que j'ai dans le dos depuis des lustres (je pense depuis que j'ai vu un court métrage basé sur ce genre de cubes à siggraph en 2001 !), très satisfaisant d'avoir enfin réussi.

L'idée est la même que la précédente, courbes, points de dispersion, obtenir des uv, animer leur attribut u, interpoler sur une courbe pour les faire suivre le chemin, copier des boîtes emballées vers les points.

Pour faire tourner les boîtes, j'obtiens la vitesse ponctuelle, le produit croisé pour obtenir un axe de rotation à 90 degrés de la vitesse, et j'utilise la longueur de @v pour déterminer une vitesse de rotation. Je le mets également à l'échelle par le 1/@pscale de chaque point, donc les grandes boîtes tournent lentement, les petites rapidement.

Un deuxième wrangle est utilisé pour obtenir les limites de chaque boîte emballée et les traduire par la composante y de la limite inférieure. Pour une raison quelconque, je ne pouvais pas faire tout cela en une seule dispute. Je sais qu'il y a quelques occasions où définir et obtenir des choses liées en un seul coup ne fonctionnera pas, vex retardera intentionnellement certaines choses à la fin de l'appel vex pour éviter les conflits. Il semble que définir une transformation et obtenir des limites pourrait être l'une de ces situations.

En aparté, les limites compressées sont stockées sous forme de tableau flottant. Comment ai-je su quelle valeur dans le tableau avait le décalage de hauteur dont j'avais besoin ? Eh bien, je ne l'ai pas fait; J'ai juste commencé à 0 et j'ai continué à augmenter les nombres jusqu'à ce que les cases soient correctement placées. Heureusement pour moi, c'était dans les 3 premiers chiffres. :)

0 Commentaires