1
$\begingroup$

I created material with some parameters animated. I applied different copies (with unique names) of this material to different objects, but for some reason animation parameters are still in synchronization, like I edit exact the same fcurve in different materials. How can I disable this and made fcurves unique for each of the materials?

$\endgroup$
0
$\begingroup$

There is a simple solution I use in 2.76b. Just use nodes for those materials, and animate values in the nodes. It will block each material instance. But if you animate the same options in the properties editor - it will animate them all. It's a bug.
Note: To see your keyframes on the timeline you have to select the node.
And yes, check beforehand, whether or not you use the different materials indeed. I mean, material can be linked to the objects, and to their respective object data as well. So, this check may show, if you have multiple objects, sharing the same object data, hence the materials.


I did reproduce that situation, and I think, I found a solution to avoid the channels to be linked but not copied on material duplicated.
So the solution is pretty simple - DO NOT PRESS PLUS BUTTON to copy the material, instead use the numbered button which shows the number of shares. This works for me in Blender v2.76b on Windows XP 32 bit.
See the explanations below.
The problem: bad The solution: good
And please, don't tell Captain Disillusion about those buttons! ;-)

$\endgroup$
  • $\begingroup$ It was already done by the node system. Materials and objects are actually different, but animated nodes stay the same or share the same curve channel, idk, when being copied $\endgroup$ – brother_frost Dec 28 '18 at 13:55
  • $\begingroup$ each node has its own animation channel. Try this: in the node editor right click on the animated value, and clear the keyframes. It must change the color to gray. Then animate it again. Once again, do not use properties editor - change values, and add keys in the node editor window. $\endgroup$ – Mechanic Dec 28 '18 at 14:02
  • $\begingroup$ that's a way I do it at this moment, but I just tired of copypasting keyframes $\endgroup$ – brother_frost Dec 28 '18 at 14:13
  • $\begingroup$ they are Cycles materials or Blender internal? And can you create a blank blend file, append a couple of your materials to it, and assign them to a couple of cubes, and share the blend? $\endgroup$ – Mechanic Dec 28 '18 at 15:26
0
$\begingroup$

It happens as make single user retains animation action in shader node tree. The easiest way is to use this procedure:

TL;DR: Copy paste Material and Fcurve Data in a new blank material node.

  1. Make sure your animation has a null keyframe at 0.

  2. Now select another object you want to animate with material

  3. press new material

  4. select all in the material node and delete

  5. go to the animated material node and select all node and copy ctrl+c

  6. go to that second object blank material node and paste ctrl+v

  7. Now copy the fcurve of your animation started from 0 by going to graph editor>slect the animated node>select all fcurve>ctrl+c

  8. now go to timeline "0" and select the non animated material. Set key to the parameter you want to animate

  9. now paste Fcurve

A demo tutorial: https://youtu.be/gQVddQ9AgGs

$\endgroup$
  • $\begingroup$ I already wrote that I tired of copypasting and that I am searching for another method, bro But I am very amazed that people here are ready to wrote such informative step by step solutions, I wish you guys +1000 to karma $\endgroup$ – brother_frost Jan 3 at 21:00

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.