11

Over the years I've discovered that I've had much more trouble with scenes where materials were linked to the Mesh Data. This is Blender's default. Then I'll go through the arduous task of re-linking the same material(s) to the Object Data instead. I know that I can set the default on my own machine/install to have materials link to Object Data. I'm curious what's the philosophy behind linking materials to Mesh Data? What are the perceived advantages? Does anyone else have this problem?

Wray Bowling
  • 2,721
  • 16
  • 22

2 Answers2

12

Who knows what the original reasoning behind this was? This default was chosen maybe 15 years ago and there has not been a good reason to change it.

To me it makes some sense to share by default. When you have a particular object that you want to give a different material than the others sharing the same mesh, then you're there in the material tab editing things anyway and you can change the linking to object at the same time.

If linking to object was the default, you might make linked duplicate objects with AltD, placing the object in different places in the scene. But now if you want to change the material you have to go and change each individual object.

Duarte Farrajota Ramos
  • 59,425
  • 39
  • 130
  • 187
brecht
  • 7,471
  • 30
  • 48
  • +1. I also think the same. With a material linked to ObjectData, we can make a copy (break the link) when needed. Its also space efficient to an extent. – satishgoda Jun 04 '13 at 14:53
  • I see what you're getting at, but variety is the spice of life. I think I gathered from this answer that the reason was so that managing duplicated content is less like spaghetti. That's fine. That's a good reason. I will personally choose to not do that because I want as much variation as I can get so that the viewer doesn't notice I'm duplicating things. :) Maybe I will notice a downside eventually and update this question. Thanks Brecht. – Wray Bowling Jun 11 '13 at 11:26
9

Edit: (in response to a comment below) A set reason was never given for this, this is merely a speculative answer based on what I know of this option. You can skip to the bottom for the conclusion.1

To understand this option properly, you need to understand how Blender works with Objects. Almost everything in Blender is organized in a hierarchy of Datablocks. A Datablock can be thought of as containers for certain pieces of information. For example, the Object Datablock contains information about the Object's location while the Object Data (ObData) datablock contains information about the mesh.

Linking a material to obData (to mesh specific data) is ideal when you want a mesh to always have the same material, while linking a material to an object is when you want to have different materials on objects that share the same mesh.

Short explanation: If connected to the object, you can have several instances of the same obData using different materials. If linked to mesh data, you can't.

Further reading..


1Sorry for the extended explanation but it was to clarify this point. In an answer to your question, I don't think there was ever a set stated reason as to why this is. Based on how it works however, I am assuming that it is linked to meshes by default as this might be more ideal for beginners or for quickly setting up a scene. It is much more customizable and intuitive than linking to object.

iKlsR
  • 43,379
  • 12
  • 156
  • 189
  • 1
    This does not answer the question “Why is it linked to ObData by default?” or “What is the perceived advantage of this default choice?” You explained what the option means, but that is not the question being asked here. – Yu Asakusa Jun 04 '13 at 11:08
  • @YuAsakusa there is no 'set' answer to this, See the separate summary. By default, one would want the latter I would assume. Or perhaps I am not understanding the question asked? – iKlsR Jun 04 '13 at 11:11
  • 1
    Thank you for editing. Although I am not sure if linking materials to ObData by default is better for beginners, I do not have any better guess at why the default is like this. Maybe because of a historical reason? – Yu Asakusa Jun 04 '13 at 11:55
  • @YuAsakusa it is merely an assumption based on the actual options and what they do above. I could not find any stated reason as to why. I will ask around and see if I can learn anything more. – iKlsR Jun 04 '13 at 11:59
  • Please don't downvote without a reason, this a learning experience for everyone. If you think I am off or wrong, please say so. I have pretty much the same thing as the other answer. – iKlsR Jun 04 '13 at 19:05
  • @iKlsR I appreciated your original answer. It was far more educational and generally useful in my opinion, though (as others noted) it didn't make a overt statement of the conclusion the OP was looking for. – Gwen Jun 04 '13 at 19:27
  • @Gwenn I act based on feedback, I assumed it might have been overkill for such a simple question. I will probably pull it if it gets any more downvotes, if people aren't finding it useful then it probably isn't. Thanks for the feedback. :) – iKlsR Jun 04 '13 at 19:30
  • 1
    I like this concise answer much better than the original answer (so thanks again). The original answer would be useful as an answer to a separate question asking what this option means. – Yu Asakusa Jun 05 '13 at 11:29
  • Your short answer: "If connected to the object, you can have several instances of the same obData using different materials. If linked to mesh data, you can't." is precisely what I am frustrated with. I feel like I am alone in changing that setting all the time because I recycle meshes all the time, want the improvements to show in all instances, but i also want to have variations of those instances via different materials. It just makes sense. ~ Also I agree about this being a learning experience. Thanks everyone for trying my question. – Wray Bowling Jun 11 '13 at 11:21
  • @WrayBowling you are probably a unique exception here ;). As there has been no set reason as to exactly why. It would be best to adjust this in the prefs window. – iKlsR Jun 11 '13 at 11:24
  • It would be interesting to somewhat get a survey on what most people in the blender community prefer. Linked to Object or Linked to Data by default. – Harry McKenzie Jul 17 '23 at 02:37