TL;DR addon link: https://gumroad.com/l/propdriver
Blender 2.92 has been released a couple of days ago and among the many new features is an improved Attribute node for the node editor:
You now have the option to feed object/instancer properties into a shader. Why is that so exciting? Well before 2.92 you didnt have many options to reuse a material on different objects with object-specific paramters.
For example you have a complex shader for an animated effect. Now if you want to reuse that effect you dont want the exact same effect happening every time. We already had options to make material instances unique with for example the Location output of the “Object Info” node. But what about for example if you want to change the color or the length of the animation or the starting frame ect. There is the Color output on the “Object Info” node as well but you are limited to 3 channels, so a parametrized color already sucks up all your options.
Thats where the new Attribute Node comes into play. If you set its type to “Object” or “Instancer” you have access to object-specific properties.
This way you get access to all properties of the object with the material you are working on, for example its location, rotation, scale …
The same goes for custom properties so you can have unlimited parameters for your materials.
But you still cannot easily access properties of other objects. One common usecase is for example getting the rotation of a sun lamp to make a custom Lambert shader.
To make this possible I decided to create an addon for just that. It copies location, rotation and scale of any object and pastes them as a custom property to your desired object. In the example case you would copy the rotation of the sun lamp and paste it as a custom property to the object you want to shade.
This addon is available for free on Gumroad and very easy to use. It also doesnt mess up your N-Panel because it becomes a sub-panel of the “Tool” panel. So no cluttering.
If you decide to check it out, feel free to comment your thoughts on it or ways to improve it.