diff --git a/src/IECoreMaya/SceneShapeSubSceneOverride.cpp b/src/IECoreMaya/SceneShapeSubSceneOverride.cpp index 7670433c9c..4df30a6c19 100644 --- a/src/IECoreMaya/SceneShapeSubSceneOverride.cpp +++ b/src/IECoreMaya/SceneShapeSubSceneOverride.cpp @@ -1418,16 +1418,6 @@ void SceneShapeSubSceneOverride::visitSceneLocations( const SceneInterface *scen return; } - // respect visibility attribute - if( sceneInterface->hasAttribute( SceneInterface::visibilityName ) ) - { - ConstBoolDataPtr vis = runTimeCast( sceneInterface->readAttribute( SceneInterface::visibilityName, m_time ) ); - if( vis && !vis->readable() ) - { - return; - } - } - MMatrix accumulatedMatrix; if( !isRoot ) { @@ -1473,6 +1463,10 @@ void SceneShapeSubSceneOverride::visitSceneLocations( const SceneInterface *scen int count = 0; for( const auto &instance : m_instances ) { + if ( !instance.visible ) + { + continue; + } std::string instanceName = rootItemName + "_" + std::to_string( count++ ); MString itemName( instanceName.c_str() ); MRenderItem *renderItem = acquireRenderItem( container, IECore::NullObject::defaultNullObject(), instance, relativeLocation, bound, itemName, RenderStyle::BoundingBox );