@@ -243,6 +243,9 @@ FHoudiniGeometryCollectionTranslator::SetupGeometryCollectionComponentFromOutput
243243 OutputObject.OutputActors .Add (GeometryCollectionComponent->GetOwner ());
244244 }
245245
246+ FString BakeFolder;
247+ if (FHoudiniEngineUtils::GetBakeFolderAttribute (GCData.Identifier .GeoId , GCData.Identifier .PartId , BakeFolder))
248+ OutputObject.CachedAttributes .Add (HAPI_UNREAL_ATTRIB_BAKE_FOLDER, BakeFolder);
246249
247250 // See if we need to force the generation of convex hull data for the GC
248251 if (GeometryCollection::SizeSpecific::UsesImplicitCollisionType (GeometryCollection->SizeSpecificData , EImplicitTypeEnum::Chaos_Implicit_Convex)
@@ -391,12 +394,24 @@ FHoudiniGeometryCollectionTranslator::GetGeometryCollectionData(
391394
392395 // Add _GM suffix to the split str, to distinguish GeometryCollections from StaticMeshes
393396 // Additionally add the name to distinguish it from other GC outputs
394- FString SplitStrName = TEXT (" " );
395- if (!NewPiece.GeometryCollectionName .IsEmpty ())
397+
398+ TArray<FString> OutputNames;
399+ if (!HoudiniOutput->GetHoudiniGeoPartObjects ().IsEmpty ())
400+ {
401+ auto & HGPO = HoudiniOutput->GetHoudiniGeoPartObjects ()[0 ];
402+ FHoudiniEngineUtils::GetOutputNameAttribute (HGPO.GeoId , HGPO.PartId , OutputNames, 0 , 1 );
403+ }
404+
405+ if (!OutputNames.IsEmpty () && !OutputNames[0 ].IsEmpty ())
406+ {
407+ GeometryCollectionData->PackParams .ObjectName = OutputNames[0 ];
408+ GeometryCollectionData->PackParams .SplitStr .Empty ();
409+ }
410+ else
396411 {
397- SplitStrName += " _" + NewPiece.GeometryCollectionName ;
412+ GeometryCollectionData->PackParams .ObjectName .Empty ();
413+ GeometryCollectionData->PackParams .SplitStr = NewPiece.GeometryCollectionName + " _GC" ;
398414 }
399- GeometryCollectionData->PackParams .SplitStr = SplitStrName + " _GC" ;
400415
401416 GeometryCollectionData->Identifier .SplitIdentifier = GeometryCollectionData->PackParams .SplitStr ;
402417
0 commit comments