@@ -812,9 +812,6 @@ FHoudiniOutputTranslator::BuildStaticMeshesOnHoudiniProxyMeshOutputs(
812812
813813 // Keep track of all generated houdini materials to avoid recreating them over and over
814814 TMap<FHoudiniMaterialIdentifier, TObjectPtr<UMaterialInterface>> AllOutputMaterials;
815-
816- bool bFoundProxies = false ;
817- TArray<UHoudiniOutput*> InstancerOutputs;
818815 for (int Idx = 0 ; Idx < HC->GetNumOutputs (); Idx++)
819816 {
820817 UHoudiniOutput* CurOutput = HC->GetOutputAt (Idx);
@@ -826,7 +823,6 @@ FHoudiniOutputTranslator::BuildStaticMeshesOnHoudiniProxyMeshOutputs(
826823 {
827824 if (CurOutput->HasAnyCurrentProxy ())
828825 {
829- bFoundProxies = true ;
830826 FHoudiniMeshTranslator::CreateAllMeshesAndComponentsFromHoudiniOutput (
831827 CurOutput,
832828 PackageParams,
@@ -841,20 +837,6 @@ FHoudiniOutputTranslator::BuildStaticMeshesOnHoudiniProxyMeshOutputs(
841837 );
842838 }
843839 }
844- else if (OutputType == EHoudiniOutputType::Instancer)
845- {
846- for (auto & CurOutputObject : CurOutput->OutputObjects )
847- {
848- if (CurOutputObject.Value .ProxyComponent != nullptr
849- || CurOutputObject.Value .ProxyObject != nullptr )
850- {
851- // This is a single instance instancer (a mesh)
852- // that will need to be rebuilt
853- InstancerOutputs.Add (CurOutput);
854- bFoundProxies = true ;
855- }
856- }
857- }
858840
859841 for (auto & CurMat : CurOutput->AssignmentMaterialsById )
860842 {
@@ -864,32 +846,8 @@ FHoudiniOutputTranslator::BuildStaticMeshesOnHoudiniProxyMeshOutputs(
864846 }
865847 }
866848
867- // No proxies were found
868- // TODO: Dont return if we found instancers???
869- if (!bFoundProxies || InstancerOutputs.Num () <= 0 )
870- return true ;
871-
872- // We might need to also rebuild some instancer outputs (single instance instancer)
873- // And we might need to destroy the proxies for the instancer outputs before rebuilding the instancer
874- if (bInDestroyProxies)
875- {
876- for (auto & CurOutput : InstancerOutputs)
877- {
878- for (auto & CurOutputObject : CurOutput->OutputObjects )
879- {
880- if (CurOutputObject.Value .ProxyComponent )
881- FHoudiniMeshTranslator::RemoveAndDestroyComponent (CurOutputObject.Value .ProxyComponent );
882-
883- if (IsValid (CurOutputObject.Value .ProxyObject ))
884- {
885- CurOutputObject.Value .ProxyObject ->MarkAsGarbage ();
886- }
887- }
888- }
889- }
890-
891- // Rebuild the instancers
892- FHoudiniInstanceTranslator::CreateAllInstancersFromHoudiniOutputs (InstancerOutputs, HC->GetOutputs (), OuterComponent, PackageParams);
849+ // Bug: 150419
850+ // No need to recreate instancers when refining proxy meshes.
893851
894852 return true ;
895853}
0 commit comments