Par rotation primitive avec vops

 

Par rotation primitive avec vops

Prim rot vop.gif

Prim rot vop network.gif

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

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

Donc, avec cela comme objectif final, nous devons maintenant lui fournir 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 vop 'get primitive attribute', 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 simplement tourner autour de la normale, nous pouvons simplement extraire la normale avec le vop 'normal primitif'. 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 l'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 entraînée par l'image actuelle, 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 par 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, j'alimente l'axe et la rotation, ce vop alimente un vop 'matrice à quaternion', et enfin cela est alimenté en tant qu'attribut orient vers le vop de transformation d'instance.

Plus de plaisir à avoir en ajoutant divers nœuds de multiplication et d'ajout avec des paramètres promus pour contrôler l'effet de plume mystique flottant.

0 Commentaires