언리얼엔진/언리얼 C++

Control Rotation

season97 2024. 10. 14. 14:47

 개인적인 공부를 위해 포스팅 하는 글입니다.




# 부드러운 이동하기

이렇게 코드를 작성하니 부드럽지 않고 뻑뻑하게 플레이어가 이동했었다.

 

 

# 수정된 코드

ㆍ 코드를우선 이렇게 수정했다. 무슨 의미일까? 참고로 ForwardVector는 1,0,0이라는 단순한 값이다. 어떻게 사용하느냐에 따라 월드좌표 로컬좌표 쓸수있는 좌표가 다르단 뜻. 

ㆍ 단순이 리딩을 해보면 컨트롤러의 회전값을 가져와서 방향을 그 기준으로 저장해주고 폰의 인풋에다가 넣어주고 있다.

ㆍ 그리고 Input_Turn에서 AddYawInput을 통해 컨트롤러에다가 yaw값을 기록 해 주고 있다.

 

# 눈으로 보기 

1. 우선 실질적인 이동을 처리하러면  무브먼트와 관련된 컴포넌트를 하나 추가 해 줘야 한다. 일단은 FloatingPawnMovement를 추가 해 줬다.

 

2. 테스트를 위해 단순한 scene컴포넌트를 만들고 그 안에 큐브를 넣어줬다. 

 ㆍ 뷰포트엔 이런 모습이 나오게 된다. 

ㆍ 눈으로 확인 해 보기 위해 매 틱마다 큐브 소켓을 컨트롤러의 회전값으로 넣어서 확인 해 봤다.

ㆍ 내가 카메라를 회전할 때 마다 회전값이 이동하고있다! 이걸 내 캐릭터에 적용을 시키고싶다면? 언리얼에선 기능을 지원한다.

ㆍ 포폴 만들었을 떄 썻던 컨트롤러 회전 요 사용이 이런 뜻이였구나 싶다. 컨트롤러 요 사용 체크하는게 컨트롤러의 요값으로 내 캐릭터를 같이 회전시키겠단 의미였구나 이게 

ㆍ 예를들어 배틀그라운드의 alt키 입력 후 프리뷰를 하는 기능을 보고싶다면 저 체크를 풀어주면 되는 것 (그렇게되면 폰이 보는 방향 기준으로 forward가 적용되어 앞으로 가고, 내 카메라는 휙휙 돌아갈 것이다)

ㆍ Spring Arm에도 보면 카메라의 회전에 따른 여러가지 설정들을 만져볼 수 있다. 저 폰제어 회전 사용을 누르면 카메라의 위치가 내가 설정한 요값 -20이 되는게 아니라 폰이 보는 방향을 기준으로 잡히기 때문에 무조건 사각형으로 보인다

요런 느낌으로 말이다.

 

'언리얼엔진 > 언리얼 C++' 카테고리의 다른 글

GamePlayTag와 Data Asset  (1) 2024.10.16
Character와 카메라가지고 장난쳐보기  (0) 2024.10.14
Pawn의 Input  (0) 2024.10.12
Pawn  (2) 2024.10.12
상대좌표와 엑터의 계층구조  (1) 2024.10.11