25 TriggerDefinition.
Class = AFrictionTrigger::StaticClass();
27 TArray<FActorDefinition> TriggerDefinitions;
32 TriggerDefinitions.Add(TriggerDefinition);
34 return TriggerDefinitions;
39 const FTransform &Transform,
42 auto *
World = GetWorld();
45 UE_LOG(LogCarla, Error, TEXT(
"ATriggerFactory: cannot spawn trigger into an empty world."));
50 if (GameInstance ==
nullptr)
52 UE_LOG(LogCarla, Error, TEXT(
"ATriggerFactory:: cannot spawn trigger, incompatible game instance."));
61 ESpawnActorCollisionHandlingMethod::AlwaysSpawn);
63 if (Trigger ==
nullptr)
65 UE_LOG(LogCarla, Error, TEXT(
"ATriggerFactory:: spawn trigger failed."));
71 check(Episode !=
nullptr);
72 Trigger->SetEpisode(*Episode);
78 Trigger->SetFriction(Friction);
81 FVector Extent {100.0f, 100.0f, 100.0f};
93 Trigger->SetBoxExtent(Extent);
95 UGameplayStatics::FinishSpawningActor(Trigger, Transform);
UE_LOG(LogCarla, Log, TEXT("UActorDispatcher::Destroying actor: '%s' %x"), *Id, Actor)
TSharedPtr< const FActorInfo > carla::rpc::ActorState UWorld * World
TArray< FActorDefinition > GetDefinitions() final
FActorSpawnResult SpawnActor(const FTransform &SpawnAtTransform, const FActorDescription &ActorDescription) final
static void MakeTriggerDefinition(const FString &Id, bool &Success, FActorDefinition &Definition)
根据ID创建触发器参与者定义,并返回操作是否成功。
static float RetrieveActorAttributeToFloat(const FString &Id, const TMap< FString, FActorAttribute > &Attributes, float Default)
UCarlaEpisode * GetCarlaEpisode()
static UCarlaGameInstance * GetGameInstance(const UObject *WorldContextObject)
TSubclassOf< AActor > Class
要生成的参与者类(可选)
TMap< FString, FActorAttribute > Variations
用户选择了参与者的变化版本。请注意,此时是 由不可修改的属性表示
TSubclassOf< AActor > Class
要生成的参与者类