Hello,

Sorry for the late reply.

When multiplying matrices the order always matter.

I did a script that compute the final matrix of the object that is in a combined scatterer and use this matrix to set the position of a custom object.

You can find the project in the attached file.

#### python code

#Get the combiner

combiner = ix.get_item("project://scene/combiner").get_module()

#Get the scatterer

scatterer = ix.get_item("project://scene/scatterer").get_module()

#Get the red box that will be placed to the instance we want

red_box = ix.get_item("project://scene/red_box").get_module()

#Get the combiner global matrix

combiner_matrix = combiner.get_global_matrix()

#Get the scatterer global matrix

scatterer_matrix = scatterer.get_global_matrix()

#Instance we want to extract the matrix from

#Here we could check if instance_id < instances count

#scatterer_instances = scatterer.get_instances()...

instance_id = 15;

instance_matrix = scatterer.get_instance_matrix(instance_id)

#Create global matrix of the instance in the scatterer

#RESULT = scatterer_matrix * instance_matrix (order matter)

scatterer_instance_matrix = ix.api.GMathMatrix4x4d()

scatterer_instance_matrix.multiply(scatterer_instance_matrix, scatterer_matrix, instance_matrix)

#you could also use this syntax

#ix.api.GMathMatrix4x4d.multiply(scatterer_instance_matrix, scatterer_matrix, instance_matrix)

#Create the CombinerInstance matrix

combiner_instance_matrix = ix.api.GMathMatrix4x4d()

combiner_instance_matrix.multiply(combiner_instance_matrix, combiner_matrix, scatterer_instance_matrix)

#Set matrix to the cube

red_box.set_matrix(combiner_instance_matrix, ix.api.ModuleSceneItem.SPACE_GLOBAL)

Hope it helps,

Kevin