Created a sun rotation helper OBJECT

Hello guys!

I have created this object with the purpose of helping on the orientation of HDRI maps and can be useful to help with nishita too, since working with rotation settings is not so intuitive for many of us and the sun position in HDRI maps variate a lot.

You just need to put the object in your scene and rotate until the shadow of the needle aligns with the point 0º. Then you have the reference of the rotation angles to adjust nishita or the HDRI map to your desired direction.

Do anyone think it’s useful?

Any suggestion to improve it?

I have searched for a more practical way to do this and I could not find.


Sorry, I forgot to upload the blend file.
sun rotation helper.blend (262.4 KB)

Is the 0° aligned toward +y or -y? (Sorry I can’t open the .blend rn)

It’s aligned with the Y axis, since its the axis that Nishita sky uses as default. But it really doesn’t matter much since you rotate it to align with your sun.
What is you Blender version?

Ah it’s just that I’m not near my computer (I should avoid using abbreviations :grin:) . Wouldn’t this only work when the camera is aligned to the y-axis? Also, I generally don’t like to have the sun shine head on at the model, I mostly have it as a rim light or at an angle. So if would personally be easier for me to change the mapping and get feedback in realtime.

Well it works! I am not sure if I would find it useful but it is always worth while to think about things.

It occurred to me to add a pointer you could use as a driver to be able to rotate it and automatically update the mapping. Here is the file, try rotating the pointer. When you do the original rotation of the sun dial to line up “0” you would have to rotate the pointer as well.
sunRotHelper2.blend (248.0 KB)

Although on second thoughts you would also have to set up the driver each time!
Edit Updated file.

It does not “work” on the camera. It is only a reference object to help you decide the orientation of the sun / shadows showing the reference degrees you need to rotate your scene light system to fulfill your needs.

If you rotate the object so it’s 0 degree aligns with the shadow, then you can use this as a reference for the orientation of the sun / shadows for that specific system and forever.

If you use an HDRI it will show you how many degrees you need to set on the map Z rotation at any moment. It will work until you change the HDRI.

Well, if you prefer adjust by your eye it’s not a problem.

1 Like

It would be really nice, but it would depend on programming and in this field I am a 0 to the left. I thought to use it with nodes, but nishita sky has no input sockets. I am sure that with HDRI it could be done.

I did it! Using drivers i connected the rotation of the object with the rotation of the sky. Now you just need to rotate the object and the sky rotates together.

I still need to refine some things.

1 Like

Actually I did it for you (see the file I Linked) I used it to drive the Nitisha rotation value. For an HDRI you can simply right click on the driver (the purple sun rotation value in the Nitisha node) and choose “copy driver”, then in the mapping node of the HDRI right click the z rotation value and choose “paste driver”.

I have updated the file I linked to include the same driver in an hdri setup (I did not plug it into the background as there is no HDRI in the file). You can append you objects and the world settings into new files.

Drivers are soo useful and are well worth grasping the basic concepts it’s not exactly programming! :slightly_smiling_face:

To setup the driver yourself:

right click the z rotation input field of the pointers transformation properties and choose “copy as new driver”. Then in the Nitisha sun rotation value (or the hdri mapping node z rotation value) right click and choose “paste driver”.

The driver is now done and the sun rotation value will turn purple. The only tricky bit is that the driver will work backwards! So you have to right click the purple value and choose edit driver, change the drivers settings “type” from “average value” to “scripted expression”. Then in the “expression” field add a minus sign “-” before “rotation_euler”.

Edit while I was answering you sent your reply, I am glad that you worked it out! :grinning:


Lol. I did the same, but now I put the needle and you just need to rotate the needle and use the base as a reference.

I have already a node group to set the rotation of the HDRI that should be connected to the vector input slot of the HDRI node.

I solved that just making: var*-1

Give it a look:
sun rotation helper.blend (1.1 MB)
Somehow the file became a bit big. I believe it’s because I’ve converted the text into meshes.

Yep Woks fine! :grinning:
Edit: You locked the z rotation of the disk which is fine once set the “0” position but has to be unlocked to set the sun position for an hdri.

Actually not. First you need to rotate the HDRI map to the 0 position of the base. From then on it will be driven by the needle rotation.

You see on the base what is the rotation necessary to adjust the hdri rotation to the point 0.

Changed a bit the mesh and now the file has less than a half of the size. It could be even a bit smaller, but I did it fast.
sun rotation helper.blend (482.9 KB)

Ok I see, I was thinking the other way round , rotatating the base to match the hdri.

1 Like

I prefer not to do it because I ALWAYS use HDRI maps as background images with Nishita to have a more interesting environment. This way they are connected and rotating together. :wink: