I am working on updating an importer for Structure Synth and I am realizing that it might actually not be practical. In structure synth, you can create thousands and thousands of objects, each of which will be exported. Consequently, you would need to make a material for each one as the color variations can be infinite as well, in other words a slightly variation of color for each one. Now, the exporter does this well, however it seems to me the scene becomes unwieldy very fast. Managing 1000 objects and their corresponding materials is basically impossible.

Right now all I can get out of SS is a translation matrix and RGB values for each object, sphere or cube which I make an ico sphere or cube out of in Blender and then assign a material with RGB value.

Is there anyway to instance the objects and materials but retain the all the different colors without having to have all of those objects and materials?

Thanks in advance.

  • $\begingroup$ There is a tutorial that I found invaluable in understanding this topic available on BlendTuts.com How to Organize Your Scene You should be able to apply this information to your situation. $\endgroup$ – Moog Jun 9 '13 at 10:56

Blender supports Object Color to override the Material RGB Diffuse.

  • Object properties, set a color there (also possible via Python)
  • Link all Objects/Meshes with a single Material, with option Object Color set.
  • $\begingroup$ This looks like what I'm after. I'm gunna give this a try right now and get back to you guys in a jiffy $\endgroup$ – Defor Mations Jun 9 '13 at 16:05
  • $\begingroup$ This is gunna do it. Just having trouble not making a mat for each object. Should hopefully have an alpha release this week $\endgroup$ – Defor Mations Jun 9 '13 at 17:58

It can be achieved by having all cube shaped objects sharing the cube mesh (similarly for the sphere shaped objects). When you perform the steps above, the user count for the mesh data block will be more than one per object type. Even if you delete an object, the mesh data block user count will reduce by one. When user count reaches zero (and no fake user flag is set) the memory allocated for the mesh will be reclaimed (garbage collected or deallocated) of closing he session or quitting Blender.


As for the materials, create a material slot and and attach a material to the object (not the object data, which is the default). Some material slots can have materials attached to the object data and some to object (common materials can be attached to the object data and unique ones to the object)


This way memory usage can be tamed and you will have color variation as well.


nono. over the global options there's something like "Scene simplify" it has a goal where you set the number of neperian reductions to the meshes working mainly to the Editor interface not sure. like 10 for a million vertexes you will only have to deal with 99 thousand vertexes which is way more adapted for the GUI interface and will save hundreds of wait cursors


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.