Vehicle detection box now is not affected by scale

Exposed hide material distance to bp.
This commit is contained in:
LuisPoveda 2022-10-26 10:17:35 +02:00 committed by bernat
parent d001e1b78c
commit 2925c33ce0
4 changed files with 11 additions and 8 deletions

View File

@ -339,8 +339,6 @@ void AVegetationManager::SetMaterialCache(FTileData& TileData)
if (TileData.MaterialInstanceDynamicCache.Num() > 0)
TileData.MaterialInstanceDynamicCache.Empty();
#define MATERIAL_HIDE_DISTANCE 350.0f
const float Distance = MATERIAL_HIDE_DISTANCE;
for (FTileMeshComponent& Element : TileData.TileMeshesCache)
{
UInstancedStaticMeshComponent* Mesh = Element.InstancedStaticMeshComponent;
@ -359,7 +357,7 @@ void AVegetationManager::SetMaterialCache(FTileData& TileData)
continue;
MaterialInstanceDynamic->SetScalarParameterValue("ActivateOpacity", 0);
MaterialInstanceDynamic->SetScalarParameterValue("ActivateDebug", 0);
MaterialInstanceDynamic->SetScalarParameterValue("Distance", Distance);
MaterialInstanceDynamic->SetScalarParameterValue("Distance", HideMaterialDistance);
Mesh->SetMaterial(Index, MaterialInstanceDynamic);
TileData.MaterialInstanceDynamicCache.Emplace(MaterialInstanceDynamic);
}

View File

@ -88,6 +88,10 @@ public:
public:
UPROPERTY(Category = "CARLA Vegetation Spwaner", EditDefaultsOnly)
bool DebugMaterials {false};
UPROPERTY(Category = "CARLA Vegetation Spwaner", EditDefaultsOnly)
float HideMaterialDistance {500.0f};
//Filters for debug
UPROPERTY(Category = "CARLA Vegetation Spwaner", EditDefaultsOnly)
bool SpawnBushes {true};
@ -105,7 +109,7 @@ public:
float SpawnScale {1.0f};
UPROPERTY(Category = "CARLA Vegetation Spwaner", EditDefaultsOnly)
int32 InitialPoolSize {5};
int32 InitialPoolSize {10};
/// @}
// ===========================================================================

View File

@ -214,10 +214,11 @@ void ACarlaWheeledVehicle::UpdateDetectionBox()
ALargeMapManager* LargeMap = UCarlaStatics::GetLargeMapManager(GetWorld());
if (!IsValid(LargeMap))
return;
FTransform GlobalTransform = LargeMap->LocalToGlobalTransform(GetActorTransform());
const FVector Vec { DetectionSize, DetectionSize, DetectionSize};
const FTransform GlobalTransform = LargeMap->LocalToGlobalTransform(GetActorTransform());
const FVector Vec { DetectionSize, DetectionSize, DetectionSize };
FBox Box = FBox(-Vec, Vec);
FoliageBoundingBox = Box.TransformBy(GlobalTransform);
const FTransform NonScaledTransform(GlobalTransform.GetRotation(), GlobalTransform.GetLocation(), {1.0f, 1.0f, 1.0f});
FoliageBoundingBox = Box.TransformBy(NonScaledTransform);
}
const TArray<int32> ACarlaWheeledVehicle::GetFoliageInstancesCloseToVehicle(const UInstancedStaticMeshComponent* Component) const

View File

@ -354,7 +354,7 @@ private:
public:
UPROPERTY(Category = "CARLA Wheeled Vehicle", EditDefaultsOnly)
float DetectionSize { 500.0f };
float DetectionSize { 750.0f };
UPROPERTY(Category = "CARLA Wheeled Vehicle", VisibleAnywhere, BlueprintReadOnly)
FBox FoliageBoundingBox;