X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fexport_scene.py;h=ac812abf7b115766ab0c08af3848614a4ff99ab4;hb=HEAD;hp=a42d8180c1d3bc0255285935617787c6a4b74a78;hpb=6c881bc1ee3c0af5c1bb4b3794dcb23ba096ac12;p=libs%2Fgl.git diff --git a/blender/io_mspgl/export_scene.py b/blender/io_mspgl/export_scene.py index a42d8180..4f983977 100644 --- a/blender/io_mspgl/export_scene.py +++ b/blender/io_mspgl/export_scene.py @@ -67,7 +67,14 @@ class SceneExporter: def add_instances(self, scene_res, statements, instances, resources): from .datafile import Statement + array_prototypes = [] + for i in instances: + if i.prototype.use_array: + if i.prototype not in array_prototypes: + array_prototypes.append(i.prototype) + continue + obj_res = resources[i.prototype.name+".object"] st = scene_res.create_reference_statement("object", obj_res) if i.name: @@ -76,6 +83,17 @@ class SceneExporter: st.sub.append(self.create_transform_statement(i)) statements.append(st) + for p in array_prototypes: + obj_res = resources[p.name+".object"] + st = scene_res.create_reference_statement("array", obj_res) + + for i in p.instances: + ss = Statement("instance") + ss.sub.append(self.create_transform_statement(i)) + st.sub.append(ss) + + statements.append(st) + def create_transform_statement(self, instance): from .datafile import Statement