Commit: eb302e2501bd7948cd9d8a4de6116ea5a25ceedf
Author: Hans Goudey
Date: Sat Feb 6 23:17:48 2021 -0600
Branches: temp-geometry-nodes-instances-api-v2
https://developer.blender.org/rBeb302e2501bd7948cd9d8a4de6116ea5a25ceedf
Fix bug in instance node
===================================================================
M source/blender/nodes/geometry/nodes/node_geo_point_instance.cc
===================================================================
diff --git a/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc
b/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc
index 164a6ea2460..c5c25bcb1db 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc
@@ -171,12 +171,14 @@ static void
add_instances_from_component_transforms(InstancesComponent &instance
Array<std::optional<InstancedData>> instances_data = get_instanced_data(
params, src_geometry, size);
- for (const int i : IndexRange(size)) {
- if (instances_data[i].has_value()) {
- float4x4 instance_transform;
- loc_eul_size_to_mat4(instance_transform.values, positions[i],
rotations[i], scales[i]);
- instance_transform = transforms[i] * instance_transform;
- instances.add_instance(*instances_data[i], instance_transform, ids[i]);
+ for (const float4x4 &transform : transforms) {
+ for (const int i : IndexRange(size)) {
+ if (instances_data[i].has_value()) {
+ float4x4 instance_transform;
+ loc_eul_size_to_mat4(instance_transform.values, positions[i],
rotations[i], scales[i]);
+ instance_transform = transform * instance_transform;
+ instances.add_instance(*instances_data[i], instance_transform, ids[i]);
+ }
}
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs