When you create or load new meshes, you get something like this.
As you can see, the mesh "Pawn.b3d" is stored in memory several times with each entity pointing to a seperate one. This takes up extra memory as well as slow things down. Using CopyEntity, you get this
All entities point to the same mesh. You can call Entity commands on each entity just like before, ScaleEntity, RotateEntity, EntityColor, etc... However, anything that happens to the mesh itself occurs to all the entities pointing to it, ScaleMesh, RotateMesh, VetexColor, etc...
mesh entity pawn.b3d <--blackpawn1 pawn.b3d <--blackpawn2 pawn.b3d <--blackpawn3 ... pawn.b3d <--whitepawn7 pawn.b3d <--whitepawn8
As you can see, the mesh "Pawn.b3d" is stored in memory several times with each entity pointing to a seperate one. This takes up extra memory as well as slow things down. Using CopyEntity, you get this
mesh entity pawn.b3d <--blackpawn1 ^ |-------blackpawn2 |-------blackpawn3 |-------blackpawn4 ...
All entities point to the same mesh. You can call Entity commands on each entity just like before, ScaleEntity, RotateEntity, EntityColor, etc... However, anything that happens to the mesh itself occurs to all the entities pointing to it, ScaleMesh, RotateMesh, VetexColor, etc...