I need to be able to assign the brightness of an emission shader to an action. How can I do this? Do I have to use drivers?
If the material has keyframes, they should appear in NLA, Graph and Dopesheet Editor automatically (if they are active).
Just insert keyframes to the properties of your material that needs to change (in this case, the emission strenght).
Only if you want to derive your material animation from some other input. For example, if the brightness depends on the rotation of some object, etc.
I see that it exists in the NLA editor, but I don’t see it in the Action Editor.
However in the Dopesheet I can fully see the keyframes:
Do you know why this is? I’m sure it’s something I am doing wrong, I’m just not sure what.
I believe it’s a safety feature, as materials are somewhat independent from objects (the action editor filters object actions)…
But still, if you want to have the material keyframes showing in the Action Editor, you need to change the the ID_root_type
from the Shader action to “Object” (either in the outliner, as in the console)…
bpy.data.actions['Shader NodetreeAction'].id_root = 'OBJECT'
Note that the UI is clear about this change, and it says:
Thank you. I was searching this too.
Hey, where can I find the Shader action/ID root type?
In the Outliner, when set to ´Data API´… then inside the Actions
…
The ID_Root should be the last item in each Action.