강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

김보성님의 프로필 이미지
김보성

작성한 질문수

2025 언리얼 공인강사 – UE5 스파르타 클래스: 심화편

컨트롤릭 활용편 보완하기

컨트롤릭관련질문

해결된 질문

작성

·

49

0

안녕하세요 강사님!

강의에서 이해가 되지 않는 부분과 구현 관련해서 2개의 질문이 있습니다.

강의에서 이해되지 않는 부분은 강의 14초경 특정 물체를 바라보는데 고개가 뒤집히는 현상이 있잖아요.
그냥 바로 해당 물체의 위치를 건네줬을 때는 고개가 뒤집히는 문제가 발생했고
블루프린트 내에 구체를 만들어 해당 구체의 위치를 뽑아서 해당 위치를 바라보게 세팅해서 그 문제를 해결했는데

이게 뭔 차이인지를 모르겠습니다. 컨트롤릭에 해당 위치 벡터를 전달할 때 둘 다 월드상에 있는 좌표로 변환되어 전달하므로 똑같은 거 아닌가요?

-------------

구현 관련 질문입니다.
구현하고자 한 기능은 캐릭터가 조준을 하고 있지 않을 때, 카메라가 바라보는 방향으로 바라보게 만들면서 특정 각도를 넘어간다면 그냥 정면을 바라보게끔 하는 것입니다.

여기서 캐릭터가 스폰된 직후의 정면 벡터에서 왼쪽으로 움직이고 그 방향을 바라본다음 마우스를 돌려 에임오프셋을 조절하는 경우는 정상적으로 잘 작동하는데
나머지 다른 방향에서 바라보는 경우에는 얼굴이 뒤집혀서 작동을합니다

1. 정상

image.png


2. 비정상

image.png


컨트롤릭에 있는 스켈리톤와 실제 엑터가 바라보는 방향과 같다면 정상적으로 작동하는 것 같다고 추측하고 있습니다.
이런 상황에서 좀 골머리를 앓고 있는데 어떻게 해결해야하는걸까요? 시간을 너무 많이 쓰는것같아 질문드립니다. ㅠ

-------
구글드라이브 링크
https://drive.google.com/file/d/1tZqaSfJt1aqpmpp4Yp2Vl6iMDFvqQ3zR/view?usp=sharing











답변 2

0

YAL님의 프로필 이미지
YAL
지식공유자

안녕하세요 김보성님 답변드리겠습니다. 🙂

  1. 우선 저희 첫번째 예제는 한번 저장했던 위치를 타이머에서 n초마다 애님BP에 넘겨주는 것이기 때문에 그 초가 끝나기전에 몸을 돌려도 계속 그곳만 바라보고있죠. 그래서 어차피 AnimBP안에 Update하는 부분은 매프레임 실행이 되기때문에, 위치를 매프래임 받아와서 바뀐 위치도 바로바로 쳐다보게 만드는 강의였습니다.

  2. 두번째 프로젝트를 한번 열어보았습니다. 김보성님 의도는 먼곳에 바라보는 위치를 만들어서 고개를 따라 움직이시려고 하는 것 같았는데요. 구현하고자 하시는 기능인 "캐릭터가 조준을 하고 있지 않을 때, 카메라가 바라보는 방향으로 바라보게 만들면서 특정 각도를 넘어간다면 그냥 정면을 바라보게하는" 이 코드를 제거하고 봐도 제대로 된 곳을 바라보지 못하고 있더라구요. 그래서 디버깅을 해본결과 마우스를 움직였을 때 바라봐야 하는 곳이 마우스를 따라오지 않습니다. 우선 다른 코드들은 주석처리해주시고, m_lookLocation이 마우스를 잘 따라오는지 확인부터 한 다음 머리가 제대로 움직이는지 코드를 먼저 확인하신다음에 다음 원하는 코드를 넣으시면 될 거 같습니다!

감사합니다!

 

김보성님의 프로필 이미지
김보성
질문자

혹시 추가 질문 및 부가 설명 드려도 될까요?
캐릭터를 바라봐야할 lookLocation의 위치는 정확하고, 월드 상에서 캐릭터도 y를 향하게 바라보고 있을 때는 정상적으로 마우스도 잘따라간단말이죠.. (컨트롤릭에서 스켈레톤이 y를 향해 바라보고 있음 )

image.png


image.png



그래서 그 location을 전달받는 부분이 문제가 있나 싶어서 보고있는데 5.6 기준으로 컨트롤릭을 설정할 때, Rotation 인자가 추가되어 있더라고요? 강사님 강의에서는 그 인자가 없었거든요? 이 부분이 원인인거 같기도 한데 길피를 못잡겠네요

image.png


이게 아니라면 컨트롤릭의 스켈레톤이 바라보는 방향도 같이 동기화시켜주면될꺼같은데 그렇게 하는게 맞나 싶기도하고, 그렇게하는 방법은 또 어떻게 되는지도 잘모르겠습니다.ㅠ

YAL님의 프로필 이미지
YAL
지식공유자

음 저 새로받는 Rotation값이 문제인지, 높은 버전으로 인한 오류인지 모르겠어서 제가 방금 5.6버전으로 테스트 해봤습니다.


 

AnimBP

image.png

여기서 간단하게 플레이어 앞으로 쏘는 Vector 만들었구요.


Control RIg

image.png

그대로 넘겨 받아서 사용했습니다.


 

image.pngimage.png

 

image.png

 

 

Rotation값과 무관하게 잘 실행이 되는걸로 보입니다. 다른 방향으로 코드를 한번 짜보시고, 프로퍼티 매크로 누락 같은 것이 없는지 확인해보시고, 코드 실수가 없었다면 정도로 확실한 상황에는 그냥 높은 버전으로인한 엔진오류가 맞습니다..

 

이럴 경우에는 코드를 우회해서 짜거나 지금 현재 블루프린트로는 가능한 거 같으니 블루프린트로 진행해보세요. 제가 발견한 5.6버전 오류만 해도 벌써 2~3개는 되는 거 같습니다. 조금 지나면 에픽게임즈에서 발견하고 업데이트하는 경우가 종종 있으니 조금만 기다려주세요.

김보성님의 프로필 이미지
김보성
질문자

답변 감사합니다
내일 한번 다시 검사해보겠습니당

0

안녕하세요, 인프런 AI 인턴입니다. 김보성님.

먼저, 강의 내용과 관련된 질문에 대해 답변드리겠습니다.

  1. 강의의 특정 물체 바라보는 이슈:

    • 문제의 원인은 컨트롤릭에 물체의 위치와 구체의 위치를 전달하는 방식이 달라서입니다. 동일한 월드 좌표를 사용한다고 하더라도, 구체를 중간에 사용하는 것은 보정 역할을 해줄 수 있습니다. 이는 물체의 위치와 구체의 위치를 구분하여 처리하여 예상치 못한 중간 포인트를 처리하게 되는 것입니다. 구체를 사용함으로써 컨트롤릭에서 고개가 뒤집히는 현상을 보다 자연스럽게 해결할 수 있는 이유가 됩니다.
  2. 구현 관련 질문:

    • 에임오프셋이 특정 방향에서 뒤집히는 문제는 보통 회전값의 처리방식에서 비롯됩니다. 아트리아드에서 특정 회전 각도나 축을 넘으면 회전 방향이 뒤집히는 경우가 있습니다. 이 같은 문제는 보통 다음과 같은 방법으로 해결할 수 있습니다:
      • 스켈리톤의 정렬: 캐릭터의 스켈리톤과 실제 액터가 같은 회전 기준을 가지도록 정렬해야 합니다.
      • 회전 보간 처리: 회전값을 부드럽게 보간하여 큰 각도 변화 시에도 자연스럽게 회전하도록 합니다.
      • 역학적 설정 조정: 특정 각도에서의 회전이 적절히 제한되도록 설정합니다.

위의 해결 방법을 저의 답변과 함께 참고하셔서 시도해보시길 권장드립니다.


아래의 질문 및 답변은 유사한 문제와 해결책을 지닌 사례들을 포함하고 있으며, 상황에 도움될 정보를 제공할 수 있습니다:

  • 에임오프셋 관련 질문: 문제 해결에 대한 힌트를 얻을 수 있으며, 블렌드 및 회전 보간 처리에 대한 설명이 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김보성님의 프로필 이미지
김보성

작성한 질문수

질문하기