Upgrade Ground Zero vegetation assets

This commit is contained in:
2026-05-21 15:43:14 +00:00
parent 98ab61a7a4
commit dd3d247539
20 changed files with 341 additions and 41 deletions
+13 -8
View File
@@ -9,7 +9,12 @@
namespace
{
void ConfigureFoliageComponent(UHierarchicalInstancedStaticMeshComponent* Component, const FName CollisionProfileName)
void ConfigureFoliageComponent(
UHierarchicalInstancedStaticMeshComponent* Component,
const FName CollisionProfileName,
const int32 StartCullDistance,
const int32 EndCullDistance,
const bool bCastShadows)
{
if (!Component)
{
@@ -19,10 +24,10 @@ void ConfigureFoliageComponent(UHierarchicalInstancedStaticMeshComponent* Compon
Component->SetMobility(EComponentMobility::Static);
Component->SetCollisionProfileName(CollisionProfileName);
Component->SetGenerateOverlapEvents(false);
Component->bCastDynamicShadow = true;
Component->bCastStaticShadow = true;
Component->InstanceStartCullDistance = 120000;
Component->InstanceEndCullDistance = 180000;
Component->bCastDynamicShadow = bCastShadows;
Component->bCastStaticShadow = bCastShadows;
Component->InstanceStartCullDistance = StartCullDistance;
Component->InstanceEndCullDistance = EndCullDistance;
}
}
@@ -36,15 +41,15 @@ AAgrarianFoliagePatch::AAgrarianFoliagePatch()
TreeInstances = CreateDefaultSubobject<UHierarchicalInstancedStaticMeshComponent>(TEXT("TreeInstances"));
TreeInstances->SetupAttachment(SceneRoot);
ConfigureFoliageComponent(TreeInstances, TEXT("BlockAll"));
ConfigureFoliageComponent(TreeInstances, TEXT("BlockAll"), 65000, 95000, true);
ShrubInstances = CreateDefaultSubobject<UHierarchicalInstancedStaticMeshComponent>(TEXT("ShrubInstances"));
ShrubInstances->SetupAttachment(SceneRoot);
ConfigureFoliageComponent(ShrubInstances, TEXT("NoCollision"));
ConfigureFoliageComponent(ShrubInstances, TEXT("NoCollision"), 28000, 52000, true);
GrassInstances = CreateDefaultSubobject<UHierarchicalInstancedStaticMeshComponent>(TEXT("GrassInstances"));
GrassInstances->SetupAttachment(SceneRoot);
ConfigureFoliageComponent(GrassInstances, TEXT("NoCollision"));
ConfigureFoliageComponent(GrassInstances, TEXT("NoCollision"), 9000, 22000, false);
}
void AAgrarianFoliagePatch::ClearFoliage()