2
$\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$

2 Answers 2

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$
4
  • $\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$ Commented Dec 28, 2018 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
    Commented Dec 28, 2018 at 14:02
  • $\begingroup$ that's a way I do it at this moment, but I just tired of copypasting keyframes $\endgroup$ Commented Dec 28, 2018 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
    Commented Dec 28, 2018 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$
1
  • $\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$ Commented Jan 3, 2019 at 21:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .