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

SouthCreate님의 프로필 이미지
SouthCreate

작성한 질문수

언리얼 블루프린트 액터(폰) 이동 로직 질문

작성

·

169

0

폰 클래스로 프리캠을 구현 중입니다.

향상된 입력 시스템을 통해 W, A, S, D로 Vector 2D 값을 받아서

Cam Move Speed라는 float형 변수를 곱해 카메라의 이동 속도를 제어하고 싶은데요.

마우스 휠 스크롤로 게임 실행 중에 Cam Move Speed를 변화시키고 싶어서 아래와 같이 추가로 짰습니다.

여기서 질문입니다.

 

Print String으로 현재 액터의 이동속도를 실시간으로 구하면 마우스 휠 스크롤 시 이동 속도 수치는 변하는데

실제로 카메라 이동속도의 변화가 체감되지 않습니다. (눈으로 보기엔 계속 같은 속도로 이동하는 것처럼 보임.)

 

상단 흰 텍스트로 된 숫자도 Cam Move Speed를 출력하고 있는 UI인데

초기값을 100으로 하고 마우스 휠로 올려 저렇게 8만씩이나 높여도 속도가 그대로입니다.

 

왜 Cam Move Speed 값이 변하고, 액터의 이동 속도가 변한다고 텍스트로 찍히는데도

체감이 안 되는 걸까요?

언리얼 고수님들 명쾌한 해답 부탁드립니다 ㅠㅠ

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

SouthCreate님의 언리얼 블루프린트 관련 질문에 대해 답변 드리겠습니다.

문제 상황을 보면, Cam Move Speed 값이 마우스 휠 입력을 통해 변경되고 이에 따른 액터의 이동속도도 프린트 스트링을 통해서 실시간으로 확인이 가능함에도 불구하고 실제 게임 내에서 체감되는 속도 변화가 없다는 점입니다.

이 문제의 원인으로는 몇 가지를 추정할 수 있습니다:
1. Cam Move Speed 값을 변경하는 로직은 올바르게 작동하지만, 이동 로직 자체에서 Cam Move Speed 값을 제대로 활용하지 않고 있을 수 있습니다. 이동 로직에서 Cam Move Speed 값이 실제 이동 계산에 영향을 주고 있는지 확인이 필요합니다.
2. Cam Move Speed가 너무 높거나 낮은 값으로 설정되어 있어, 물리 엔진이나 게임 엔진의 한계로 인해 체감되는 속도 변화가 없을 수 있습니다. Unreal Engine에서는 특정 값 이상으로 이동 속도가 설정되어도 실제 환경에서 그 속도를 체감하기 어렵거나, 물리 엔진이 제대로 처리하지 못하는 경우가 있습니다.
3. 게임의 다른 요소나 로직이 Cam Move Speed의 영향을 받지 않도록 오버라이딩 하고 있을 수 있습니다. 예를 들어, 매 프레임마다 이동 속도를 특정 값으로 재설정하는 로직이 있을 경우, Cam Move Speed 값의 변경이 무의미해질 수 있습니다.

해결 방안으로는 다음과 같은 접근을 시도해 볼 수 있습니다:
- 이동 속도를 제어하는 부분의 블루프린트를 철저하게 검토하여 Cam Move Speed 값이 실제 이동 계산에 사용되고 있는지 확인하세요.
- Cam Move Speed의 범위를 조정하여 테스트해 보세요. Unreal Engine의 물리 엔진이 적절하게 처리할 수 있는 범위 내에서 속도값을 변경해 보는 것이 좋습니다.
- 게임 내 다른 로직 또는 설정이 Cam Move Speed의 영향을 무시하거나 변경하지 않도록 하는지 확인하세요.

실제 이동 속도가 체감되지 않는 문제는 종종 복잡한 여러 요소가 얽혀 있어 단순히 한 가지의 원인으로 귀결되지 않을 수 있습니다. 위에서 제안드린 접근법을 통해서 문제의 원인을 좁혀가며 해결해 보시길 바랍니다.

추가적인 도움이 필요하시면, 언제든 질문해 주시기 바랍니다.

SouthCreate님의 프로필 이미지
SouthCreate

작성한 질문수

질문하기