1
$\begingroup$

I'm using instances from a collection to generate points on which I will place other objects (instances). I want that these new instances have the same orientation as the original instances.

enter image description here

I tried this but it doesn't work

enter image description here

Any idea on how I could transfer rotation attributes between them?

Thanks

$\endgroup$
2
  • $\begingroup$ It's amazing this is so hard to do at the moment... consider instancing a proxy plane on a vertex (which will carry the rotation information,) and pick rotations up from its realized normal? Will get to it when I can, but may not be that soon. $\endgroup$
    – Robin Betts
    Commented Dec 22, 2021 at 13:31
  • $\begingroup$ If your question has been solved, please be so kind and mark the answer that contributed to the solution as "Accepted answer" so that this question will not continue to be displayed as unsolved. Thank you! Here you can find more information: What should I do if someone answers my question?. If you still haven't gotten a solution to your question, please be kind enough to address it. $\endgroup$
    – quellenform
    Commented Oct 24, 2022 at 17:51

2 Answers 2

1
$\begingroup$

As suggested in my earlier comment, in the absence of a Rotation input node.. (Why isn't there one? Maybe it's coming, unless there's some semantic hitch?)..

..You can instance a single-face proxy on one of the vertices of each of your instancers. That will be created with the instancer's rotation. Its face-index, when realized, should be in sync with the point-index (when the instancers are converted to points).

enter image description here

You can pick up the Normal of the realized proxy, to get the Z-axis of the instancer, and then rotate the proxy by 90 around its local Y to have its Normal point down the instancer's X, and extract that vector, too.

A 2-stage alignment can generate a Euler rotation which can be used as the 'Rotation' with which instances are created:

enter image description here

I've only included a 'Factor' input in the group for debugging and illustration. The group is probably better off without it.

enter image description here

(Blender3.0)

$\endgroup$
5
  • $\begingroup$ Now someone else will answer this in one snappy little move... :D $\endgroup$
    – Robin Betts
    Commented Dec 22, 2021 at 20:08
  • $\begingroup$ WOW! Robin, thank You so much. I had no idea that instancing an object on one of the vertices of each of the instances would keep the original instance orientation. I assumed all of the instanced grid(s) would have a unique 0,0,1 orientation. This was an eye opener. Thanks again for taking the time to create the example file and explain this in detail. $\endgroup$
    – Vic Marco
    Commented Dec 23, 2021 at 10:52
  • $\begingroup$ @VicMarco np. I did it for myself, as well :) $\endgroup$
    – Robin Betts
    Commented Dec 23, 2021 at 14:03
  • 1
    $\begingroup$ @RobinBetts Did you mean that "snappy little move"? blender.stackexchange.com/a/273186/145249 ...I don't think you can get any leaner than that at the moment. $\endgroup$
    – quellenform
    Commented Aug 28, 2022 at 17:53
  • $\begingroup$ @quellenform So rude! I never did answer this comment... You did get the +1 at the time.. .. must have been distracted :) $\endgroup$
    – Robin Betts
    Commented Jan 15, 2023 at 16:49
1
$\begingroup$

Blender 3.1

With this solution you can create the rotation of the individual objects of a collection with minimal excess geometry:

enter image description here

Here I first move the instances along their local axes on Z and X, and thus create the crucial directions (normals/tangents).

These are then simply turned into a rotation with Align Euler to Vector, and you can use this directly for instantiation or other processing.


(Blender 3.1)

Blender 3.3+

With this version things become a lot easier, because here only the node Instance Rotation is needed:

enter image description here


(Blender 3.3+)

$\endgroup$
1
  • 1
    $\begingroup$ Hehe... I forgot the essential refinement of the prophecy... 'Someone beginning with 'q' . :D $\endgroup$
    – Robin Betts
    Commented Aug 28, 2022 at 18:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .