#include "PlanetGameMode.h" #include "PlanetPlayerController.h" #include "StereoRenderingManager.h" #include "GameFramework/SpectatorPawn.h" #include "Engine/World.h" APlanetGameMode::APlanetGameMode() { PlayerControllerClass = APlanetPlayerController::StaticClass(); // 真实运行时在 World Settings 里改为 CesiumDynamicPawn DefaultPawnClass = ASpectatorPawn::StaticClass(); } void APlanetGameMode::BeginPlay() { Super::BeginPlay(); // 自动在场景里生成 StereoRenderingManager(如果场景里没有的话) TArray Found; UGameplayStatics::GetAllActorsOfClass(GetWorld(), AStereoRenderingManager::StaticClass(), Found); if (Found.Num() == 0) { GetWorld()->SpawnActor( AStereoRenderingManager::StaticClass(), FVector::ZeroVector, FRotator::ZeroRotator); UE_LOG(LogTemp, Log, TEXT("PlanetGameMode: 已自动生成 StereoRenderingManager")); } }