17 UPROPERTY(VisibleAnywhere, BlueprintReadOnly) FString Id;
18 UPROPERTY(VisibleAnywhere, BlueprintReadOnly) FString Provenance;
19 UPROPERTY(VisibleAnywhere, BlueprintReadOnly) FTransform Transform;
20 UPROPERTY(VisibleAnywhere, BlueprintReadOnly) TSoftObjectPtr<UStaticMesh> Mesh;
21 UPROPERTY(VisibleAnywhere, BlueprintReadOnly) int32 Seed = 0;
32 UPROPERTY(VisibleAnywhere, Category=
"Vegetation") TObjectPtr<UBoxComponent> GenerationBounds;
33 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Vegetation") FFilePath PlanFile;
34 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Vegetation") TSoftObjectPtr<UPCGGraphInterface> Graph;
35 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Vegetation") TObjectPtr<UPCGComponent> PCG;
36 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Vegetation") FString Status;
38 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category="Vegetation") int32 BakedInstanceCount = 0;
40 UFUNCTION(BlueprintCallable, CallInEditor, Category="Vegetation")
bool ImportPlan();
41 UFUNCTION(BlueprintCallable, CallInEditor, Category="Vegetation")
void Preview();
42 UFUNCTION(BlueprintCallable, CallInEditor, Category="Vegetation")
bool Bake();
43 UFUNCTION(BlueprintCallable, CallInEditor, Category="Vegetation")
void ClearGenerated();
44 UFUNCTION(BlueprintPure, Category="Vegetation") int32 PreviewInstanceCount() const;
45 UFUNCTION(BlueprintPure, Category="Vegetation")
bool IsGenerating() const;
46 UFUNCTION(BlueprintCallable, Category="Vegetation")
void TickCommandletGeneration();
49 UFUNCTION()
void OnGenerated(UPCGComponent* Component);
50 UPROPERTY(VisibleAnywhere, Instanced, Category="Vegetation") TArray<TObjectPtr<UInstancedStaticMeshComponent>> BakedComponents;
51 UPROPERTY()
bool bPreviewReady = false;
61 virtual FName GetDefaultNodeName()
const override {
return TEXT(
"CarlaVegetationPlan"); }
62 virtual FText GetDefaultNodeTitle()
const override {
return FText::FromString(TEXT(
"CARLA Vegetation Plan")); }
63 virtual EPCGSettingsType GetType()
const override {
return EPCGSettingsType::InputOutput; }
67 virtual TArray<FPCGPinProperties>
OutputPinProperties()
const override {
return DefaultPointOutputPinProperties(); }
68 virtual FPCGElementPtr CreateElement()
const override;