Unreal - 쿼터뷰 시점 벽에 붙었을떄 카메라의 이동

2025. 5. 15. 05:36·Unreal5 프로젝트 다이어리

 

Isomatric View의 고질적인 문제입니다

해당시점과 같은 쿼터뷰는 게임내의 오브젝트가 플레이어를 가리거나

카메라가 물체 바깥에 있는 곳을 보여주는 문제점이 존재합니다

 

 

현재 저의 카메라 시점 설정코드입니다

 

코드를수정해주겠습니다

// Camera Hit
SpringArmComponent->bDoCollisionTest = true;
SpringArmComponent->ProbeSize = 12.0f;
SpringArmComponent->ProbeChannel = ECC_Camera;

// Camera Move
SpringArmComponent->bEnableCameraLag = true;
SpringArmComponent->CameraLagSpeed = 10.0f;

카메라 암 컴포넌트의 bDoCollisionTest옵션을 true로 하여 충돌 감지를 하며

카메라가 벽에 붙으면 카메라암의 위치를 부드럽게 앞으로 앞당깁니다

 

벽에 너무 가까이 가면 플레이어와 카메라가 너무 가까이 붙어버리는

하드 클리핑현상이 일어납니다

또한 카메라가 너무 한번에 붙어버리니 먼가 어색합니다

자연스러운 보간이동을 사용하여 조금더 자연스럽게

카메라 이동을 해보도록하겠습니다

 

보간이동을 위해 필요한 변수 그리고 함수를 선언하겠습니다

//Isomatric View Camera Moving
float originArmLength = 800.0f;
float minArmLength = 400.0f;
float currentArmLength = 800.0f;
float armLengthChangeSpeed = 5.0f;

UFUNCTION()
void UpdateCameraArmLength(float DeltaTime);

 

void ASwordCharacter::UpdateCameraArmLength(float DeltaTime)
{
	float detectArmLength = SpringArmComponent->TargetArmLength;
	//min
	float minArmDesiredLength = FMath::Max(originArmLength, minArmLength);
	float dynamicInterpSpeed = armLengthChangeSpeed * DeltaTime;
	currentArmLength = FMath::FInterpTo(currentArmLength, minArmDesiredLength, DeltaTime, dynamicInterpSpeed);
	SpringArmComponent->TargetArmLength = currentArmLength;

}

 

해당 함수는Tick에서 작동됩니다

 

카메라는 자연스럽게 보간이동하여 하드클리핑 방지를하며 카메라가 벽에 부딪히면

플레이어에게 자연스럽게 카메라가 이동합니다

 

'Unreal5 프로젝트 다이어리' 카테고리의 다른 글

Unreal - 페이드 인 / 아웃  (0) 2025.05.15
Unreal - GameMode로 맵마다 설정을 변경하기  (0) 2025.05.15
Unreal - AI의 회피 알고리즘( RVO )  (0) 2025.05.10
Uneal - EQS Strafe이동  (0) 2025.05.10
Unreal - AI에게 HP 프로그래스바 붙히기  (0) 2025.05.09
'Unreal5 프로젝트 다이어리' 카테고리의 다른 글
  • Unreal - 페이드 인 / 아웃
  • Unreal - GameMode로 맵마다 설정을 변경하기
  • Unreal - AI의 회피 알고리즘( RVO )
  • Uneal - EQS Strafe이동
lucodev
lucodev
커피와 노트북 그리고 개발
  • lucodev
    루코 개발테이블
    lucodev
  • 전체
    오늘
    어제
    • 분류 전체보기 (121) N
      • Unreal5 프로젝트 다이어리 (73)
      • Unreal5 프로젝트 다이어리2 (3) N
      • Unreal 팁 (8)
      • Unreal 디버깅 (8)
      • C++ 프로그래머스 다이어리 (21) N
        • Stack (3)
        • Hash (4)
        • Heap (2)
        • Sort (1) N
      • 코드 개인보관함 (8) N
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 링크

  • 공지사항

  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 태그

    unreal 컷씬
    언리얼 시퀀스
    언리얼 비헤이비어트리
    언리얼 behaviortree
    unreal 로딩
    언리얼 로딩창
    unreal 모션매칭
    언리얼 motionmatching
    언리얼 foot step
    unreal sequence
    언리얼 컷씬
    unreal loading
    언리얼 로딩
    unreal 시퀀스
    unreal look at
    언리얼
    언리얼 모션매칭
    언리얼 look at
    언리얼 페이드 아웃
    언리얼 behavior tree
  • hELLO· Designed By정상우.v4.10.3
lucodev
Unreal - 쿼터뷰 시점 벽에 붙었을떄 카메라의 이동
상단으로

티스토리툴바