diff --git a/src/systems/logical_camera/LogicalCamera.cc b/src/systems/logical_camera/LogicalCamera.cc index ded8c9c36f..1ba2904163 100644 --- a/src/systems/logical_camera/LogicalCamera.cc +++ b/src/systems/logical_camera/LogicalCamera.cc @@ -255,18 +255,14 @@ void LogicalCameraPrivate::UpdateLogicalCameras( GZ_PROFILE("LogicalCameraPrivate::UpdateLogicalCameras"); std::map modelPoses; - _ecm.Each( - [&](const Entity &, - const components::Model *, - const components::Name *_name, - const components::Pose *_pose)->bool - { - /// todo(anyone) We currently assume there are only top level models - /// Update to retrieve world pose when nested models are supported. - modelPoses[_name->Data()] = _pose->Data(); - return true; - }); - + _ecm.Each( + [&](const Entity &_entity, + const components::Model *, + const components::Name *_name)->bool + { + modelPoses[_name->Data()] = worldPose(_entity, _ecm); + return true; + }); _ecm.Each( [&](const Entity &_entity,