TopDown 게임을 만드는 중인 언렬 초보입니다.


마우스로 공격시 캐릭터에 마우스 클릭지점으로 회전을 주고싶어서 

마우스 좌표를 월드좌표로 옮긴 후 SetActorRocation을 사용했는데 정면 90도 정도만 마우스 클릭(공격)시 회전이 되고, 뒤쪽 나머지 각도를 클릭하면 정반대방향으로 돌거나 아예 회전이 더 이상 안되네요..


혹시 해결법 아시면 코드나 함수 알려주시면 감사하겠습니다.


코드첨부.


void AClickMoveCharacter::TurnToCursor()

{

if (Controller != NULL)

{


FVector mouseLocation, mouseDirection;

  AClickMovePlayerController* playerController = (AClickMovePlayerController*)GetWorld()->GetFirstPlayerController();

  playerController->DeprojectMousePositionToWorld(mouseLocation, mouseDirection);


FRotator currentCharacterRotation = this->GetActorRotation();

FRotator targetRotation = (mouseDirection.Rotation());


FRotator newRotation = FRotator(currentCharacterRotation.Pitch, targetRotation.Yaw, currentCharacterRotation.Roll);

this->SetActorRotation(newRotation);


}

}