# Instancing the rotation of a SOP's face

Hi! I’ve been trying to work with instancing more with 2D SOPs for some cool effects. One of the things I’ve been trying to do is to have an instanced shape include the rotational data/coordinates of the instancing SOP. I tried to make an example but since this is my first post Discourse won’t let me link it, so please bear with me as I try to describe this.

Okay. So let’s say you’ve got a circle SOP that you’re wanting to instance using a grid. Easy enough to set up; and you can rotate the grid slightly, and that works for the translation, but not the rotation; they won’t match the perspective of the instancing grid. It’s easy enough to rotate the initial circle to match the grid’s rotation, so I suppose a paste bind would work, but that seems frivolous when it comes to workflow. So is there a way to take the rotational data from that grid and use it for instancing too? There’s a really obvious answer I’m missing, I know, I just can’t figure it out for whatever reason.

Anyway, thank you for your time!

Edit: I can link stuff now, I guess? Haha. Here’s an example.
instancing_example.toe (4.3 KB)

I’m confused as to exactly what you’re trying to do, but would the rotate to normals options in second instance page be of use? That allows you to orient the instanced geometries to the normals of the source data. You mentioned perspective, but you are rendering in orthographic in your example, so I’m not sure what you’re goal is, maybe some reference imagery would help people understand?

My apologies, I didn’t describe it well. I wound up just drawing this instead:

Basically I want the squares instanced to be like they are in B, following the face geometry of that grid. I guess that’s the normal? But you would think then that the rotate to normals would dynamically change if I decided to rotate the grid. That isn’t the case though. Also I only saw rotate to vector, which I assume is the same thing?

And yes, a simple answer would be to get back into perspective mode and use the camera more—so thank you for that, and for your reply in general!

Rotate to vector is the functionality yes, it’s just that in many many cases the vector being used is a normal ( which is just a vector with a particular use/definition being the facing direction of a surface).

If you rotate your grid in sops ahead of using it as the instance data, the normals will update to face in the direction of the new orientation of the grid.

In the case you are showing you should be fine to use the rotate to vector functionality of instancing without having to worry about the next option, which is the “up” vector. This is used if you need each instance to rotate in a specific way about that axis, but very often you can get away with the default up options.

As well, for your reference, Matthew Ragan ( @raganmd ) has a very comprehensive set of instancing examples here : TouchDesigner | Instancing Examples – Matthew Ragan

Very helpful in getting to know all the options there are with instancing!

Cheers
Peter

1 Like