2
$\begingroup$

I have developed a habit of hitting shift+d to instance a mesh in a scene many times, except if I were to create 3 instances, I would instance the first mesh, then instance the instanced mesh, and the instance the instance of the instanced mesh

My question is, is this habit functionally equivalent to just instancing the original mesh with no hampering of performance, or is an instance of an instance considered to be unique and separate from the original mesh, and thus incur performance penalties when rendering and so on?

$\endgroup$
3
  • 1
    $\begingroup$ Shift D won't create an instance per se, it will create a new mesh, it will look like the original but it is not the same. To create a real instance you need to press Alt D, in that case the copy (B) will share the exact same mesh as the first object (A), you can verify if you go in Edit mode and change the mesh $\endgroup$
    – moonboots
    Commented Jul 2, 2021 at 20:53
  • $\begingroup$ @moonboots and if I press alt d while having selected B, will the new instance C be equivalent to instance of A or equivalent to an instance of B and thus load the resources more? $\endgroup$
    – Hash
    Commented Jul 2, 2021 at 21:30
  • $\begingroup$ with some Alt D, objects A, B and C will share the exact same mesh (you can test in Edit mode), which will save memory and calculation, you can verify on the top of the Object Data panel $\endgroup$
    – moonboots
    Commented Jul 2, 2021 at 21:38

1 Answer 1

4
$\begingroup$

Objects and meshes are 2 different things, objects are like boxes that are defined by location, rotation and scale (i.e. transform informations) and can contain whatever mesh you want. Several objects can contain the same mesh.

Let's say you have object A which contains mesh X. If you simple duplicate object A (ShiftD), it will create a brand new object, B, that will contain a brand new mesh, Y. Y looks like X but is not X. If you go into Edit mode and change mesh Y, you'll see that it won't change mesh X.

But now let's say that you link-duplicate object A (AltD), it will create a brand new object B, but this object B will contain the exact same mesh as object A, the mesh that we called mesh X. Objects A and B will share the same mesh. You can verify that in the Outliner or in the Object Data panel, and every change you'll make on mesh X will be replicated on any instance of mesh X:

enter image description here

If you want object B to contain another mesh, you can choose this other mesh in the dropdown menu of the Object Data panel, or select the object, shift select the object you want the mesh from and CtrlL (Make Links) > Object Data.

If you have a series of objects that look completely similar, it's better to link-duplicate rather than simply duplicate, it will keep your file lighter as it will count less different meshes.

$\endgroup$
7
  • $\begingroup$ What is the difference between CTRL+C, then CTRL+V, versus shift + D then? Also why was this approach taken? Why must an arbitrary object contain a mesh? Why not just have a mesh be a mesh, why need an extra container in the form of an object? $\endgroup$
    – Hash
    Commented Jul 3, 2021 at 10:37
  • $\begingroup$ Ctrl C + Ctrl V was not used since lately unless you used addons, it looks like Ctrl C + Ctrl V works as an Alt D, not Shift D, so the new object will share the same mesh as the original, while Shift D, as I explained, create a brand new mesh. Why not just have a mesh be a mesh? Precisely because objects allow you to duplicate, transform, texture and animate the same mesh as much as you want, which saves a lot of memory and calculation $\endgroup$
    – moonboots
    Commented Jul 3, 2021 at 10:47
  • $\begingroup$ sorry for my late reply. I am puzzled, why exactly cant a standalone mesh be duplicated, transformed, textured or animated? Why can object do it but not a mesh, if its the mesh that ends up being transformed, and textured and duplicated in the end? $\endgroup$
    – Hash
    Commented Aug 21, 2021 at 20:14
  • $\begingroup$ I don't really understand your question, could you please reformulate? A mesh can be duplicated and transformed. The only thing I said is that, if you duplicate with Alt D, the duplicated mesh will be linked, which means that the new object doesn't contain a new mesh, it contains the same mesh as the original object. On the contrary, f you press Shift D you create a brand new object that contains a brand new mesh. On case 1, if you modify the object, all its instances will be modified, on case 2, as the mesh is unique for the moment, only this mesh will be modified. $\endgroup$
    – moonboots
    Commented Aug 21, 2021 at 20:25
  • $\begingroup$ Textures and animations are totally different datas. Different animations or textures can be assigned to objects that share the same mesh. $\endgroup$
    – moonboots
    Commented Aug 21, 2021 at 20:25

You must log in to answer this question.

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