0

I was hoping I could get some help with a project I'm working on. Basically, I'm using Geometry Nodes to create a rotating dial, with an additional rotating arm holding a (planetary) sphere, reminiscent of an orrery. I created a (non-GN) mesh arm with a sort of filigree to hold the sphere, using GN to instance the (non-GN) sphere on a specific point of the mesh. This allows me to create spheres for other planets that are instanced in. The sphere material is a mapped texture, made with LightningBoyShader (I don't think I can share a .blend for reference as a result, so I'll try to be detailed.

My goal is to have the sphere point face the camera, such that the glyph texture faces the camera in an upright position. With the (Neptune) glyph, you can assume the arrows point up in a local +Y direction, as it rotates on the Z axis. From what I've looked into, Align Euler to Vector would be a functional solution; however, the dial on which the arm rotates can rotate itself. At first it seems functional enough, but using both rotation values (which I believe are necessary/essential to the project as a whole) complicates things - more so when I start introducing camera movement for rendering from different angles.

I started research with a CGCookie visualization of Euler axes and made my own "Mesh Axes" node group to get to the bottom of what was happening. It seems to align to the camera successfully, until I try to move the camera itself. That's when things started to fall apart. From what I'm seeing, Sphere 1 (arm rotation value) points Z-axis at camera, but Sphere 2 (arm rotation + cylinder rotation value) reveals that neither sphere actually tracks the camera's relative position but merely uses the camera's vector (CGCookie explains this in the link above), skewed by the additional rotation. Here's one last look at the spheres rotating without mesh axes, to see the way they rotate as the arm/cylinder rotate.

Keeping this in mind, I ask my question: How would I go about correcting both of these spheres, such that they both

(a) point at the camera?

(b) remain oriented with the glyph pointed upright?

My brain is pretty worked over from everything up until this point, so I'm hoping someone can help me connect the dots to what I'm missing.

Here is the main GN setup The parent node group

and the child node group that instances the geometry The child node group

as well as a closeup of the sphere with its glyph. It rotates on the local Z-axis, and its arrows point in the local +Y direction Closeup of UV Sphere with material, the glyph is texture-mapped

Thanks for listening!

  • Maybe this would help: https://blender.stackexchange.com/a/243319/35559 Or, perhaps you can do this with shaders alone: https://blender.stackexchange.com/a/200352/35559 – Robin Betts Dec 20 '22 at 09:21
  • Yes, thank you! Working with shaders is giving me much less of a headache when it comes to the textures staying upright! – ItJustDonn Dec 22 '22 at 06:33

0 Answers0