Par rotation primitive avec vop

 


Défi amusant des forums. L’astuce ici est de réutiliser les vops d’instancer de bas niveau pour nos propres besoins. Le 'make instance transform' fait ce qu’il dit, il fera de vous une matrice qui a les attributs réguliers de l’instancer comme entrées (orient, pourriture, échelle, etc.). Une fois que vous avez une matrice, vous pouvez multiplier tous les points par cette matrice, et ils seront dûment transformés.


Donc, avec cela comme objectif final, nous devons maintenant le nourrir les bonnes choses, à savoir le pivot de la transformation et l’orientation / rotation. Le pivot sera le centre de chaque primitive, donc en utilisant le 'get primitive attribute' vop, nous interrogeons le primnum auquel appartient le point actuel, et renvoyons la position P du centre des uv implicites (c’est-à-dire 0,5/0,5).


Pour la rotation, si nous voulons juste tourner autour de la normale, nous pouvons simplement extraire la normale avec la « normale primitive » vop. Mais ici, nous voulons tourner perpendiculairement à la normale (la tangente ou binormale). Une façon d’obtenir cela est de définir un vecteur à partir de 2 points sur chaque face. En utilisant 2 autres vops « obtenir un attribut primitif », nous interrogeons le point à uv (0,0) et à uv (0,1), soustrayons l’un de l’autre pour obtenir un vecteur, que nous pouvons utiliser comme axe de rotation.


Maintenant que nous avons un axe et une quantité de rotation pilotée par le cadre actuel, comment pouvons-nous l’obtenir en tant que quaternion d’orientation nécessaire à la transformation d’instance? J’ai triché ici et j’ai trouvé une réponse de quelqu’un d’autre; le vop « rotation » est la clé. J’ai été surpris de constater que bien qu’il y ait une prise pour une matrice, ce n’est pas nécessaire. Donc, je nourris dans l’axe et la rotation, ce vop alimente un vop 'matrice à quaternion', et enfin cela est alimenté comme attribut orient à la transformation d’instance vop.


Plaisir supplémentaire à avoir en ajoutant divers nœuds multiplier et ajouter avec des paramètres promus pour contrôler l’effet de plume mystique flottant.




0 Commentaires