사진처럼 플레이어 앞에 캐릭터를 스폰했는데 문제는 스폰된건 맞는데 플레이어 시점에서는 안보입니다......
근데 또 f8눌러서 나가면 보이고 다시 f8눌러서 들어오면 보이네여;;;
뭐가 문제일까요? 코드는 제대로 된건데 어떤걸 만져야할까요?
이건 게임 오버시 장면이고
아래는 f8눌렀다가 다시 들어왔을때 상황입니다.
그리고 아래는 게임모드의 스폰 시키는 함수입니다.
void AMonsterguestGameMode::TriggerGameOver()
{
UE_LOG(LogTemp, Warning, TEXT("게임 오버 트리거됨"));
APlayerController* PC = UGameplayStatics::GetPlayerController(GetWorld(), 0);
if (!PC) return;
if (APawn* PlayerPawn = PC->GetPawn())
{
if (ACharacter* Char = Cast<ACharacter>(PlayerPawn))
{
Char->GetCharacterMovement()->StopMovementImmediately();
Char->GetCharacterMovement()->DisableMovement();
}
PC->SetIgnoreMoveInput(true);
PC->SetIgnoreLookInput(true);
FVector PlayerLoc = PlayerPawn->GetActorLocation();
float GroundZ = 90.f;
PlayerPawn->SetActorLocation(FVector(PlayerLoc.X, PlayerLoc.Y, GroundZ));
}
FVector CameraLoc;
FRotator CameraRot;
PC->GetPlayerViewPoint(CameraLoc, CameraRot);
CameraRot.Pitch = 30;
PC->SetControlRotation(CameraRot);
PC->GetPlayerViewPoint(CameraLoc, CameraRot);
if (!GameoverCharacterClass) return;
FRotator FlatRot = CameraRot;
FlatRot.Pitch = 0.f;
FVector ForwardFlat = FlatRot.Vector();
FVector SpawnLoc = CameraLoc + ForwardFlat * 100.f; // 카메라 앞
FRotator AdjustedRot(0.f, CameraRot.Yaw + 90.f, 0.f);
AdjustedRot.Pitch = 0.f; // X축 회전 제거
AdjustedRot.Roll = 0.f; // Z축 회전 제거
FActorSpawnParameters Params;
AActor* GameoverActor = GetWorld()->SpawnActor<AActor>(GameoverCharacterClass, SpawnLoc, AdjustedRot, Params);
GameoverActor ->SetActorHiddenInGame(false);
UE_LOG(LogTemp, Warning, TEXT("GameOver Actor Spawned at: %s"), *SpawnLoc.ToString());
}
1. 스폰시켰다는 게 Spawn Actor from Class 등으로 스폰했다는 거죠? 직접 Place한 게 아니라 2. 문제 발생 상황 (게이샤 캐릭터 안 보인다는 상황) 스샷도 같이 올려주면 더 좋을 듯
3. 그리고 게이샤 캐릭터 스폰한 지점이 어디인지도 (플레이어랑 같은 좌표에 스폰한 건지 or 좀 떨어진 위치에 스폰한 건지 등등)
플레이어 캐릭터 100cm떨어진곳에 스폰시켜요
코드를 올릴까요??
네 place한게 아니라 spawn을 시킨거에여... 플레이어 엔딩일시 앞에 저렇게 생성되는건데 문제상황은 엔딩 게임오버시 플레이어의 화면고정과 입력이 정지되고 저 괴물을 스폰 시키면 스폰은 됐다고 로그가 뜨는데 안보여요 ㅠㅠ 그리고 f8을 눌렀다가 다시 들어오면 보입니다
사진에 보이는 카메라가 플레이어카메라고 플레이어는 매쉬가 없어서 카메라만 보이는거에여 저 상태에서 f8 다시 눌러서 게임에 진입하면 카메라 화면에서 움직여지지도 않고 입력도 안되는 고정상태입니다
@글쓴 Indie(122.40) 네 그건 이해했음 (플레이어는 1인칭일테고, 게임오버 시 점프스케어로 게이샤 보여준다는 거 ㅇㅇ) "안 보이는 상황" 일 때의 에디터 스샷이 궁금하긴 하네요 이벤트그래프 등도 같이 올려주면 좋고
넹 잠시만요
TriggerGameOver()함수는 작동하는지 보려고 게임모드 beignplay()에서 타이머로 10초 건후 실행시켰는데 이런상황입니다 ㅠㅠ
@글쓴 Indie(122.40) 미안합니다.. 저도 모르겠음 역시 난 언리얼 좁밥 하수였군.. 나중에라도 짐작 가는 거 있거나 하면 다시 오는 걸로....ㅋㅋ.. (사실 빌드했을 때 괜찮으면 괜찮지 않을까 싶기도 한데.. 근본적인 해결은 아니어서ㅋㅋ..)
3번짤 볼때마다 ㅈ같은데 혐짤ㅆ;
프로젝트 세팅에서 Near Clip Plane 낮추기 (0 하면 안됨) 이거 안되면 모르겠다
해결함 바운드 박스 사이즈가 작아서 캐릭터가 다 스폰되도 화면 밖에 있다고 인지되는거였음
요괴가 굉장히 기분이 좋아보이네요...집에 좋은일이 있나봐요...