Mesh vs Object?

Hi there… I’m still confused about the Mesh vs. Object and how you use them. When I create a model, I always just name the ME and OB the same, but I never knew why they were both there and what uses there were for them. I also notice in the Materials section, that you can switch back and forth between those buttons, but I have no clue as to why you would do that.

Thanks for any help.

Philippe Roubal explained it this way:

In blender, there is a hierarchical structure.
A mesh is only a volume or a surface defined by vertices, edges and faces.
An object is more complex : it includes the mesh (the shape of the object), the material (color, specularity, emit factor, etc…) and the texture applied to the material.
Two objects can share the same mesh. Each object can be resized in object mode as an individual object, but modifying one of the two meshes in edit mode changes also the shape of the other object because they use the same mesh (shape).
When you duplicate an object using the Linked duplication (Alt D), the new object created will share the mesh with the original one.

You can also view this video from Glenn Moyes to see what goes on under Blender’s hood.

First just remember that a Blender scene is a hierarchy of datablocks.
An object is one of them. To the object datablock is linked (most usually) an ObData datablock. This one describes the geometry of the object. There are many types of ObData and a mesh is just one of them. Others can be curves, surfaces, metaball…
So, an object and a mesh are two datablocks and the second is linked to the first to give it a shape (its geometry). An object can only be linked to one ObData (it wouldn’t make much sense to be metaball and mesh at the same time…) but one Obdata can be shared by many objects. So you could have OB: TurtleBob, OB: TurtlePeter OB: TurtleSteve and so on all showing ME: BlueTurtle as their Obdata.
So you could use the strategy of naming ME after what it looks like, keeping in mind that this renaming can affect many objects. Name OB, the object itself after what it is individually.
Material, which is just another datablock, can be linked either to the ObData or directly to the Object. You check one or the other button for that. If you check ‘ME’ all objects that share that ObData will have the same material. If you check ‘OB’ your objects will be able to have different materials.
Remember that the mesh type is just one of many: instead of ME you’d read ‘CU’ instead if the ObData was a Curve or a Surface and ‘MB’ if it was a metaball.

How’s that?


Sorry for reviving a dead thread, I’m just trying to wrap my head around all of this. From what I take from this, in words I would understand, the object is like a football team. Each object can have a couple of different “positions” (e.g mesh, curve, metaball). What I dont understand is why, if I have one team (eg object) why can’t I name each individaul position differently? If I start my team lineups with a linebacker (cube) and decide to add a wide receiver (a plane this time) into that same team (the object) I cannot change the name of that wide receiver, it will continue to have the same name as the linebacker and if I DO decide to change the name of the wide receiver…the name of the linebacker changes as well.

Or in other words, if the above is confusing, if I decided to model a sword in order to actually name each mesh after what it really is (blade, guard, grip and pommel) I’d have to create seperate objects for each…afaik.

All I want to know is, if I can have 2 seperate meshes to one object, why can’t i name those two meshes differently? And if I can…please tell me how because up until now i’ve only been able to have 1 mesh name per object.

Maybe it’s all in how I’m thinking. if i open blenders default scene and go into edit mode and add in another cube, well now i have 2 meshes in the form of 2 cubes, but it’s just one object. That’s how i’m thinking…maybe this is where I’m screwing up?

Please help. The video does a great job in breaking it down and I now know more than I did previously…but it didn’t explain what I was questioning in the first place. Unless I missed it.

Your basic error is to think that you can have two ObData blocks. These define the type of an object and its geometry: in your example the type is ‘mesh’. Other type are Curves, Surfaces, Metaballs… There can be only one per Object.

A solution for your problem would be to use Vertex Groups that you can name. They would be parts of the mesh geometry.